Magento

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

2
Magento2-checkout_cart_product_add_afterが発生したときにプログラムでカートに商品を追加する方法
製品Aと製品Bの2つの製品があるとします。製品Bは仮想製品であり、製品Aが追加されたときにカートに追加する必要があります。 そのために、イベントを監視して商品Bをカートに追加しようとしていcheckout_cart_product_add_afterます。製品Aが追加されたら、製品Aに追加された製品の数量を取得し、それに基づいて製品Bをプログラムで追加しようとしています。製品Bを追加するために、以下のコードを書きました。 <?php namespace MyModule\Applicationcharges\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\App\RequestInterface; class AddCharges implements ObserverInterface { protected $_productRepository; protected $_cart; public function __construct(\Magento\Catalog\Model\ProductRepository $productRepository, \Magento\Checkout\Model\Cart $cart){ $this->_productRepository = $productRepository; $this->_cart = $cart; } public function execute(\Magento\Framework\Event\Observer $observer) { $item=$observer->getEvent()->getData('quote_item'); $product=$observer->getEvent()->getData('product'); $item = ( $item->getParentItem() ? $item->getParentItem() : $item ); $product->getQty(); $params = …

2
Magento 2プロキシクラスのオーバーライド
\Magento\Catalog\Model\Product\Link正常に機能している設定を使用してクラスをオーバーライドする必要がありますが、上記のクラスには\Magento\Catalog\Model\Product\Link\Proxy、オーバーライドに追加された新しいメソッドが含まれていないプロキシクラスが自動的に生成されます。これらのメソッドをプロキシクラスに挿入する方法はありますか? 編集 私はこれを掘り下げてみましたが、di.xmlを使用してプロキシを注入できることがわかりました。しかし、そうしようとすると、クラスPackage\Module\Model\Class\Proxyが存在しないという例外が発生しました。つまり、私が生成しようとしている新しいプロキシが自動的に生成されていません。

3
Magento 2:バックエンドグリッドに顧客を表示しない
Magento 1.9.1.0からインポートされた顧客があり、customer eav customer_entityおよび関連テーブルにあります。しかし、管理者の顧客グリッドにはレコードが表示されません。また、バックエンドからの新しい顧客の追加もテストしました。追加されました。インポートされた顧客は、フロントエンドにログインできます。顧客インデックス管理は常に処理を示します。 手動でインデックスを再作成しようとしましたbin/magento indexer:reindex customer_grid。 何もしないようです。cronの設定も役に立たないと思います。しかし、それは私のローカルホストです。 カスタマーグリッドインデックスは00:00:00に正常に再構築されました あなたの提案は大歓迎です。 前もって感謝します

4
Magento 2.0の代替のMagmi?
MagmiにはMagento 2.0と互換性のあるバージョンがない(または見つからない)ため、Magento 2.0の代替のMagmiのインターネットを掘り下げているのはもう4日です。 Magento 2.0でモジュールやツールを使用してカテゴリと製品をインポート/エクスポートした経験がある方は、教えていただけませんか?ありがとうございました Firebearをすでに使用したことを考慮してください。

6
Magento 2で通貨形式を変更するにはどうすればよいですか?
現在の価格は$ 2.999,00です 価格をロケールes_MX(スペイン語、メキシコ)の$ 2,999.00のように製品ページで表示したい。 私はすべてのソリューションをstackexchangeで試しましたが、誰も動作しません。 ファイルapp / code / Jsp / Currency / etc / di.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Framework\Locale\Format" type="Jsp\Currency\Model\Format"/> </config> ファイルapp / code / Jsp / Currency / Model / Format.php <?php namespace Jsp\Currency\Model; use Magento\Framework\Locale\Bundle\DataBundle; class Format extends \Magento\Framework\Locale\Format { private static $defaultNumberSet = 'latn'; public …

3
Magento2のページレイアウトの要素を削除することは可能ですか?
ページレイアウトに関するドキュメント(http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page)を読むと、このXMLドキュメントでは、次の指示が許可されています。 <container> <referenceContainer> <move> <update> <referenceBlock name="block.name" remove="true" />許可された手順の1つではないので、特定のページレイアウトの特定の要素を削除するにはどうすればよいですか? 私がトップカテゴリーに欲しいのは、まったく別のページデザインです。このデザインでは、特定のコンテナやブロックは必要ありません。これらのカテゴリでは、製品ではなく子カテゴリのみを表示します。 私が今やったことは、私のページレイアウトに次の行を追加することです:(でdesign\frontend\Vendor\Name-of-theme\Magento_Theme\page_layout\catalog-blocks.xml) <move element="category.image" destination="delete"></move> <move element="category.description" destination="delete"></move> <move element="category.products" destination="delete"></move> <move element="page.main.title" destination="delete"></move> ではdesign\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xmlI addded: <layout id="catalog-blocks"> <label translate="true">Catalog Blocks</label> </layout> 私はすべてのトップカテゴリーにこのカタログブロックのページレイアウトを管理者に与えました。 次に、メインレイアウト(design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml)に追加しました: <referenceBlock name="delete" remove="true" /> したがって、ページレイアウトで、私がここに移動したすべてのものとともに、削除ブロック全体が削除されます。これはうまくいきます!それは私が望むものを正確に達成しますが、全体としては少しハックに思えます。 これは良い習慣と考えられますか?そうでない場合、良い代替手段は何でしょうか? 編集1:remove混乱を避けるために、質問の- タグを正しいものに変更しました。 編集2:ファイルとファイルの場所に関するいくつかの詳細情報。

2
magento 2からカスタムテーブルデータを取得する方法
カスタムモジュールを使用して新しいテーブルを作成し、このテーブルに値を保存しました。今、magento 2のデータベースからブロックphpファイルのテーブルデータを取得する必要があります。これを行う方法は? TableName="email_format" columns="customerid"そして"format"今、私はテーブルから顧客IDとフォーマット値を取得する必要があります。 おかげで、

1
Magento2 CSS IEハッキング
Magento2で、特にIE 8の場合、CSSを追加したい <css src="css/ie-8.css" /> ネイティブソースコードのどこにも見つかりません。
8 magento2  css 

2
Magento2:カスタムモジュールでPDFを作成する方法
販売時にカスタムPDFを生成し、それをすべてカスタムモジュール内の販売メールに添付したいと思います。 Magento\Sales\Model\Order\Pdf\AbstractPdfPDFを生成するために拡張する必要があると思いますが、確信はありません。 誰かが以前にこれを行ったことがありますか、または私が正しい軌道に乗っているかどうか何か考えがありますか? //編集: コメントに従って、http://www.fpdf.org/をカスタムモジュールにどのように含めたかに関する基本的なレイアウトを次に示します。 まず、fpdfパッケージをダウンロードしました。ファイルを抽出し、すべてをモジュールHelperフォルダーに配置しました。これは次のようになります。 - Helper -- font (folder) -- makefont (folder) -- FPDF.php -- Data.php Data.php ヘルパーのDataクラスが含まれているため、このフォルダーに既にある唯一のファイルです。 次に、FPDF.phpを編集し、モジュールの名前空間を追加しました。 ヘルパーData.phpファイルを編集し、名前空間FPDFクラスを使用します。 use Company\ModuleName\Helper\FPDF as FPDF; 私はデータクラスで必要なPDF情報を定義しました-あなたはこれを必要としません: // PDF INFOS protected $pdfFileDir = 'someDir/someSubDir/'; protected $logo1 = 'myLogo.jpg'; protected $logo2 = 'myExtraLogo.jpg'; /** * @var \Company\ModuleName\Helper\FPDF */ protected $_pdf; そしてそれを構築する …
8 magento2  pdf 

7
Magento 2製品リストページですべての製品画像を取得する
Magento 1では常に使用してきました $_product->getMediaGallery('images') しかし、Magento 2のソースには、 $productImage = $block->getImage($_product, $image); echo $productImage->toHtml(); 最初の製品画像のみを取得しています。2番目または3番目のイメージ(ベースイメージだけでなく)を取得するにはどうすればよいですか? GetMediaGallery関数は存在しませんか? 更新: $ _product-> getMediaGalleryImages()がvar_dumpでNULLをスローします そして getMediaGalleryとgetMediaGalleryEntriesの場合、同じ通知エラーが発生します。 Undefined property: Magento\Catalog\Model\Product\Interceptor::$getMediaGallery

7
Magentoの学習リソース
私はmagentoを初めて使用し、MVCの概念はありませんが、それに取り組むための仕事が与えられました。つまり、それを理解して仕様を実装することです。今、magentoの「ビースト」を本当に理解したいので、あまりにもストレスを感じています。私はTuts + Magento Fundamentalをフォローしてき ました。「Hello World」は現実の世界に注ぐお茶ではないため、すべてが曖昧です。私は本当に詳細なチュートリアルが必要です。 モデル、コントローラー、ビューがどのように連携してデータをフィードし、特定のhtml要素に機能を提供するか、データをフィールドにマップする方法を知りたい。 追加メニューを作成し、それにリンクする方法。 「Hello関数」だけでなく、モデル、コントローラ、リソースなどのより実用的な方法は何ですか。 どのように適用するためにどの方法を知っているか、私たちが言うときのために依頼するかgetABC()など 優れた機能を備えたストアを作るためのポイントはたくさんあります。それをすぐに終わらせるのは速すぎないことは理解していますが、それを学び、自分自身を誇りに思うことで眠りを失うのはあまりにも熱心です。私はかなり新しいですMagentoへのブロック、ヘルパー、コントローラーなどの作成に関するかなりの知識がありました。「Magento Fundamentals」で説明されているように、hello worldとだけ言うモジュールを作成するためにMagentoによって設定された例にもまだ疑問があります。プロフィールのようなユーザー情報の表示、それを更新する方法、ユーザーが注文した製品や履歴などを取得するなど、Magentoを学ぶためのライフアプローチ。フォームの作成中に自分の値を正しいフィールドにマッピングするにはどうすればよいですか?例:名:名姓:姓住所:住所など それらは、ブロック、またはコントローラーのどこに配置されますか?レイアウトを作成してフォームを作成するにはどうすればよいですか?私はそのようなことを知ってloadLayoutおりrenderLayout、レイアウトを生成しますが、そのフォームまたはレイアウトのフィールドを使用して必要なフィールドにマップする方法、または次のような異なるアクションを実行できるカスタムメニューを表示する方法 アカウント概要アカウント履歴注文履歴 等私が言ったように、私はMagentoUの「Magento Fundamentals」をフォローしており、これらの質問に答えられないようです。 編集:私はMVCを理解していない可能性がありますか?私はツリーハウスとLyndaに従ってtutsを探していますが、MVC PHP tutsはありません。ASP.net tutのみ。MVCのこのリンクを見つけましたが、それだけの価値がある場合のみですか? 更新:多くのリンクを調査した後、モデルとコントローラーが使用されている理由にまだ混乱しています。ログインしたユーザーに顧客またはダッシュボードに関する情報をどのようにマッピングできますか?提供された例にはgetProduct(1)などの例があり、どのIDを検索して使用し、それに対して機能するかをmagentoがどのように認識するかを示します。つまり、どのようなデータが1.モデル、2。コントローラ、3。に格納されているかを参照します。参照は、XMLで既に定義されているブロックを取得するために使用されますが、実際の実例は良いでしょう。

3
テーマテンプレート内のストア構成を取得する方法
ストア>構成>一般>一般>ストア情報でストアの電話番号設定をテーマのヘッダーに追加しようとしています。モジュールでは、これはgetValue()in を使用して実行できると思います\Magento\Framework\App\Config\ScopeConfigInterfaceが、テーマ内でこれを使用する方法がわかりません。これまでのところ、これをdefault.xmlに追加しました <referenceContainer name="header-wrapper"> <block class="Magento\Framework\View\Element\Template" name="store.phone.number" template="Magento_Theme::phone.phtml" /> </referenceContainer> 中に電話番号を入れる方法がわかりません phone.phtml

1
製品SKUがプロバイダーのデータフィードに表示されない場合に、プログラムで製品の在庫状況を変更する方法
Magento CE 1.9.1 を使用しています。プロバイダーのXMLフィードから製品をインポートするためのインポートスクリプトを作成しました。 このフィードは毎日午前3時に更新されます。私のプロフィーダーは、自分のショップに在庫がある商品のみをxmlで送ってくれます。 では、製品skuがxmlフィードに存在しない場合、どうすれば製品の在庫状況を在庫切れ(製品skuごと)に更新できますか? 私が何をしたいかを説明するために例を置き、データはxmlで提供されます: Monday : Tuesday : Sku qty Sku qty ABC 22 ABC 12 BDE 30 FGH 4 FGH 15 私がしなければならないこと:火曜日xmlに表示されないため、プログラムで製品のBDEを「在庫なし」に設定する必要があります。 私のインポートスクリプトがあります: $file = 'feed.xml'; $feed = simplexml_load_file($file); foreach($feed as $product){ //some datas in xml feed $sku = $product->identifiant_unique; $prix = $product->prix; $titre = $product->categorie3; …

2
Magento ConnectとMagento Marketplace
したがって、公式のMagentoマーケットプレイスは廃止されました。 私はそれが開発者に何を意味するのか疑問に思っていましたか? 開発者はすべての拡張機能をMagentoマーケットプレイスに移動する必要がありますか(Magento Connectはいつシャットダウンされますか?) Magento Connectがシャットダウンされる前に、開発者は両方のプラットフォームで拡張機能を保持する必要がありますか? 顧客はMagento Connect Managerを介して市場から拡張機能をインストールできますか?


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