Magento

Magento eコマースプラットフォームのユーザー向けのQ&A

3
カスタムテンプレートプロセスのMagento 2 htmlファイルとphtmlファイル?
ミニカートのコンテンツの変更についてmagento 2のドキュメントを確認したところ、 2つの方法があります。 このページ:http : //devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html minicart.phmlをカスタマイズして次の場所に配置することで変更します。 app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml しかし、他のページ:http : //devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html content.htmlでカスタマイズして、次の場所に配置します。 app/design/frontend/OrangeCo/orange/Magento_Checkout/web/template/minicart/content.html したがって、これらの質問は次のとおりです。 magento 2は、htmlファイルとphtmlファイルをいつ使用するかをどのように決定しますか? これはMagento 2の3モードに関連していますか?デフォルト、開発者、製品?
10 magento2  layout 

2
Magento2:以下の製品詳細ページにカスタムテンプレートを追加しますカートに追加セクション
ソーシャル共有セクションの製品ページにカスタムテンプレートを追加しようとしています。私のモジュールでは、レイアウトファイルdefault.xmlのコードに従っています <body> <referenceContainer name="product.info.social"> <block class="Magento\Framework\View\Element\Template" name="product.info.custom" template="Lapisbard_Product::social.phtml" after="product.info.addtocart"> </block> </referenceContainer> </body> social.phtmlコンテンツ <p>Hey there !</p> <?php //$_product = $block->getProduct(); 正常に動作しており、テンプレートのコンテンツを製品ページに表示しています。を使用してテンプレートで製品オブジェクトを取得できるようにするMagento\Catalog\Block\Product\View代わりに、ブロッククラスを使用すると、空白のページが表示されます。 1.ここで私がしている間違いは何ですか? 2.製品ページを変更する最良の方法は何ですか? 3.モジュール内のレイアウトコードを作成する製品ページの任意のセクションに新しいテンプレートを追加するために使用できる参照レイアウトファイルはありますか?Magento\Framework\View\Element\Template$block->getProduct();


3
REST API更新製品HTTPメソッドPUTまたはPOST?
REST APIのドキュメントにはPUT /V1/products/{sku}、更新ではなく作成が記載されています。 私はそれが更新メソッドであり、POSTが作成するメソッドであると想定していたので、それはドキュメントのエラーですか?
10 magento2  api  rest 


2
magentoでキャッシュはどのように機能しますか?
Magentoのキャッシュアルゴリズムをもっと明確にしたいと思います。 紹介した https://www.nicksays.co.uk/developers-guide-magento-cache/ http://www.demacmedia.com/magento-commerce/magento-tutorials/understanding-full-page-cache/ 私はVAR /キャッシュを見るとそれでも、私は見ることができますフォルダmage--0にmage--9してmage--aからmage--f。 それらはすべて何ですか? 彼らは何をしますか? 彼らはどうしますか? 誰かがこの概念を説明できますか?

4
Magento 2では、シンボリックリンクを使用したモジュールのリンクは許可されていません
シンボリックリンクを使用してローカル開発モジュール(個別のgitリポジトリ)をMagento 2に追加しましたが、PHTMLテンプレートに到達するまでは問題なく動作していました。徹底的なデバッグの結果、Magento 2ファイルシステムクラス(Magento\Framework\Filesystem\Directory\Read)がisExists()メソッドとgetAbsolutePath()呼び出しを組み合わせて使用し、PHTMLテンプレートが存在するかどうかを確認しました。ただし、このgetAbsolutePath()メソッドは相対パスがMagento 2ファイルシステム内に存在するかどうかをチェックし、存在しない場合はMagento 2ルートを先頭に追加します。それ。私の場合、モジュールは別のリポジトリにあり/git/A、Magentoは/site/Bこの中にあり、この動作はPHTMLテンプレートの存在を確認し/site/B/git/Aます。 つまり、Magento 2ルートファイルシステムの外部にあるPHTMLテンプレートは、システム設定の[Symlinksを許可する]がオンになっているかどうかに関係なく、取得されません。設定は機能しているようですが、シンボリックリンクのソースがまだMagento 2ファイルシステム内にある場合のみです。 他の誰かがこれに遭遇しましたか?外部のgitリポジトリで開発を処理する最良の方法は何でしょうか?
10 module  magento2 

1
メールテンプレート「custom_mail_template」が定義されていません
カスタムモジュールからメールを送信しようとしています。このためにsystem.xmlファイルを作成しましたが、エラーが返されます。 エラー: メールテンプレート「custom_mail_template」が定義されていません。 私のコードは: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd"> <system> <tab id="custom" translate="label" sortOrder="1"> <label>custom mail</label> </tab> <section id="custom" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1"> <label>custom mail</label> <tab>custom</tab> <resource>Learning_Custom::config_custom</resource> <group id="mail" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0"> <label>Custom</label> <field id="active" translate="label" type="select" sortOrder="0" showInDefault="1" showInWebsite="1" showInStore="1"> <label>Enabled</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> <field …

1
Magento 2:新しい構成可能な製品-既存のシンプルな製品を手動で選択しますか?
管理パネルを介して(色に基づいて)新しい構成可能な製品を作成しています。私の単純な製品(子供)は、製品のインポートによってすでに存在しています。「構成の編集」をクリックすると、新しい単純なバリエーションを作成するためのパスが表示されます。やりたくない。単に既存の製品を選択したいだけです。 興味深いことに、保存後に「構成の編集」を介していくつかの簡単なバリエーションを生成すると、「構成の編集」の横に「製品を手動で追加」という新しいリンクが表示されます。新しい構成可能な製品は色に基づいていると言った後、それを初めて見たいと思います。 どうすればこれを解決できますか?

2
保存イベントオブザーバーから製品を取得する-Magento 2
製品の保存イベントの後、私はmagento 2内の製品にアクセスしようとしています。 私はリスナーを設定しました: controller_action_catalog_product_save_entity_after xmlは次のようになります。 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="controller_action_catalog_product_save_entity_after"> <observer name="wire_products_update" instance="TBS\WireProductsHook\Observer\WireProductsUpdate" /> </event> </config> 次に、製品が保存されるときにオブザーバークラスが呼び出されますが、保存された製品へのアクセス方法に関する情報が見つかりません。オブザーバークラスは次のとおりです。 <?php /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ namespace TBS\WireProductsHook\Observer; use Magento\Framework\Event\ObserverInterface; class WireProductsUpdate implements ObserverInterface { public function execute( \Magento\Framework\Event\Observer $observer ) { …
10 magento2 



3
無効なブロックタイプ:[名前空間] \ [モジュール] \ Block \ Timeline
私はフッターにブロックを追加しようとしましたが、これまでのところそれは戻り続けます Invalid block type: [Namespace]\[Module]\Block\Timeline 私がこれまでに持っているもののソースもここにあります:https : //github.com/sandermangel/magento2-twitterfeed 俺の layout/default.xml <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="footer"> <block class="[Namespace]\[Module]\Block\Timeline" name="twitterfeed-timeline" template="footer/timeline.phtml"></block> </referenceBlock> </body> </page> そして私のブロッククラス vendor/[namespace]/[module]/Block/Timeline.php namespace [Namespace]\[Module]\Block; use Magento\Framework\View\Element\Template; class Timeline extends Template { /** * Timeline constructor. * @param Template\Context $context * @param array $data */ public …
10 blocks  magento2 

3
プログラムで構成可能な製品を作成し、Magento2製品の構成可能な製品に単純な製品を割り当てる
これが私がこれまでに行ったことです。シンプルで構成可能な製品が作成されます。問題は、構成可能な製品に単純な製品を割り当てることができないことです。これがコードです(IDと属性はデフォルトのサンプルデータで動作します)。 //simple product $simple_product = $this->_objectManager->create('\Magento\Catalog\Model\Product'); $simple_product->setSku('test-simple'); $simple_product->setName('test name simple'); $simple_product->setAttributeSetId(4); $simple_product->setSize_general(193); // value id of S size $simple_product->setStatus(1); $simple_product->setTypeId('simple'); $simple_product->setPrice(10); $simple_product->setWebsiteIds(array(1)); $simple_product->setCategoryIds(array(31)); $simple_product->setStockData(array( 'use_config_manage_stock' => 0, //'Use config settings' checkbox 'manage_stock' => 1, //manage stock 'min_sale_qty' => 1, //Minimum Qty Allowed in Shopping Cart 'max_sale_qty' => 2, //Maximum Qty …
10 php  magento2 

2
(モデル)リライトを適切に無効にする方法
特定のMagentoコアクラスを書き換えるサードパーティの拡張機能があります。ブロック、ヘルパー、モデルのいずれでもかまいませんが、この場合はモデルです。今、私はこの書き換えが悪いことに遭遇し、サードパーティの拡張機能を変更せずに無効にしたいと思います。したがって、サードパーティの拡張機能に依存するカスタム拡張機能を記述します。サードパーティの書き換えを無効にする最良の方法は何ですか?安全に考えられるのは、サードパーティの書き換えの代わりに使用されるカスタムの書き換えを定義することです。 <global> <models> <custom_extension> <class>Custom_Extension_Model</class> </custom_extension> <mage_core> <rewrite> <sth>Custom_Extension_Model_Sth</sth> </rewrite> </mage_core> </models> </global> Sth.php、クラスはMageクラスから直接拡張されているため、サードパーティによる書き換えを無効にします。 class Custom_Extension_Model_Sth extends Mage_Core_Model_Sth { } これは機能しますが、あまり気分が良くありません。オブザーバーについて考えると、それらをに設定することにより、config.xmlを介してのみオブザーバーを無効にすることができますdisabled。このようなことは書き換えで可能ですか?私は以下を使用しようとしましたが、うまくいきました: <global> <models> <mage_core> <rewrite> <sth></sth> </rewrite> </mage_core> </models> </global> しかし、それは安全ですか?すべてのバージョンで機能しますか?私はそれを野生で見たことがないので、私は尋ねています。

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