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

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


3
Magento 2でプログラムでCMSブロックを追加する方法は?
インストール/アップグレードスクリプトを使用してCMSブロックを追加する必要があります。以下のスクリプトに見られるように、「通常の」CMSページを追加する方法をすでに理解しています。しかし、Magento 2のコード(Googleまたはここ)にCMSブロックを追加する方法を見つけることができないため、非常に困っています。 namespace [Vendor]\[Module]\Setup; use Magento\Cms\Model\Page; use Magento\Cms\Model\PageFactory; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Framework\Setup\UpgradeDataInterface; class UpgradeData implements UpgradeDataInterface { /** * Page factory. * * @var PageFactory */ private $pageFactory; /** * Init. * * @param PageFactory $pageFactory */ public function __construct(PageFactory $pageFactory) { $this->pageFactory = $pageFactory; } /** * …

1
Magento2:カスタム支払い方法フィールドを追加する最良の方法は何ですか?
カスタム支払い方法フィールド(magento / offline-payment-methodsの "po_number"など)を使用して、Magento 2で新しい支払い方法を設定しました。フロントエンドは完全に正常に動作しています(フィールドの表示、検証など)。 ただし、Magentoを注文したい場合、WebAPI要求は次のエラーをスローします。 「プロパティ\ "CustomField \"には、クラス\ "Magento \ Quote \ Api \ Data \ PaymentInterface \"に対応するセッターがありません。 Magentoは、getPoNumberやsetPoNumberなどのメソッドが定義されているコア支払いインターフェースに対してカスタムフィールドを検証しているようです。 私はすでに拡張属性を介してカスタムフィールドを追加しようとしました: <extension_attributes for="Magento\Quote\Api\Data\PaymentInterface"> <attribute code="custom_field" type="Vendor\Module\Api\Data\MethodInterface[]" /> </extension_attributes> 特定のメソッドでインターフェースを作成しました: <?php namespace Vendor\Module\Api\Data; use Magento\Framework\Api\ExtensibleDataInterface; interface MethodInterface extends ExtensibleDataInterface { public function setCustomField($customField); public function getCustomField(); } しかし、これは機能しません。Magentoは、コアの支払いインターフェイスに対して引き続き検証します。 ここでの質問は、Magentoでカスタム支払い方法フィールドを受け入れる方法です。ポインタは大歓迎です:)

6
Magento 2のチェックアウトプロセスから会社フィールドを削除するにはどうすればよいですか?
Magento 2のチェックアウトプロセスから会社フィールドを削除するにはどうすればよいですか?テンプレートを探していましたが、見つかりませんでした。 更新:レイアウトまたはテンプレートを使用してこのフィールドを削除する方法はありますか?

3
ページを更新するまでMagento 2管理パネルが永久にハングする
Magento 2を使用して以来、この厄介な問題が繰り返し発生しています。 管理パネルにログインするか、管理パネル内の別のページに切り替えます ページの読み込みが開始され、時々部分的に表示されますが、その後永久にハングアップします(少なくとも数分間)ブラウザコンソールでのリクエスト。 F5ぶら下がっているときに押すと、ページがほぼ瞬時に読み込まれます(少なくともほとんどの場合) 管理パネルやコードに変更を加えずにナビゲートするだけでこの動作が発生するため、イベントとは関係がないようです。ただし、無効化されたキャッシュとの相関関係が見られました。 この問題の原因は何ですか?一般的に言えば管理パネルが機能するため、これはパーミッションやクッキーの典型的な問題だとは思わない。 Linuxでは、Magentoは開発者モードで実行されています。

2
magento2にbootstrap.jsを追加する方法
私はmagento2テーマにブートストラップjsを含めようとしています。しかし、問題はブートストラップjsをテーマに含めることです。そのタイムコンソールは、ブートストラップがjQueryを必要とするというエラーを出します。 その後、どうすればいいですか?誰でも助けてくれますか?
13 magento2  jquery 

4
layout.xmlのブロックの削除プロセスをキャンセルします
ブロックの削除を元に戻したい。 ブロックはで削除されます vendor/magento/theme-frontend-blank/Magento_Checkout/layout/checkout_index_index.xml <referenceBlock name="minicart" remove="true"/> <referenceContainer name="header.panel" remove="true"/> <referenceBlock name="top.search" remove="true"/> <referenceBlock name="catalog.compare.link" remove="true"/> <referenceBlock name="catalog.topnav" remove="true"/> <referenceContainer name="footer-container" remove="true"/> ドキュメントによると、1つを削除することができremove=falseます。 だから私は私のテーマでファイルを作成しました Magento_Checkout/layout/checkout_index_index.xml <referenceBlock name="minicart" remove="false"/> <referenceContainer name="header.panel" remove="false"/> <referenceBlock name="top.search" remove="false"/> <referenceBlock name="catalog.compare.link" remove="false"/> <referenceBlock name="catalog.topnav" remove="false"/> <referenceContainer name="footer-container" remove="false"/> しかし、これは機能しません。このgithubの問題によると、これはバグではありません 編集: また、関連するフォーラム投稿もあります
13 magento2  layout 


4
Magento 2でCSSファイルを配置/順序付ける適切な方法は何ですか?
でMagentoの2 DevDocそれは言います CSSファイルを含めるには、レイアウトファイルの<head>セクションに<css src = "<path> / <file>" media = "print | <option>" />ブロックを追加します。 ただし、CSSファイルの順序にどのように影響を与えることができるかについては述べていません。そして、親テーマを持つカスタムテーマにこの方法でCSSファイルを追加すると、ファイルは<head>セクションの一番上に追加され、その下に他の多くのCSSファイルが追加されます。低く、親テーマまたは拡張機能のルールを簡単にオーバーライドすることはできません。 Magento 1にも同様の問題があり、回避策がありました。きれいな人もいれば、そうでない人もいた。 Magento 2の<head>の下部にあるカスタムテーマのCSSファイルを注文する最良の方法は何ですか?可能であれば、カスタムテーマのMagento 2レイアウトガイドラインに準拠していますか?
13 magento2  layout  css  head 

4
Magento 2:構成設定に応じてブロックを削除
特定の構成フラグがに設定されてtrueいる場合にのみ、特定のページ(フロントエンドまたはバックエンド)からブロックを削除しようとしています。 例を見てみましょう。管理ダッシュボードから 名前dashboardを持つブロックを削除したい。 ブロックはモジュールのadminhtml_dashboard_index.xmlファイルで定義されますMagento_Backend: <referenceContainer name="content"> <block class="Magento\Backend\Block\Dashboard" name="dashboard"/> </referenceContainer> アダムの答えのおかげで、私はこれをadminhtml_dashboard_index.xml <body> <referenceBlock name="dashboard" remove="true" /> </body> しかし、パスdashboard/settings/removeを使用した構成設定に値がある場合にのみ、ノッチを取り、このブロックを削除します1。 レイアウトxmlアプローチは素晴らしいでしょうが、オブザーバーアプローチも取ります。

6
Magento 2のログファイルに配列変数を印刷するにはどうすればよいですか?
配列変数の内容をログファイルに出力しようとしています。 Magento 1では、以下を使用できました。 Mage::log(print_r($arr, 1), null, 'logfile.log'); Magento 2では、クラスファイルに次のコードを記述しました。 protected $_logger; public function __construct(\Psr\Log\LoggerInterface $logger) { $this->_logger = $logger; } private function getValuesAsHtmlList(\Magento\Framework\Object $object) { $options = $this->getOptions($object); //$this->_logger->addDebug($options ); $this->_logger->log(100,null,$options); } キャッシュをクリアした後にコードを実行すると、Debug.log&system.logファイルに配列の内容が表示されません。 誰かがそれについて考えているなら共有してください。
13 magento2  log 

1
Magento 2アンインストールモジュール
どうやら、Magento 2は、モジュールをアンインストールする際にdbスキーマの変更を許可するアンインストールスクリプトをサポートしているようです(horay !!)。 ここで説明したように、これは composerを介してインストールされたモジュールでのみ機能します。 (将来、すべてのモジュールで機能することを願っていますが、それは別の問題です)。 というモジュールがあるとしましょうTesting_Demo。 このモジュールは、アンインストール時に削除したい3つのことを行います。 というテーブルを追加しますtesting_demo。だから私はそれを落とす必要があります。 という製品属性を追加しますdemo。これは削除する必要があります system->configurationテーブルに保存されるかもしれないかもしれないいくつかの設定があるcore_config_data。これらすべての設定にはパスがありますtesting_demo/...。したがって、これらも削除する必要があります。 モジュールのアンインストールスクリプトはどのようになりますか?



1
Magento 2 getTableの動作
TL; DR: Magento 2にgetTableは、リソースコレクションモデルからメソッドを作成して、2つの異なるパラメーターに対して同じテーブル名を返す方法はありますか? 詳細な説明 Magento 1の例から始め ますmodule_entiti1_entity2。 このconfig.xmlようなテーブルをこのように宣言する必要がありました <module_resource> <class>....</class> <entities> <entity1_entity2> <table>module_entiti1_entity2</table> </entity1_entity2> </entities> </module_resource> 次に、たとえば次のようなリソースコレクションモデルからテーブル名を取得できます。 $collection->getTable('module/entity1_entity2'); しかし、必要であれば、同じテーブルに複数のエイリアスを使用できます。 私のconfig.xmlセクションが <module_resource> <class>....</class> <entities> <entity1_entity2> <table>module_entiti1_entity2</table> </entity1_entity2> <entity2_entity1> <table>module_entiti1_entity2</table> </entity2_entity1> </entities> </module_resource> 2つの方法でテーブルを取得できます。 $collection->getTable('module/entity1_entity2'); $collection->getTable('module/entity2_entity1'); Magento 2では、上記のようなテーブル宣言はもうありません。 このようにテーブル名を取得できます$collection->getTable('module_entity1_entity2')。 パラメーターがパラメーターmodule_entity2_entity1と同じテーブル名を返すようにmagentoに指示する方法はありますmodule_entity1_entity2か?

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