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

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

2
管理コントローラーでのパブリックアクション
クラス\Magento\Backend\App\AbstractAction(すべての管理コントローラーアクションの祖先)に、次の_publicActionsような秘密キーの検証に使用されるというメンバーがあることを発見しました。 if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) { return true; } つまり、特定のアクション名がリストされている_publicActions場合、URLに秘密鍵がなくてもアクションにアクセスできます。 これは、開発とデバッグの祝福です。ROOT/admin/module/controller/action秘密の管理キーを知らなくても、手動で行うことができるためです。しかし、理解できないのは、秘密のキーなしで製品編集ページにアクセスできる理由です。 このような製品編集ページを呼び出すだけROOT/admin/catalog/product/edit/id/{product_id_here}です。 publicActions部材が製品に(編集用)とリダイレクトするためのリダイレクトコントローラに、(インデックスおよびビューを可能にする)注文に対して上書きされます。 さて、私の質問: 秘密キーなしで許可されるのは一部の編集アクションのみであり、秘密キーなしでカスタムCRUDモジュールでいつ/何を許可する必要があるのですか?

3
JSエラーMagento 2
私は今週末ずっと何かを完成させてオンラインで公開しようと努力してきましたが、それはどれほどうまくいかなかったのか、なぜだかわからないので、誰かが私を助けてくれることを願っています。 カスタムjQueryをカスタムテーマに追加しようとしましたが、jQueryが読み込まれ、関数が機能していたため、成功しました。しかしながら!正しく機能していませんでした。たとえば、SafariはjQueryをロードしないため、コンソールに次のエラーが表示され続けます。 defaultCaptcha.js:29 Uncaught TypeError:未定義のauthentication-popup.jsのプロパティ 'captcha'を読み取ることができません:26 Uncaught TypeError:undefined(無名関数)のプロパティ 'autocomplete'を読み取れません 私はjQueryを宣言する方法に何らかの関係があると思いましたが、そうでない場合、カスタムJSをすべて削除することに決めましたが、それでもこれらのエラーが発生しました。何かがさらに壊れているようです。 私のカスタム「テーマ」は、私がカスタムサブスクリプションボックス以外の何もない単純なランディングページです。 これらのエラーの原因は何ですか?


2
Magento 2 fieldset.xml; 見積もりから注文にフィールドをコピーする
見積もりから注文を作成するカスタムモデルを作成しました。私はfieldset.xmlを使用して、注文に引用カスタムコードをコピーしています。一致するフィールドを使用して、見積もりと注文の両方でカスタム列を作成しました。注文が出されると、値は引用カスタムフィールドに格納されますが、注文にコピーされません。以下は私のfieldset.xmlです <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:DataObject/etc/fieldset.xsd"> <scope id="global"> <!--quote convert to order--> <fieldset id="sales_convert_quote"> <field name="preorder_number"> <aspect name="to_order" /> </field> <field name="purchase_order_number"> <aspect name="to_order" /> </field> <field name="reference_number"> <aspect name="to_order" /> </field> </fieldset> <!--quote item convert to order item--> <fieldset id="quote_convert_item"> <field name="preorder_number"> <aspect name="to_order_item" /> </field> <field name="purchase_order_number"> <aspect name="to_order_item" /> …

1
Magento 2:XMLを介してコンテナー内にテキストを追加する方法
フッターのリンクリストの前に1行のテキストを表示しようとしています。これを行うためのテンプレートファイルを作成することは、このタスクのリソースの無駄遣いのようです。私はそれを理解していたので、Magento\Framework\View\Element\Textレイアウトにブロックを含むテキストを出力できました。 XML <referenceContainer name="footer"> <container name="footer.column.about_us" htmlTag="div" htmlClass="column about-us" before="-"> <container name="column.about_us.label" htmlTag="div" htmlClass="label"> <block class="Magento\Framework\View\Element\Text" name="about_us.label"> <arguments> <argument name="data" xsi:type="array"> <item name="text" xsi:type="string">About Us</item> </argument> </arguments> </block> </container> <block class="Magento\Framework\View\Element\Html\Links" name="footer_links.about_us"> <arguments> <argument name="css_class" xsi:type="string">footer links</argument> </arguments> </block> </container> </referenceContainer> 上記は何も出力せず、これがサポートされているかどうか、私が間違っているだけなのか、これを達成するためのより適切な方法があるかどうかはわかりません。 明確にするために、私が現在見ているのは: <div class="column about-us"> <ul class="footer links">...</ul> </div> …

5
コードスニファーで未使用のパラメーターを無視する
カスタム拡張機能でEcgM2標準を使用してコードスニファーを実行していますが、警告が表示されます メソッドパラメータ$contextは使用されません 以下のためのInstallSchema.phpファイル。 この警告を消すにはどうすればよいですか? 私のメソッドは次のようになります(SuppressWarnings上部にあるに注意してください): /** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { //my install script here that does not use the parameter $context }

1
eavSetupを見ると、タイプと入力に使用できる値は何ですか?
Magento 2のインストールスクリプトを作成するときに、タイプと入力部分に使用できる値は何eavSetup->addAttribute()ですか?または、どこで調べればよいでしょうか? $eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, 'some_attr', [ 'type' => '', 'backend' => '', 'frontend' => '', 'label' => 'Test Attribute', 'input' => '', 'class' => '', 'source' => '', 'global' => \Magento\Catalog\Model\Resource\Eav\Attribute::SCOPE_GLOBAL, 'visible' => true, 'required' => false, 'user_defined' => false, 'default' => 0, 'searchable' => false, 'filterable' => false, 'comparable' …

1
adminhtmlでknockoutjsレンダリング後にコードをトリガーして実行する方法
更新:ビューモデルに直接アクセスできます。レンダリング後に実行するコードをトリガーする必要がある場合は、MutationObserverを使用します。良い例ができたらすぐにコードを投稿します。 元の質問: 電話での注文がたくさんあります。私は、admin-> customer-> webapi / jsonp呼び出しを使用してCRMソリューションから新規作成するデータを自動入力するモジュールに取り組んでいます。このようにして、magentoのデータは、すでに「マスターデータベース」に保存したデータの複製を作成しません。 私がまだやらなければならない1つのタスクは、お客様の住所を追加することです。これは、kockoutjs + magentojsが顧客フォームのすべてをレンダリングしていることが、テンプレート化された要素のキャプチャを妨げていることに気づくまで、最初は簡単に思えました。プログラムですべてのアドレスを削除し、新しいアドレスを作成した後、フィールドセット(入力要素)をキャプチャしようとするのにかなり時間がかかっています。 なぜ私がそうするのかと思うと、私のコードの一部がポップアップ表示され、「こんにちは、この人物は既に存在します。それらを使用しますか?」すでに入力したものはすべて削除され、正しい情報に置き換えられます。次に、コールセンターがそれを検証します、yadda yadda。 ここまでのコードを共有しますが、正しく機能しません。ちなみに、これは「onUpdate」イベントをキャッチするためにAbstractを拡張しています。コレクションアイテム内のコレクションへのアクセスを試みたとして、私を非難しないでください。onUpdateイベントをキャッチし、すべてのフィールドを確認するためのより良い方法を思いつくことはできません。 私はまた、何が悪いのかを完全に理解しています。どうすればそれを回避できるのかわかりません。何が問題なのか、私は.activate()呼び出しによって生成された要素が以下ですぐに利用可能になると想定 document.getElementsByClassName( 'admin__fieldset') これは間違ったロジックです。理想的には、このUIのトリックに頼ることなくフィールドセットのコンテンツをプルできるようにして、すべてを設定したらレンダリングするだけです。 私は、domの更新を監視するためにjQueryハックに頼りたくありません。 // jsonService variable is available here because it is in the php template render. see // Stti/Customer/view/adminhtml/templates/javascriptinject.phtml define(['ko','jquery','underscore','originalAbstract','uiElement', 'uiCollection'], function(ko, $, _, Abstract, Element, Collection) { "use strict"; var theArray = { …


2
Magento 2:「メタパッケージ」インストールのアップグレード
しばらく前に、私はcomposerメタパッケージを介してMagento 2をインストールしました。これは、インテグレーターのインストールとも呼ばれます。 これにより、Magento CE 2.0.1がインストールされたようです。このバージョンを最新のMagento CE 2.0.3にアップグレードする方法はありますか?composer.jsonここで2.0.1 が更新されるように "require": { "magento/product-community-edition": "2.0.1", なる "require": { "magento/product-community-edition": "2.0.3", しかし、それは次のようなファイルを見逃すでしょう app/etc/NonComposerComponentRegistration.php composer.jsonファイル自体の更新も同様です。 メタパッケージと共にインストールされたMagento 2のバージョンを更新することは可能ですか?または、これはメタパッケージの意図ではありませんか?

1
モジュール問題のMagento 2システム構成
私はこの問題の解決策を見つけるために多くのサイトを訪れました。 しかしsystem.xml、acl.xmlMagentoを作成してから、レポートでエラーが発生しました。 エラー a:4:{i:0; s:140: "通知:未定義のインデックス:/ usr / local / ampps / www / mgn2 / vendor / magento / module-config / Model / Config / Structure / Element / IteratorのID。 php on line 59 "; i:1; s:6391:"#0 /usr/local/ampps/www/mgn2/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php(59) :Magento \ Framework \ App \ ErrorHandler-> handler(8、 '未定義のインデックス...'、 '/ usr …

1
いつ、どのようにphtmlテンプレートがview_preprocessedで生成されますか?
でvar/view_preprocessed/html、コアモジュールから、およびカスタムモジュールから、多くのphtmlファイルが生成されています。これらはすべて空白が削除された使用済みテンプレートのようです。 Alan KentがGruntでMagento 2 phtmlファイルを更新するにはどうすればいいですか?: PHTMLファイルを「展開」することはありません。これらは、レイアウトファイルのブロックによって参照され、サーバー側で処理されます。したがって、「うなり声」はここでは関係ありません。また、静的コンテンツの展開も同様に関係ありません。 また、静的コンテンツの展開と不快なワークフローを分析したところ、テンプレートに関連するものは何も見つからなかったため、これはまだ当てはまると思います。 しかし、これらのファイルはいつ生成されますか?そして実際にそこで何が起こっているのか、そしてその理由は?


2
Magento 2のpubディレクトリの利点は何ですか
多分私はそれを取得していないだけかもしれませんが、私のファイルがすでにキャッシュされている場合、Magento 2のpubディレクトリの使用は何でしょうか?私の唯一の教育的な推測は、テーマの既知のファイルセットを用意することで、フォールバックメカニズムの使用をある程度軽減できることです。 ドキュメントを読んでも、動的、静的、およびキャッシュされたファイルをよく理解しているように感じますが、メリットを明確に理解していません。 私が理解しているように、キャッシュは定義された既知のアセットの場所であり、pubディレクトリはファイルの場所を標準化して、フォールバックメカニズムで使用されるリソースを削減するメカニズムであると推測しました。
11 magento2 


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