Magento

Magento eコマースプラットフォームのユーザー向けのQ&A

1
session_write_closeが呼び出された後、セッションメッセージをどのように追加しますか?
私たちは、Unirgyの優れたuRapidFlowモジュールを使用していますが、少し不快に感じました。いずれかのプロファイルを実行すると、が呼び出されますsession_write_close。これの問題は、adminhtmlコントローラーからプロセスを実行したい場合、セッションフラッシュメッセージを設定してユーザーに成功またはキャッチされた例外を通知できないことを意味します。 セッションメッセージを追加するために、プロセスの完了後にセッションを再開することはできますか? PHPでセッションを再開できるかどうか最初はわかりませんでしたが、PHPの概念実証は機能します。 session_start(); // if this is the second run, show the value if (!empty($_SESSION['foo'])) { echo $_SESSION['foo'], PHP_EOL; } // set an initial value $_SESSION['foo'] = 'bar'; // start running profile session_write_close(); // after running profile session_start(); // set a value to see if it takes $_SESSION['foo'] = …

4
Magento Observerイベント-操作の順序
catalog_model_product_duplicateイベントに機能を注入しようとしています。このモジュールの一部は、複製された製品の在庫状況も複製されるようにすることです。現在はそうではありません。 CatalogInventoryこのイベントを観察し、いくつかの標準的な株式情報を設定しているのがわかります。地元の人より先にコアイベントが解決されることを保証できますか?ここで信頼できる操作の順序はありますか?


2
1ページのチェックアウトにログインするためのブロックの追加
チェックアウトプロセス中に追加のログインオプションを追加しようとしました。現時点では、ユーザー名/パスワードの方法があります。OAuthプロセス(私の場合はGithub)を介してログインするボタン画像を追加したいと思います。 私は方法を見つけましたが、それは最善の方法ではありません。checkout / onepage / login.phtmlテンプレートファイルには、という名前のブロックの子を取得するための呼び出しがありますform.additional.info。 この方法で自分のブロックを挿入しようとしましたが、機能しませんでした。 <checkout_onepage_index> <reference name="form.additional.info"> <block type="core/template" name="login_github_button" as="login.github.button"> <action method="setTemplate" ifconfig="github/config/enabled"> <template>github/customer/login.phtml</template> </action> </block> </reference> </checkout_onepage_index> captchaモジュールによって行われるような別の方法を見つけました: <checkout_onepage_index> <reference name="checkout.onepage.login"> <block type="core/text_list" name="form.additional.info"> <block type="core/template" name="login_github_button" as="login.github.button"> <action method="setTemplate" ifconfig="github/config/enabled"> <template>github/customer/login.phtml</template> </action> </block> </block> </reference> </checkout_onepage_index> この場合は機能しますが、キャプチャは表示されません。複数のブロックをform.additional.infoブロックに挿入するにはどうすればよいですか? ご協力いただきありがとうございます 編集: 参照form.additional.infoメソッドを使用すると、ログインフィールドの下にボタンが表示されない理由がいくつか見つかりました。代わりに、チェックアウト請求ビューに表示されます。 ブロックform.additional.infoは、ブロックのcaptchaモジュールによって作成され、checkout.onepage.login次にブロックに対しても作成されますcheckout.onepage.billing Mage_Core_Model_Layout :: _ …

1
JavaScriptを使用してネイティブクライアントからMagento APIにアクセスする方法
ローカルのJavaScriptベースのアプリケーション(Titanium Desktop)からMagento APIにアクセスする必要があり、そのための最良の方法は何かと思います。 これまでにわかったこと: 認証メカニズムはOAuthのみなので、ユーザーはサイトで資格情報を入力する必要があります JavaScriptクライアントライブラリがあります:https : //code.google.com/p/oauth/source/browse/#svn%2Fcode%2Fjavascript OAuthクライアントとしてのネイティブアプリの場合、OAuth 2ユーザーエージェントフローが推奨されます。 リダイレクトURLは、トークンを抽出またはコピー&ペーストする必要があるローカルページを指す必要があります 質問: 認証メカニズムを、アプリケーションキーとシークレットを使用したHMACベースの認証などに交換することは可能ですか?実証済みのソリューションさえありますか? そうでない場合、OagentユーザーエージェントフローはMagentoで可能ですか?ドキュメントはそれについて言及していません。 AJAXを使用してユーザーの資格情報を送信し(ここではCross-Origin-Policyは問題ではありません)、ユーザーから承認プロセスのほとんどを隠すことはできますか?アクセストークンは、応答から直接抽出される可能性があります。
9 javascript  oauth  api 

4
Magentoの学習用にどのような興味深いモジュールを開発する必要がありますか?
しばらくの間、私はMagentoを勉強しています。かなりの数のモジュールを実行しましたが、それでももう少しトレーニングが必要だと思いますが、できるだけ多くのものを扱うために厳密に行うための興味深いモジュールは考えられません。 これが私が作成したいくつかのモジュールです:ブログ、管理者の電子メール通知、関連製品、製品ビューポップアップ。 それで、誰も私がまだ触れていないこと、または興味深い考え方を学ぶ必要があるモジュールを提案できますか? この質問には、このサイトに必要な100%のQ / A回答フォームが含まれていない場合がありますが、いくつかの提案が得られることを願っています ありがとうございました。 シモンズ:すべてが厳密に教育目的のためです、私はMagentoのすべてのインとアウトを学びたいです。

1
http動詞インターフェースの目的
Magento 2.3では、すべてのhttp動詞用のインターフェースがいくつかあります Magento\Framework\App\Action\HttpPostActionInterface Magento\Framework\App\Action\HttpGetActionInterface、 ... それらはすべて空で実装されていMagento\Framework\App\ActionInterfaceます。 また、それらすべてがapp/etc/di.xmlのパラメーターにマップされてMagento\Framework\App\Request\HttpMethodMapおり、多くのコントローラーがこれらのインターフェースを実装していることもわかりました。 しかし、すべてのコントローラではありません。 それについて私が見つけることができたすべてです。 彼らの目的は何ですか?

5
SodiumChachaIetf :: decrypt()は、ブール型の文字列である必要があります
Magento 1からMagento 2.3.0への移行はすべて問題ありませんが、サイド(フロントと管理者)の両方で顧客フォームを作成すると、同じエラーをクリックして保存すると顧客を編集できないにもかかわらず、復号化に関連するエラーが発生しました。 。 以下のエラーは: 致命的エラー:キャッチされなかったTypeError:Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf :: decrypt()の戻り値は文字列型でなければならず、ブール値はpublic_html / vendor / magento / framework / Encryption / Adapter / SodiumChachaIetf.php:68に返されますスタックトレース:#0 public_html / vendor / magento / framework / Encryption / Encryptor.php(358):Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf-> decrypt( '"\ x10 …


1
Magento 2 REST API-モバイルデバイスアプリケーションでAPI認証ライフサイクルを管理する方法
Magento [2.2.4] Web APIでは、ユーザー名とパスワードを渡すと、特定の顧客のトークンが生成されます(これは1時間のみ有効です-Magento管理者から設定可能です) http://magento.host/index.php/rest/V1/integration/customer/token?username=test.user@test.com&password=test@123 トークンを返します。 トークンを生成した後、そのトークンをヘッダーで渡します。 承認::ベアラー*トークン値* http://magento.host/index.php/rest/V1/customers/me これは顧客の詳細を返します。 上記で説明したケースは、私がPOSTMANでテストしたmagento2のwebAPIで正常に機能しています。 今の場合、 トークンの1時間ごとの再生成およびそのログイン後の1時間ごとの再生成は 、モバイルアプリケーションでは論理的ではありません。 Magentoがモバイルアプリケーションでユーザーログインデータと認証を管理する方法(サービス契約に従ってAPIが開発されている場合) どのくらい私はできるようにすべきであるアクセストークンをして存在し、それはモバイルアプリケーションに有効期限が切れる前に? モバイルアプリケーションで1時間ごとにユーザーを強制的に再認証したくありません。 モバイルアプリケーションのOAuth2 APIトークンのライフサイクルを適切に管理する方法。 アプリケーションとWebではトークンの有効期間が異なるため、アクセストークンの有効期間を変更することは論理的な解決策にはなりません。


2
契約条件の検証(カスタムモジュール)
次のように、T&Cチェックボックスを支払い方法の下に移動し、概要div内の注文ボタンを配置できるようにするカスタムモジュールを作成しました。 これで、支払い方法を選択するたびに、利用規約のチェックボックスをオンにして[注文]を押すと、次のポップアップが表示されます。 私は以下を試しましたが、残念ながら運がありません: Magento 2-チェックアウトでの契約条件の位置の移動 注文を送信した後のAjaxペイロード: モジュールなしでチェックアウトを使用する場合、ペイロードのコンテンツ(支払い情報)は次のようになります。 extension_attributes: {agreement_ids: ["1"]} agreement_ids: ["1"] 私のカスタムモジュールを使用しているとき、それは次のとおりです: extension_attributes: {agreement_ids: [""]} agreement_ids: [""] したがって、それは空です...これはおそらく問題のようです。どうすれば修正できますか? コード module.xml <?xml version="1.0" ?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_Checkout" setup_version="1.0.0"> <sequence> <module name="Magento_Checkout"/> </sequence> </module> </config> checkout_index_index.xml <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <head> <css src="Vendor_Checkout::css/checkout.css"/> </head> <body> <!-- Disabling the T&C checkbox …

14
Magento移行製品エラー:UiComponentFactory-> argumentsResolver( 'created_by'、NULL)
Magento 1.9.3.4をdata-migration-toolを使用してMagento 2.2.2に移行しようとしています。 私はそれをしました、そして、店はlocalhostで働いています。私は顧客、販売、静的なページと製品を持っています。 1つの製品を編集しようとすると、次の致命的なエラーが表示されます。 致命的なエラー:キャッチされなかったTypeError:Magento \ Framework \ View \ Element \ UiComponentFactory :: argumentsResolver()に渡される引数2は、配列がnullである必要があり、D:\ xampp \ htdocs \ magento2 \ vendor \ magento \ frameworkで呼び出されます212行目の\ View \ Element \ UiComponentFactory.phpおよびD:\ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php:164で定義:スタックトレース: 0 …

2
UIコンポーネント-「Ymd H:i:s」形式(ISO時間形式)で時間を表示します
UIコンポーネントごとにいくつかの管理者リストページを作成します。すべての時間列のデフォルトの時間形式は次のようになります。 以下のようなUIコンポーネントコード <column name="created_at" class="Magento\Ui\Component\Listing\Columns\Date"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="filter" xsi:type="string">dateRange</item> <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item> <item name="dataType" xsi:type="string">date</item> <item name="label" xsi:type="string" translate="true">Created At</item> </item> </argument> </column> データベースの時間形式は正しいです(ISO時間形式)。これが表示したいものです。 では、UIコンポーネントで「Ymd H:i:s」形式(ISO時間形式)に時間を表示するにはどうすればよいですか。アドバイスをありがとう:)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.