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

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

3
Magento 2はバックエンドにボタンを追加します
cmsページ編集ビューのバックエンドに別のボタンを追加したいのですが。だから私はモジュールを作成しました(https://community.magento.com/t5/Programming-Questions/Overriding-a-block-in-Magento-2/mp/6831の助けを借りて): app / code / Company / Modulename / 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="Company_Modulename" schema_version="0.0.1" setup_version="0.0.1"> <sequence> <module name="Magento_Cms" /> </sequence> </module> </config> app / code / Company / Modulename / etc / di.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> <preference for="Magento\Cms\Block\Adminhtml\Page\Edit" type="Company\Modulename\Block\Adminhtml\Page\Edit" /> </config> app …

2
Magento 2で拡張属性はどのように機能しますか?
ドキュメントが何を言っているのかわかりません。 それらを使用して属性を(複雑であるかどうかに関係なく)追加するために使用されていることを知ってetc/extension_attributes.xmlおり、コンパイルプロセスで自動生成のカスタムメソッドを使用してインターフェイスを作成できましたが、それはそれだけです。 いくつかのインターフェースを例にとってみましょう:github link 1とgithub link 2。拡張属性を使用して、これらのインターフェースの1つに特定の属性を追加するにはどうすればよいですか?複雑な結合には興味がありません。スカラー属性を追加するだけで、タイプの「attr1」と言いますstring。 Data私はこれらのインタフェースの拡張が適切にシステムを利用するためにはどのように機能するかを理解する必要があるので、インタフェースは、モデルのERM ...データへのゲートウェイです。私は頻繁Dataに、実際のモデルの代わりにパラメーターとしてインターフェースを取得しますが、それは実際には問題ありません。しかし、私は拡張機能がどのように機能するかについて少し混乱しています。

1
Magento2:静的ブロックでテーマ画像を呼び出す方法
Magento2をインストールして静的ブロックを作成しましたが、静的ブロックでテーマ画像を呼び出すにはどうすればよいですか?Magento1.xではを使用しました{{skin url="images/demo.jpg"}}。 誰もがのようなエディターを使用せずにStaticブロックで画像を呼び出す方法についてのアイデアを持ってい{{media url="wysiwyg/demo.jpg"}}ます。

1
Magento 2 URLセグメントの解析はどこで行われますか
Magento 2ルーティングでは、システムはURLセグメントを3つのセクションに解析します module-or-front/segment2/segment3 これはどの特定のクラスファイルで発生しますか? 言い換えると、リクエストオブジェクトにはgetModuleName次のようなメソッドがあります。 public function getModuleName() { return $this->module; } Magento 2は、最終的にmoduleプロパティを設定する文字列をどこで取得しますか?
7 php  module  magento2  mvc 

1
Magento 2-サンプルモジュールに空白のページが表示される
Magento 2バージョンbeta-1.0.0を使用して、シンプルな新しいカスタムモジュールを作成しようとしています。カスタムモジュールは機能しますが、本文のコンテンツに空白のページが表示されます。 モジュールは以下のように行われます。 フォルダ構造:こんにちは -app -code -Magento -Hello -Block --Hello.php -Controller -Index --Index.php -etc --module.xml -frontend --routes.xml -view -frontend -layout --hello_index_index.xml -templates --hello.phtml ファイルは以下の通りです。 (1)app / code / Magento / Hello / 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="Magento_Hello" setup_version="0.0.1"/> </config> (2)app / code / Magento …


1
Magento 2カスタムのルートハンドラーなし
次のコードを使用して、カスタムのルートなしハンドラを追加しました <?xml version="0.1"?> <config> <type name="Magento\Framework\App\Router\NoRouteHandlerList"> <arguments> <argument name="handlerClassesList" xsi:type="array"> <item name="hello" xsi:type="array"> <item name="class" xsi:type="string">Smartie\HelloRouter\App\Router\NoRouteHandler</item> <item name="sortOrder" xsi:type="string">10</item> </item> </argument> </arguments> </type> </config> ハンドラーを追加して、それを証明しました。 <?php namespace Smartie\HelloRouter\App\Router; class NoRouteHandler implements \Magento\Framework\App\Router\NoRouteHandlerInterface { public function process(\Magento\Framework\App\RequestInterface $request) { die('woop'); } } しかし、私が気付いたことは、プロセス関数でfalseを返すと、フロントコントローラーが100ルーターの一致反復に達したことです。NoRouteHandlerListを確認した後、新しいno routeハンドラーを追加することで、実際には既に追加されているすべてのno routeハンドラー(デフォルトのハンドラー)が置き換えられたようです。なぜでしょうか。 新しいルーターを追加する次の同様のコードは、新しいルーターをリストに追加する効果があります <type name="Magento\Framework\App\RouterList"> <arguments> <argument name="routerList" …
7 magento2 

4
Magento2:フォームを表示するための管理モジュール画像アップロードコード
画像アップロード機能を備えたmagento2 adminカスタムモジュールがあります。管理者から画像をアップロードしたい。from、アップロード画像、編集アクションでの画像表示の表示画像フィールドに適用するコード。 ありがとう ファイルパス : app\code\[Vendor]\[Module]\Block\Adminhtml\Emp\Edit\Tab\Main.php /** * Prepare form * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { $model = $this->_coreRegistry->registry('emp_post'); $isElementDisabled = false; /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('page_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Employee Information')]); if ($model->getId()) { $fieldset->addField('customer_id', 'hidden', ['name' => …

1
Magento 2:カスタムコントローラーがインターセプターを生成するのはなぜですか?
最近、テストモジュールの基本的なルーティング構成を作成しました <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd"> <router id="standard"> <route id="helloworld" frontName="helloworld"> <module name="Pulsestorm_Helloworld" /> </route> </router> </config> でコントローラファイルを作成しました app/code/Pulsestorm/Helloworld/Controller/Index/Index.php すべてが期待どおりに動作しますが、Magentoが新しいコントローラーのインターセプターを自動的に作成したことを知って驚きました。 var/generation/Pulsestorm/Helloworld/Controller/Index/Index/Interceptor.php コントローラーのプラグインを構成しなかったため、Magentoがインターセプターを生成した理由について少し混乱しました。 Magento 2が新しいコントローラーのインターセプターを自動的に作成するのはなぜですか?

1
Magento 2のアップグレード/セットアップスクリプトの順序をどのように制御しますか?
私はMagento 2のコードベースを調査していて、セットアップバージョン間でアップグレードセットアップクラスを実行する順序を制御する方法を理解しようとしています。まだ、行き詰まっています。掘り下げた限り、モジュール内のスキーマ/データのアップグレードの順序を制御する方法を見つけることができませんでした。 少しコンテキストを与えるために、モジュールをリリースするとします。残業はアップデートをリリースします。次のファイル構造があるとします。 Setup/InstallPostSchema.php Setup/CreateAuthorsTableSchema.php Setup/AddAuthorIdColumnToPostSchema.php この場合、私はSetup/CreateAuthorsTableSchema.php前に実行したいと思いSetup/AddAuthorIdColumnToPostSchema.phpます。 私の質問は、それをどのように/どのように扱うべきですか? Magento 1.xでは、ファイルの命名規則によってこれが処理さupgrade-1.0.0-1.1.0.phpれます。 LaravelやRailsなどのフレームワーク(および他のユーザーも確信している)では、タイムスタンプアプローチを使用しています。ただし、移行テーブルもあり、これまでに実行された各移行を確認できます。また、簡単にロールバックできます。 更新 Magento/Customerモジュール内で自分でバージョン管理を行う例を見つけました: public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '2.0.0.1') < 0) { // Changes here. } if (version_compare($context->getVersion(), '2.0.1', '<')) { // Changes here } $setup->endSetup(); }
7 magento2 


3
Magento 2でバックエンドテンプレートファイルを拡張する方法
Magento 2でバックエンドテンプレートファイルを拡張する方法が見つかりませんでしたが、ここからフロントエンドテンプレートファイルを拡張する方法を見つけました。ファイルを拡張すると、design/adminhtml/Magento/backendMagentoのアップグレードバージョンで上書きされる可能性があります。そこでdesign/adminhtml/vendor/backend、モジュール固有のフォルダーに書き込みたいと思います。しかし、必要なphtmlファイルを配置してこれを試しましたが、デフォルトのmagentoパスから取得したパスからは表示されません。 C:\ xampp \ htdocs \ NewMagento2 \ app \ design \ adminhtml \ vendor \ backend \ Magento_Customer \ layout \ customer_form.xml <?xml version="1.0"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="form"> …

4
Magento2インストールエラーの反復
composer installセットアップディレクトリで正常に実行127.0.0.1:8080/setupし、ブラウザーで呼び出した後、Magentoインストーラーが実行され、mysql dbパラメーターのローカル検証を含め、最初の5つの構成手順をエラーなしで正常に完了できます。すべてが正常に、エラーなしで報告されます。 ステップ6では、実際にはインストーラーを実行しますが、それほど多くはありません。 インストーラーは終了/ハングアップし0% Complete、インストールが完了していないことを報告し、コンソールログでエラーを確認します。 コンソールログには、magento、php、httpの問題に関するコメントはありません。 さらに、previousおよびのボタンtry againはどちらも無効になっています。セットアップをリロードしてセットアッププロセスを再完了できますが、毎回同じ場所でハングします。私はしつこくなければ何もしません。 他の誰かがこのステップでクラッシュを経験したかどうか、そうであれば、どのようにそれを解決したかについて興味があります。 ログデータの不足に困惑していると自白します。

2
Magento 2 JavaScriptテキスト翻訳
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 [編集] これは時代遅れです。以下に説明するように、翻訳はもう行われていません [/ EDIT] でMagentoの1ジャバスクリプトに必要な翻訳可能なテキストが中に追加されたjstranslate.xml内のファイルetcモジュールのフォルダと、彼らは自動的に翻訳者のjsオブジェクトに追加されました。 Magento 2のJavaScriptで使用する翻訳可能なテキストを追加するにはどうすればよいですか? Magento 2でテキスト翻訳を使用する方法を見つけましたが、新しい翻訳を追加する方法がわかりません。 これらの使用例は次のとおりです。 alert($.mage.__('Text to translate here'));
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.