タグ付けされた質問 「magento-2.0」

Magento CE / EEバージョン2.0に関連する質問を示します

4
抽象モデルの非推奨の保存およびロードメソッド
Magento 2リポジトリの開発ブランチでは、メソッドloadとsavefrom Magento\Framework\Model\AbstractModelクラスが非推奨になっていることがわかります。 しかし、コアには、このクラスを拡張してandを使用する膨大な数のクラスがsaveありloadます。 エンティティのCRUD部分に独自のモジュールを作成するとき、コアモジュールと同じガイドラインに従います。 しかし、これらのメソッドは非推奨であるため、将来に備えたいと思います。 それらの代わりに何を使うべきですか?または、他の何かを拡張する必要がありますか?

4
Magento 2:顧客セクション/sections.xmlはどのように機能しますか?
最近、Magento 2の新しいコンセプトに出くわしました。それは顧客のセクションです。 一部のsections.xmlユーザーは、次のようなファイルの存在に気付いているかもしれません。 <?xml version="1.0"?> <!-- /** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd"> <action name="sales/guest/reorder"> <section name="cart"/> </action> <action name="sales/order/reorder"> <section name="cart"/> </action> </config> 私が理解したことから、これらのファイルは、対応するアクションが呼び出されたときに更新される顧客セクションを指定します。 たとえばMagento/Checkout/etc/frontend/sections.xml、次の部分に気付きました。 <action name="checkout/cart/add"> <section name="cart"/> </action> 商品をカートに追加した後、ミニカートの更新をトリガーするものです。 etc/frontend/sections.xmlその機能をテストするために、次のファイルを使用してカスタムモジュールを作成しようとしました。 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" …

11
Magento 2のカスタムCLIコマンドの「エリアコードが設定されていません」問題
データの更新中に次のエラーが発生します CustomerRepositoryInterface [Magento\Framework\Exception\SessionException] Area code not set: Area code must be set before starting a session. [Magento\Framework\Exception\LocalizedException] Area code is not set 以下は私のdi.xmlファイルです <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Framework\Console\CommandList"> <arguments> <argument name="commands" xsi:type="array"> <item name="test1_command" xsi:type="object">Test\Module\Console\Command\Test1Command</item> <item name="test2_command" xsi:type="object">Test\Module\Console\Command\Test2Command</item> </argument> </arguments> </type> </config>

2
Magentoイベントオブザーバー:シングルトンとモデル
そのため、Magentoはオブザーバーを宣言する2つの方法を提供します。シングルトンとモデル(新しいインスタンス)<type>。Magento1.xでタグを指定しshared、Magento 2で属性を指定します。 Magentoの1つの方法。 <events> <event_name> <observers> <unique_observer_name> <type>model|object|singleton|null</type> <class>class/alias_here</class> <method>methdNameHere</method> </unique_observer_name> </observers> </event_name> </events> Magento 2バージョン: <event name="event_name"> <observer name="unique_observer_name" instance="Class\Name\Here" method="methodNameHere" shared="true|false" /> </event> そのため、Magento 1の場合、<type>タグがモデルまたはオブジェクトの場合、クラスはでインスタンス化されMage::getModel()ます。存在する場合、singletonまたは存在しない場合は、を使用してインスタンス化されますMage::getSingleton()。 Magentoの2の場合には、IFがsharedありfalse、その後使用してインスタンス化されたクラス$this->_observerFactory->create() (新しいインスタンス)。trueの 場合、(シングルトン)sharedを使用してインスタンス化されます$this->_observerFactory->get()。 2つのバージョン間でのイベントオブザーバーの考え方は非常に似ていますが、Magento 1のほとんどのオブザーバーはシングルトンとして使用されます。typeタグがないため、Magento 2のほとんど(すべて)がオブザーバーshared="false"です。 私は困惑しています。いつシングルトンを使用し、オブザーバーに新しいインスタンスを使用する必要がありますか? Magentoバージョン(1または2)はここでは重要ではありません。 シンプルなユースケースは、各アプローチ(新しいインスタンスまたはシングルトン)で行います

3
Magento 2でカスタムモジュールのサービスコントラクトを実装する方法
この記事で見られるように:非推奨に保存し、抽象モデルの負荷メソッドsaveとloadメソッドはMagentoの2に廃止されましたが、分岐を開発しています。 したがって、CRUDエンティティを処理するサービスコントラクトを実装することをお勧めします。 カスタムモジュールエンティティのサービスコントラクトを実装するために必要なステップバイステッププロセスは何ですか? NB:私のCRUDモデルには数千のメソッドが存在する可能性があることを知っています。ここに記載されているように、明らかなメソッドを求めています:http : //devdocs.magento.com/guides/v2.0/extension-dev-guide /service-contracts/design-patterns.html: get save getList delete deleteById

16
Magento 2 CSSおよびJavaScriptが正しいフォルダーからロードされない
ここの誰かが助けてくれることを望んでいます。Windows 7マシンのWAMPにMagento 2をインストールして実行しようとしていますが、ほとんど成功していません。 サイトをロードするために多くのさまざまなフープを介してジャンプした後、私は404応答に直面していますが、スタイルやjavascriptのロードはありません。 仕様は次のとおりです。 Magento-CE-2.0.0 +サンプル Apache 2.4.9 PHP 5.5.12 MySQL 5.6.17 エラーの中でブラウザコンソールを見ると、pub / staticフォルダにないファイルにアクセスしようとしています。「フロントエンド」フォルダーはロードされ、ほとんどのファイルが存在します。ただし、一部のCSSファイルが存在しないことに気付きました。 PHPデプロイコマンドの実行時 php bin/magento setup:static-content:deploy それは他の投稿で言及されていますが、私は以下のエラーを受け取ります。これを修正する方法がわかりませんか? 致命的エラー:45行目のC:\ wamp \ www \ magento \ vendor \ oyejorge \ less.php \ lib \ Less \ Visitor.phpで134217728バイトのメモリサイズを使い果たしました(64バイトを割り当てようとしました)。 どんな援助も大歓迎です。 更新 PHPのメモリ許容量を増やして、php deployスクリプトを再度実行しました。今回はエラーにならず、完全に実行されました。ただし、上記と同じ問題が依然として存在します。サイトはロードされますが、ページまたはアセットをロードしようとすると、スタイリングが適用されずに404ページが見つかりませんというエラーが発生します。 以下のChrome Inspectorのエラーをご覧ください

1
2.0.9の前にMagento 2.1.0がリリースされるのはなぜですか?
Magentoは6月23日に2.1.0をリリースしましたが、その後2.0.8(7月)および2.0.9(8月)をリリースしました。(https://github.com/magento/magento2/releases) なぜ彼らはより低いバージョンをリリースするのですか?誰かが理由を知っているなら、私に知らせてください。私はすでに2.1.0にアップグレードしており、これらの新しいリリースが近づいています。

5
Magento 2でデフォルトモードに戻れないのはなぜですか?
そのため、Magento 2プロジェクトで次のコマンドを使用して開発しているときに、開発者モードに切り替えました。 php bin/magento deploy:mode:set developer すべての良い、私はこのメッセージを受け取り、ウェブサイトをうまく開発しました: 現在のアプリケーションモード:開発者。 何らかの理由で、defaultこのモードでWebサイトの動作を確認するためだけにモードに戻りたいと思いました。正直に言うと、特別な理由はありません。このモードに切り替えたかっただけです。 そこで、次のコマンドを実行しました。 php bin/magento deploy:mode:set default しかし、私はこれ以上の説明なしでこの奇妙なエラーを受け取りました: Cannot switch into given mode "default" モード設定を処理する次のファイルを確認しましたが、次のファイルMagento/Deploy/Console/Command/SetModeCommand.phpが見つかりました。 switch($toMode) { case State::MODE_DEVELOPER: $modeController->enableDeveloperMode(); break; case State::MODE_PRODUCTION: if ($skipCompilation) { $modeController->enableProductionModeMinimal(); } else { $modeController->enableProductionMode(); } break; default: throw new LocalizedException(__('Cannot switch into given mode "%1"', $toMode)); …

3
Magento 2:インタラクションの前後/前後のプラグイン
Magento 2で、「around」プラグインを作成するとき public function aroundRenderResult( \Magento\Framework\Controller\ResultInterface $subject, \Closure $proceed, ResponseHttp $response ) { //... $proceed($response); //... } 渡されたメソッドを呼び出し/呼び出すことで、実際の元のメソッドの呼び出しで終了するプラグインの周りの次のステップに進むことができます$proceed。これは、PHPフレームワークのミドルウェア実装でよく見られる一般的なデザインパターンです。 ただし、実装の詳細に多少の混乱があります。具体的には 場合は、に加えてaroundPlugin、オブジェクト/クラスが持っているbeforeかafter、定義されたプラグインをするとき、彼らはプラグイン周りのチェーンに関連して火災のですか? すなわち、すべてのbeforeメソッドは、Aroundプラグインメソッドが起動する前に起動しますか?または、プラグインが最終的な実際の実際のメソッドが起動する前にのみ起動しますか? 私が突き止めようとしている特定の問題は、Magentoがフルページキャッシュモードのときに、Magento 2フロントコントローラーのディスパッチメソッドにプラグインを接続できないように見えることです。フルページキャッシュは、を呼び出さない aroundプラグインによって動作します$proceed($response)。私はこれらのプラグインを取り巻くコードのいくつかを掘り下げてみましたが、そのプラグインがどのように機能するかを知らずにシステムを推論することは困難であることがわかりました。 つまり、dev docsページの説明は、この1つの特定のインスタンスでは不正確であるように見えます。ドキュメントが間違っているのか、これが最近導入されたバグなのか、エッジケースなのか、プラグインの設定が間違っているのかは不明です。 この優先順位付けがどのように機能するのか、直接観察することにより、または文化的知識により、誰もが知っていますか?

2
Magento2は特定のExtensionFactoryおよびExtensionAttributeInterfaceをどのように生成しますか?
引用アイテムなどの拡張属性を使用して、頭を包み込みたいと思います。 Magento 1のようなセットアップクラスを使用して、このようなエンティティにカスタム属性を追加しても問題ありません。これはこの質問の目的ではありません。 現時点では、エンティティAPIを介して拡張機能によって拡張属性として追加されたこのような属性を公開したいときに、この魔法に圧倒されます。 更新:通常のファクトリがどのように生成されるかを知っています。この質問は、生成された拡張属性インターフェースの生成された実装をインスタンス化する特別なファクトリーに関するものです。 これを機能させるために私がとるステップは次のとおりです。私はこれらを追加するので、答えようとする人は誰でもそれらの詳細に入る必要はありません。 私の質問はどのようにか、なぜそれが動作します。 エンティティAPIを介して拡張属性を公開する手順: etc/extension_attributes.xmlエンティティインターフェイスに属性を追加するを作成します エンティティExtensionAttributesインスタンスに属性値を追加するプラグインを作成します。 2番目のポイントを実行するには、エンティティExtensionAttributesインスタンスが必要です。このため、プラグインはファクトリに依存します。ファクトリは、オブジェクトマネージャがDIを介して提供します。 見積品目の例Magento\Quote\Api\Data\CartItemExtensionFactoryを使用する必要があります。 私はこの工場のタイプが何らかの形で生成魔法の引き金になっているに違いないと思います。 その後、Magentoは\Magento\Quote\Api\Data\CartItemExtensionInterface、すべての拡張属性のセッターとゲッターとの一致するインターフェースを生成します。 ただし、そのインターフェイスの具体的な実装は生成されないようです。少なくともPHPStormはそれを見ていません。 Magentoは、クラスを生成するために必要な情報をどのように収集しますか?生成されたインターフェイスメソッドは、具体的なインスタンスでどのように呼び出すことができますか?メモリのみで生成されるクラスですか? 私はそれが機能することを嬉しく思いますが、それは本当に満足のいくものではありません。拡張機能によって自動的に作成された属性を使用するMagentos機能は、その成功の重要な要因の1つです。モジュール開発者として、プロセス全体を完全に理解する必要があると思います。 時間があれば、自分でこれを掘り下げたいと思いますが、説明が得られればいいと思います。 UPDATE 2:通読するために少し時間がかかった\Magento\Framework\Api\Code\Generator\ExtensionAttributesInterfaceGeneratorと\Magento\Framework\Api\Code\Generator\ExtensionAttributesGenerator。今、私は少なくとも何が起こっているのか大まかな考えを持っています。誰も私に勝てない場合、私はそれが有用な参考になると思うので、ある時点で完全なプロセスの説明を書きます。

14
Magento 2は、コードをコンパイルするときにメモリ不足エラーを許可
モジュールを追加するとエラーが発生します。 Magentoのコンパイルコマンドを再実行してください だから私はコマンドの下で実行しますが、ルートからコマンドを実行すると以下のエラーも表示されます php magento setup:di:compile Compilation was started. %message% 0/7 [>---------------------------] 0% 1 sec 37.0 MiB%message% 0/7 [> ---------------------------] 0% 1 sec 37.0 MiBProxies code generation... 0/7 [ >---------------------------] 0% 1 sec 37.0 MiB Proxies code generation... 1/7 [====>-----------------------] 14% 47 secs 43.5 MiB Repositories code generation... 1/7 [====>-----------------------] …

3
Magentoのアップグレード後のエラー
CLIでこのコマンドを実行した後 php bin/magento setup:upgrade エラーが発生しています-: Fatal error: Uncaught exception 'Magento\Framework\Exception\LocalizedException' with message 'Can't create directory /var/www/html/magento/magento2.0/var/generation/Magento/Framework/App/ResourceConnection/.' in /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator.php:103 Stack trace: #0 /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator/Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('Magento\\Framewo...') #1 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Magento\\Framewo...') #2 [internal function]: spl_autoload_call('Magento\\Framewo...') #3 /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Reader/ClassReader.php(19): ReflectionClass->__construct('Magento\\Framewo...') #4 /var/www/html/magento/magento2.0/vendor/magento/framework/ObjectManager/Definition/Runtime.php(44): Magento\Framework\Code\Reader\ClassReader->getConstructor('Magento\\Framewo...') #5 /var/www/html/magento/magento2.0/vendor/magento/framework/ObjectMana in /var/www/html/magento/magento2.0/vendor/magento/framework/Code/Generator.php on line 103`

4
Magento 2のテーマ-最初から始める
皆さんの中には、Magento 1のテーマに関する最初からテーマに関するトピックを読んでいる人もいるかもしれません。テーマ-最初から始める Magento 2のテーマをゼロから開発するためのベストプラクティスは何でしょうか? ネイティブlumaまたはblankテーマを使用してビルドしますか?または他に何か? テーマの開発に役立つ拡張機能を使用していますか? テーマをゼロから開発する場合、どの手順に従いますか?

3
Magento 2でデフォルトの製品画像サイズを変更するにはどうすればよいですか?
でMagentoの1.xxの、我々は管理者に画像のサムネイルデフォルトを変更できます。 システム>設定>カタログ しかし、magento 2.0では、これらの値を変更するにはどうすればよいですか?これを許可する設定は見つかりませんか?問題は、私の製品画像が大きな白い縞模様で表示されていることであり、これを防止したいのです。

2
Magento 2:標準のGrid.phpよりもUIグリッドコンポーネントを使用する利点は何ですか?
そのため、Magento 2はUIコンポーネントを導入しました。 それらの1つはUIコンポーネントグリッドです(詳細については、Magento 2のUIコンポーネントグリッドの説明を参照してください)。 カスタムモジュールを作成するとき、古いMagento 1のメソッドにこだわってGrid.php、adminhtmlグリッドを処理するファイルを作成しました。 Grid.phpメソッドの代わりにUIコンポーネントグリッドを使用する利点は何ですか?

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