Magento

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


2
Magento 2顧客グループの形式で追加されたカスタムフィールドを保存する方法
を使用して、いくつかのカスタムフィールドを顧客グループのフォームに追加しましたupgradeSchema.php。 その後、提供されたAPIのセッターメソッドを使用して、顧客グループコードや納税者番号などの元のフィールドが保存されていることがわかりました。保存にsetXXX()を使用するだけで、Magento 1.Xとは完全に異なります。

1
設定可能なスウォッチ
靴のオンラインショップがあります。 たとえば、次の単純な製品を含む構成可能な製品「Shoes XXX」を用意したいとします。 「シューズXXXカラーブラックサイズ40」 「シューズXXXカラーブラックサイズ41」 「シューズXXXカラーブラックサイズ42」 「靴XXXカラーグリーンサイズ39」 「シューズXXXカラーグリーンサイズ41」 「シューズXXXカラーレッドサイズ38」 「シューズXXXカラーレッドサイズ40」 私はmagento 1.9のコア機能を使用しています(そして、この拡張機能https://github.com/wigman/AjaxSwatchesを見つけましたが、まだテストしていません) 同じ色(サイズが異なる)の製品に個別の画像をアップロードしたくない。そのための方法はありますか? また、色見本(magento 1.9のコア機能)では、小さな製品画像を選択した色で表示したいと思います。どうやってやるの?

2
製品コレクションの問題-価格データが正しくないか、在庫切れのアイテムが表示されない
現在のカテゴリに基づいて製品コレクションを取得しています。このコレクションには在庫のある商品と在庫のない商品の両方を含める必要があり、価格設定データを正しく表示する必要もあります。 私のストアは、製品の価格を税込みで格納するように構成されており、ストアフロントで価格を包括的および排他的の両方で表示します。 コレクションを取得するためのコードは次のとおりです。 $category = Mage::registry('current_category'); $_productCollection = Mage::getModel('catalog/product')->getCollection() ->addCategoryFilter($category) ->addAttributeToSelect(['sku', 'name', 'price']) ->addAttributeToFilter('status', 1) ->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC); 上記の問題は、getPriceHtml()メソッドを使用して価格ブロックをロードすると、包括価格と排他価格の両方が包括価格として表示されることです。 調査の結果、addFinalPrice()コレクションにメソッドを追加すると、予想される価格設定(正しい独占価格と正しい包括価格)が得られることがわかりました。 ただし、このaddFinalPrice()方法を含めると、私のコレクションに在庫切れの商品が含まれなくなります。 正しい価格データを返し、コレクションに販売可能な商品と在庫切れの商品の両方を含める方法はありますか?

3
Magento2のモジュールを介してテンプレートを上書きする方法
モジュールを作成していて、テンプレートを上書きしたいapp/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml。 これはモジュールで可能ですか(テーマではありません) 残念ながら、これはhttps://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Blockにハードコードされているため、レイアウトXMLを介してモジュール名を変更するのは簡単ではないようです。 /Adminhtml/Product/Edit/Tab/Options.php#L21

2
このif-else-conditionはレイアウトXMLで可能ですか?
2つの異なるCSSを表示したい <action method="addItem" ifconfig="module/general/enable"> <type>js_css</type> <name>module/app.css</name> </action> XMLでは使用しますifconfigが、次のように2つの異なるCSSファイルを追加します if(marketplace / general / enable == 1){ css-1 } そうしないと { css-2 } これどうやってするの?

2
JS(Knockout.js)を介してロードされた、独自のテーマのテンプレートファイルのオーバーライド
Magento 2.0の公式フォーラムは役に立たないため、ここにも質問を投稿します。 現在、Magento Blankテーマに基づいて独自のテーマを構築しています。ヘッダーのミニカートドロップダウンに2つの小さな変更を実装したいと考えています。これらのファイルはJS(Knockout.jsフレームワーク)を介して読み込まれますが、同じフォルダー(Name/name2/web/template/minicart/item/default.html)内の独自のテーマにファイルを複製して編集するだけでは変更が表示されないため、この場合のオーバーライド動作は異なると考えられます。 誰かが私たちを正しい方向に向けることができますか?ありがとう!

2
コアファイルを変更せずに請求書PDFで「₹」を適切に表示するにはどうすればよいですか
₹フロントページと製品ページで適切に表示されています。ただし、請求書や発送のpdfには正しく表示されません。適切に表示するための変更方法。 私は中に変更しようとしているlib/zend/locale/data/root.xmlともでadmin/system/manage currency/symbolsますが、変更は、PDFの中で更新ません。

4
在庫切れ商品の商品コレクションを取得する方法-addInStockFilterToCollection()の反対?
カテゴリーの製品を2つのリストに表示する必要があります。1つは在庫ありアイテム、もう1つは在庫なしアイテムです。 私は使っています Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection() 在庫のあるアイテムの製品コレクションをフィルター処理しますが、在庫のないアイテムをフィルター処理する同等の方法がないようMage_CatalogInventory_Model_Stockです。前述のメソッドが定義されているモデルを確認しました。 在庫切れの商品を取得する次の例を見ました。 $collection->joinField( 'is_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', '{{table}}.stock_id=1', 'left' ) ->addAttributeToFilter('is_in_stock', array('eq' => 0)); ...しかし、これはこれを達成するための唯一の方法または最良の方法ではありませんか?

1
Magento 2:不変状態のデータオブジェクトを作成しますか?
別のMagento 2のコメントをダブテールにする 計算された値を共有する必要がある場合は、計算動作を配置してオブジェクトを分離し、その値を必要とするブロックから呼び出します。レジストリはグローバルな変更可能な状態であり、そこから何が得られるか確信が持てないため、推奨されません。 Magento 2で不変状態のオブジェクトを作成する方法はありますか?レジストリ(Magento\Framework\Registry)はグローバルな変更可能な状態であるため、register使用しないことをお勧めします(この方法では既存のキーを変更できないが、そのキーを設定解除してリセットできるためと考えられます)。 ただし、Magento 2のすべてのオブジェクトに同じ問題が存在します。オブジェクトを作成する場合 namespace Pulsestorm\Helloworld\Model; use Magento\Framework\DataObject; class ViewVars extends DataObject { } 次に、自動コンストラクタ依存性注入により、誰でもその共有オブジェクトを取得できるようになります。オブジェクトが共有されていない場合、ビュー/ブロックはオブジェクトを取得できません。 理論的には、次のようなことができます namespace Pulsestorm\Helloworld\Model; class ViewVars { protected $_data=false; protected function setData($data) { if($_data) { throw new Exception("Immutable"); } $this->_data = $data; } public function getData() { return $this->_data; } } しかし、それはビューの個々の変数を設定するのと同じくらい一般的なタスクの多くの作業のようです。Magento 2で、知らない不変のデータオブジェクトを作成するより良い方法はありますか?

2
magento 2でカスタムモジュールjsファイルをロードする方法
magento 2用のバナースライダーモジュールを作成しました。JSファイルを次の方法で呼び出し、正常に動作しました。ブロッククラスで次の関数を作成しました public function getBaseJs($fileName){ return $this->_storeManager->getStore()->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_MEDIA ).'bannerslider/js/'.$fileName; } この関数はbannerslider.phtml、次のようにファイルで呼び出されます。 <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery-1.7.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery.flexslider.js') ?>"></script> しかし、require.jsHow do can do it itのjQuery依存メカニズムによると?

2
BASE64_LENGTH_79_INF:SpamAssasinがトランザクションメールにペナルティを課す
Magentoショップからのトランザクションメールがスパムとしてマークされることが多いことに気付きました。Apache SpamAssasinは2.0、BASE64_LENGTH_79_INFルールからスコアを提供します。 ルールの説明は次のとおりです。 http://en.wikipedia.org/wiki/Base64によると、base 64の長さは76文字のみにする必要があるため、これらの形式は不適切です。 リンクされているウィキペディアの記事から: MIMEでは、Base64でエンコードされた行の固定長は指定されていませんが、最大行長は76文字です。さらに、ほとんどの実装ではエンコードされた行を区切るためにCR / LF改行ペアを使用しますが、準拠するデコーダーではアルファベット以外の文字を無視する必要があることを指定します。 そのため、base64でエンコードされたコンテンツが期待どおりに行に分割されていないようです。誰かが同じことに遭遇しましたか?この不正なフォーマットの原因は何ですか?

1
管理者ログイン後に前のURLにリダイレクト
ログイン後に管理者ユーザーが開いたURLにリダイレクトされるようにしたい。次のような管理領域のカスタムモジュールページへのリンクを取得する必要があります。 https://magento.example/index.php/admin/admin_mycoolmodule/adminhtml_viewawesome/view/showpage/awesome/howmuch/9001/ もちろん、すでにログインしていない限り、ログインページにリダイレクトされます。 ログイン後にこのページにリダイレクトするにはどうすればよいですか? URLの秘密鍵は無効になり、そのまま使用できます。 代わりに、構成済みのデフォルトページ(デフォルトはダッシュボード)を取得します。

1
Magentoで開発から本番へのDBの変更をデプロイする方法
モジュールには、DBを開発から本番に移植できるようにするためのインストールスクリプトとデータセットアップスクリプトがあることを知っています。 しかし、私たちのケースでは、開発DBに格納される管理インターフェイスを介して属性と製品を追加するUI開発者がいます。 リリース日には、面倒で時間がかかるため、開発環境で行ったすべての手順を繰り返すことはできません。 デプロイ時にこのようなDBの変更を処理する方法はありますか? とりあえず、開発DBと製品DBの間で差分を実行し、リリース日に実行されるSQLを生成しています。ただし、開発用DBにはテストトランザクションデータが含まれる可能性があり、SQLにトランザクションテーブルを変更するステートメントがある場合、トランザクションテーブルをprodでロックしてしまう可能性があるため、これは少し危険です。 これに関するベストプラクティスはありますか?事前に助けてくれてありがとう

4
シンプルな製品コレクションを読み込む(在庫ありと在庫なしの両方)
構成可能な製品のすべての「子」製品をコレクションにロードするときに問題が発生しました。 このような製品をロードするように: $simpleCollection = $configurable->getUsedProductCollection() ->addAttributeToSelect('*') ->addFilterByRequiredOptions(); foreach ($simpleCollection as $simple) { //$simple->getName(); } 在庫切れの子商品は無視されます。おそらくそれらは価格表にリストされていないため、結合されています。 getChildrenIdsによってすべての子IDをロードせずに、各単純な製品をloadでロードする別のオプションはありますか?

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