タグ付けされた質問 「magento2」

Magento 2に関する一般的な質問。マイナーバージョンに固有ではありません。このタグを使用してMagento 1と区別します。特定のバージョンに問題がある場合は、代わりに適切な「Magento-2.x」タグを使用してください。Magento 2のマイナーバージョン間の機能は異なる場合があります。

1
Magento 2:不変状態のデータオブジェクトを作成しますか?
別のMagento 2のコメントをダブテールにする 計算された値を共有する必要がある場合は、計算動作を配置してオブジェクトを分離し、その値を必要とするブロックから呼び出します。レジストリはグローバルな変更可能な状態であり、そこから何が得られるか確信が持てないため、推奨されません。 Magento 2で不変状態のオブジェクトを作成する方法はありますか?レジストリ(Magento\Framework\Registry)はグローバルな変更可能な状態であるため、register使用しないことをお勧めします(この方法では既存のキーを変更できないが、そのキーを設定解除してリセットできるためと考えられます)。 ただし、Magento 2のすべてのオブジェクトに同じ問題が存在します。オブジェクトを作成する場合 namespace Pulsestorm\Helloworld\Model; use Magento\Framework\DataObject; class ViewVars extends DataObject { } 次に、自動コンストラクタ依存性注入により、誰でもその共有オブジェクトを取得できるようになります。オブジェクトが共有されていない場合、ビュー/ブロックはオブジェクトを取得できません。 理論的には、次のようなことができます namespace Pulsestorm\Helloworld\Model; class ViewVars { protected $_data=false; protected function setData($data) { if($_data) { throw new Exception("Immutable"); } $this->_data = $data; } public function getData() { return $this->_data; } } しかし、それはビューの個々の変数を設定するのと同じくらい一般的なタスクの多くの作業のようです。Magento 2で、知らない不変のデータオブジェクトを作成するより良い方法はありますか?

2
magento 2でカスタムモジュールjsファイルをロードする方法
magento 2用のバナースライダーモジュールを作成しました。JSファイルを次の方法で呼び出し、正常に動作しました。ブロッククラスで次の関数を作成しました public function getBaseJs($fileName){ return $this->_storeManager->getStore()->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_MEDIA ).'bannerslider/js/'.$fileName; } この関数はbannerslider.phtml、次のようにファイルで呼び出されます。 <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery-1.7.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery.flexslider.js') ?>"></script> しかし、require.jsHow do can do it itのjQuery依存メカニズムによると?

2
Magento 2:最小のComposerファイル
Magento 2への最近の変更によりcomposerを介してベンダーディレクトリにモジュールをインストールすることが可能になり、Magento 2はシンボリックリンクするtomfooleryなしでモジュールを見ることができるという、恒久的なインターネット(つまりTwitter)の周りに浮かんでいるものをいくつか見ました。 これに該当する場合composer.json、モジュール開発者がモジュールで使用してMagento 2ユーザーがシステムにインストールできるようにするための「最小」ファイルが浮かんでいますか?

3
magento2でカスタムモジュールを作成すると致命的なエラーが表示される
magento 2でカスタムモジュールを作成する作業をしていますが、機能しません。どこが間違っているのか教えてもらえますか? 私のモジュールコード: app / etc / config.php: 'modules' => array ( 'Ramesh_Sample' => 1, ), app / code / Ramesh / Sample / etc / module.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"> <module name="Ramesh_Sample" schema_version="2.0.0"> </module> </config> app / code / Ramesh / Sample / etc / frontend / routes.xml …


4
magento2を使用しているREST APIで詳細を含む製品リストを取得するにはどうすればよいですか?
ネイティブモバイルアプリケーションに取り組んでいて、顧客がカテゴリを選択した後に製品を表示したい。残りのリクエストでカテゴリ別に製品のリストを取得できますが、そのリストには製品の詳細があまりありません。 Request : http://localhost/magento2/index.php/rest/V1/categories/24/products (24はカテゴリーIDです) Response : [{"sku":"WH01","position":1,"category_id":"24"},...] 以前のMagento 1.9製品リストは次のようなものでした { 2:{ entity_id: "2" type_id: "シンプル" sku:「リーバイスバッグパック」 説明:「バッグパック」 short_description: "バッグパック" meta_keyword:null 名前:「リーバイスバッグパック」 meta_title:null meta_description:null regular_price_with_tax:45 regular_price_without_tax:45 final_price_with_tax:45 final_price_without_tax:45 is_saleable:true image_url: "http://172.16.8.24:8080/magento/media/catalog/product/cache/0/image/9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/placeholder/image.jpg" }- モバイルアプリで画像などを表示できるように、製品に関する詳細情報を取得するにはどうすればよいですか?
9 api  magento2  rest 

4
Magento2の管理テーマを作成する方法
このメソッドはMagento 1では機能しますが、Magento 2(バージョン0.42.0-beta10)では機能しません。http: //www.magentocommerce.com/wiki/4_-_themes_and_template_customization/admin/using_custom_admin_theme_templates
9 admin  theme  magento2 

3
Magento 2で生成されるクラス(のタイプ)は何ですか?
Magento 2には、自動的に生成されて保存される一連のクラスがありvar/generation、コアコードで使用されます。 コアモジュールの1つを複製してカスタムモジュールを作成しようとしているときに、モジュールにもいくつかの生成されたクラスがあることがわかりました。 生成されたクラスでは、プロキシ、インターセプター、ファクトリーなどを見てきました。 自動生成されるクラスまたはクラスのタイプの完全なリストはありますか? そして副次的な質問として...いつ/どこで生成されますか?
9 magento2  class 

2
オブジェクトマネージャーファクトリーを介したMagento 2のインスタンス化クラス
magento 2では、クラスはオブジェクトマネージャーファクトリを使用してインスタンス化されます \Magento\Framework\ObjectManager\Factory\Factory::create()。 これまでのところgoo。しかし、ここで私が理解できないことがある。 DIのコンストラクターに渡す必要がある引数に循環参照がないかどうかを確認した後、引数が決定された後、これ$argsがあります(コンストラクターに渡す必要がある引数です)。 switch (count($args)) { case 1: return new $type($args[0]); case 2: return new $type($args[0], $args[1]); case 3: return new $type($args[0], $args[1], $args[2]); case 4: return new $type($args[0], $args[1], $args[2], $args[3]); case 5: return new $type($args[0], $args[1], $args[2], $args[3], $args[4]); case 6: return new $type($args[0], $args[1], $args[2], …


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 …

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