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

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

2
magento 2 Extensionでコードの重複をチェックする方法は?
Magento 2でモジュールを作成しましたが、Magento Marketplaceで送信しようとしています。私の拡張機能はビジネスレビューとテクニカルレビューから合格しましたが、QAレビューの問題に直面しています。 Magentoマーケットプレイスから、拡張機能でコードが重複しているというメールを受け取りました。以下はメールのサンプルです。 コード品質の問題:CPD:この拡張機能には重複したコードが含まれています。 Marketplaceアカウントで製品にアクセスし、テクニカルレポートを確認したところ、次のことがわかりました。 検出されたコード重複 この拡張機能には、Magentoコードベースから直接コピーされたコードが含まれています。これは、Magento開発者契約のセクション3.1および9.1bに直接違反しています。 File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Edit/Tab/Stores.php Line: 58 File: magento/module-checkout-agreements/magento-module-checkout-agreements-100.0.6.0/Block/Adminhtml/Agreement/Edit/Form.php Line: 122 File: magento/module-cms/magento-module-cms-100.0.7.0/Block/Adminhtml/Block/Edit/Form.php Line: 100 File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Renderer/Files.php Line: 49 File: magento/framework/magento-framework-100.0.16.0/Data/Form/Element/Image.php Line: 86 File: vendor/module/vendor-module-1.0.0.0/Model/ResourceModel/AbstractCollection.php Line: 2 File: magento/module-cms/magento-module-cms-100.0.7.0/Model/ResourceModel/AbstractCollection.php Line: 6 他の拡張機能でこの問題を回避するために、セットアップでコードの重複を確認する方法はありますか?


3
magento 2ミニカートアイテムページのリロードを削除しますか?
ミニカートアイテムを削除するときにページをリロードするにはどうすればよいですか? 私はそれがMagento 2バグであることを知っています。 チェックアウトカートページには、ミニカートと削除したチェックアウトカートページに多くの製品があります。ミニカートでは、コンテンツは更新されません。顧客が商品をカートから削除するページをリロードする必要があります。

4
クラスの場所と名前に関するMagento 2のベストプラクティス
ではMagento 1、私たちは、これらのディレクトリに私たちのクラスを配置するために使用されました ブロック ヘルパー モデル 資源 また、名前の中央に大文字を含まない単純なクラス名を使用します。 いくつかのケースを見てみると Magento 2 Core ヘルパー 場所: - \Foo\Bar\Helper 名前: - *.php 例: - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images オブザーバー 場所: - \Foo\Bar\Observer 名前: - *.php - *Observer.php 例: - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver プラグイン 場所: - \Foo\Bar\Plugin 名前: - *.php - *Plugin.php 例: - \Magento\Catalog\Plugin\Block\Topmenu - \Magento\PageCache\Model\App\FrontController\BuiltinPlugin 出典:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin …


3
Magento 2 StoreManagerInterfaceはコンパイルのコンテキストオブジェクトに既に存在します
拡張機能でこのエラーが発生しています。 PackageName \ ModuleName \ Block \ Enhanced /var/www/html/app/code/PackageName/ModuleName/Block/Enhanced.phpのクラスPackageName \ ModuleName \ Block \ Enhancedの依存関係が正しくありません\ Magento \ Store \ Model \ StoreManagerInterfaceは既にコンテキストオブジェクト public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Session $catalogSession, \Magento\Store\Model\StoreManagerInterface $storeManager, array $data = [] ) { parent::__construct($context, $data); $this->_catalogSession = $catalogSession; $this->_storeManager = $storeManager; }

2
Magento 2でカスタムモデルを読み込む最良の方法
正しい方法を見つけることは私にとって困難だったので、以下であなたが私が作ったベストプラクティスを見つけることができました。楽しんで、必要に応じて英語を修正し、私が間違っていると言ってください。:) 編集: ...そして、私はいくつかの面で間違っていたことがわかりました。だから、ラファエルの答えが私をもっと理解するのを助けてから、元の投稿を更新しました。彼に感謝! 以下で使用される概念: これらの概念に慣れていれば、以下のコードと説明を理解しやすくなります。 インジェクションの依存関係($this->variableコード内のすべての変数がインジェクトされるため) サービス契約とリポジトリ 工場 コンテキスト: より多くのコンテキストを持つために、モジュールが正しく構築されていると想像してください: 方法を含むブロッククラスCustomBlock getCustomModel($id)、 このメソッドは、paramで渡されたIDに基づいてCustomModelオブジェクトを返します。 CustomModelタイプは、モデルに対応します \Vendor\Module\Model\CustomModel このモデルには、そのリソースモデル(\Vendor\Module\Model\ResourceModel\CustomModel)が付属しています およびそのリポジトリ(\Vendor\Module\Model\CustomModelRepository)を使用します。 質問: すべてがCustomModelオブジェクトをロードできるようにするベストプラクティスは何ですか? load()このメソッドは廃止されているため、CustomModelオブジェクトからを使用することはできません。 良い習慣は、CustomModelサービス契約を使用する必要があることです。サービスコントラクトは、データインターフェイス(CustomModelInterfaceなど)とサービスインターフェイス(CustomModelRepositoryInterfaceなど)です。だから私のブロックは次のようになります: / ** @var SlideRepositoryInterface * / 保護された$ slideRepository; / ** * CustomBlockコンストラクター * ... * @param CustomModelRepositoryInterface $ customModelRepository * ... * / パブリック関数__construct( ... CustomModelRepositoryInterface $ customModelRepository ... …

1
多対多の関係を作成するためのMagento 2のベストプラクティスの方法は何ですか?
私はコアを見渡して、モデル間の多対多の関係のいくつかの例を見てきましたが、これに関する明確な答えを見ることができません。 例として、新しいモデルを作成し、既存の製品テーブルと多対多の関係を持ちたいとします。 新しいモデル-Stockistがあり、2つのテーブルを作成します。1つはStockist名を格納し、もう1つは製品との多対多の関係を格納します。 セットアップクラスの短縮バージョン: $table = $setup->getConnection() ->newTable($installer->getTable('stockist')) ->addColumn('stockist_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Stockist Id') ->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => false], 'Stockist Name'); $table = $installer->getConnection() ->newTable($installer->getTable('stockist_product')) ->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], …

1
Magento2-jQueryウィジェットを拡張する方法(configurable.js)
デフォルトの構成可能なオプションラベル「Choose an Option ...」を属性名で置き換える拡張機能を作成しています。たとえば、「Choose a Color ...」です。 jQueryウィジェットconfigurable.jsを(オーバーライドではなく)拡張し、この行のみを変更するにはどうすればよいですか? 私はドキュメントからjQueryウィジェットをオーバーライドできることを知っているので、私はそうしました: define([ 'jquery', 'jquery/ui', 'configurable' // usually widget can be found in /lib/web/mage dir ], function($){ $.widget('silvan.configurable', $.mage.configurable, { }); return $.silvan.configurable; }); このファイルを初期化するにはどうすればよいですか?requirejs-config経由でロードする必要がありますか?マップ機能は、オーバーライドするためだけのものですか? この行のみを変更することは可能ですか?この関数から呼び出されます: _fillSelect: function (element) {}

1
Magento 2の配送方法選択でカスタムブロックを表示する方法
参照リンクを使用して、1ページのチェックアウトで以下の配送方法にカスタムブロックを追加する方法は?、下部に追加の配送ブロックを作成できます。 ただし、配送方法が選択されている場合にのみコンテンツを表示したいと思います。顧客が配送方法を選択すると、カーソルが追加情報とカスタムフィールドに移動し、ユーザーがデータを入力する必要があります。 別の配送方法を選択すると、それに関連する情報が存在する場合、それ以外の場合はdivが非表示になります。 Magento 2のhttp://excellencemagentoblog.com/blog/2011/11/07/magento-advanced-shipping-method-development/のように同じです。Magento1で実装していました。

1
構成パラメーター「componentType」は、「advanced_pricing_button」コンポーネントに必須です。| Magento 2.0.7のアップグレード=> 2.1.0
多くの問題の後、Magento 2.0.7 => Magento 2.1.0を更新しました。 アップグレードを確認した後、2つの問題があります。1.フロントエンドに製品が表示されていません。2.管理者で製品を編集しようとすると、次のエラーが表示されます。 1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. #0 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false) #1 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false) #2 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false) #3 …

2
magento 2で顧客モジュールのような従業員モジュールを作成する
Employeeモジュールを作成しました。顧客モジュールと同じ。からvendor/magento/module-customerにすべてのファイルをコピーしましたapp/code/Magento/Employee。顧客を従業員に置き換えました。ただし、エラーが表示されます。 「定数名が必要です」というメッセージとともに「InvalidArgumentException」。 そして [InvalidArgumentException] 「setup」名前空間に定義されているコマンドはありません。 私module.xmlはapp/Code/Magento/Employee/etcフォルダ内にあります <?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="Magento_Employee" setup_version="2.0.6"> <sequence> <module name="Magento_Eav"/> <module name="Magento_Directory"/> </sequence> </module> </config> 誰も私にそれを解決する方法を教えてください? 私のdi.xml <?xml version="1.0"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Employee\Api\AddressRepositoryInterface" type="Magento\Employee\Model\ResourceModel\AddressRepository" …
15 magento2  module 

1
Magento2:コアjsモジュールprice-box.jsをオーバーライドする方法
私は拡張する必要がありますMagento_Catalog/js/price-box.js。「ミックスイン」機能を使用しましたが、では機能しませんprice-box.js。 requirejs-config.js: var config = { config: { mixins: { 'Magento_Catalog/js/price-box': { 'My_Module/js/price-box/pluggin': true } } } }; My_Module/view/frontend/web/js/price-box/pluggin.js define(function () { 'use strict'; return function (target) { // modify target var reloadPrice = target.reloadPrice; target.reloadPrice = function() { cosole.log("hello"); }; return target; }; });

3
Magento2デザインフォールバックロジック
Magento 1.xの設計フォールバックロジックはすでに知っています。 現在のパッケージ/現在のテーマ 現在のパッケージ/デフォルトのテーマ 基本パッケージ/デフォルトテーマ 今。テーマ、レイアウト、テンプレートファイルのMagento 2.xの設計フォールバックロジックとは何ですか? 簡単に説明してください。

4
magentoのセットアップ:アップグレードエラー「展開構成がありません」
Magento 2 php bin/magento setup:upgradeをアップグレードしようとすると、 私は得る [Magento \ Setup \ Exception] この操作を実行できません:展開構成がありません。オプションについては、「magento setup:config:set --help」を実行します。セットアップ:アップグレード [--keep-generated] [--magento-init-params = "..."] 修正方法 Webアップデーターを使用して更新すると、次のエラーが発生します。 ホスティングプロバイダーに修正を依頼し、正しいphpバージョン5.6とmagentoが推奨するすべての拡張機能をインストールし、cronジョブを作成しましたが、まだエラーが表示されます。 更新:( コメントから) env.phpそこにありませんでした、実行するmagento setup:config:setとこのエラーが発生します: $ bin / magento setup:config:set SQLSTATE [HY000] [2002]そのようなファイルまたはディレクトリはありません [InvalidArgumentException] パラメーターの検証に失敗しました
15 magento2  upgrade 

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