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

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


2
magento2が使用するzendコンポーネントは何ですか?
Magento2はzend framewok 1、zend framework 2、symfonyなどを使用しています。 zend framewok 1から取得したコンポーネントとzend framewok 2から取得したコンポーネントについて教えてください。 例えば: Zend_Db(zend 1から) Zend_Json(zend 2から) Zend_mvc(Zend 1から) 等 また、各フレームワークからのパーセント(正確にはわかりません。私は難しいことを知っています) 例えば: zend framewok 1:45% zend framewok 2:25% symfony:30% update:composerを通じて、magentoを使用しているコンポーネントを特定できません。 例:symfony / configまたはzend / config(両方のコンポーネントがcomposerに存在していました)

2
magento 2の単体テストのオブジェクトマネージャーを使用してScopeConfigInterfaceを取得する方法
ユニットテストの行をmagento 2データベースのcore_config_tableから読み取ろうとしています。このリンクを読んだので、この仕事を成し遂げることを知っています 。私は使用する必要があります: \Magento\Framework\App\Config\ScopeConfigInterface 使って: \Magento\Framework\TestFramework\Unit\Helper\ObjectManager これが私のコードです: protected function setUp() { $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $this->scopeConfig = $objectManager->getObject('\Magento\Framework\App\Config\ScopeConfigInterface'); } public function testgetImageCDNConfigValue() { $this->scopeConfig->getValue($this->path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE); if ($this->scopeConfig == null) { $this->assertFalse(true); } else { $this->assertTrue(true); } } testObjectを使用して必要なすべてのオブジェクトを取得できますが、取得したい\Magento\Framework\TestFramework\Unit\Helper\ObjectManagerときはいつでも\Magento\Framework\App\Config\ScopeConfigInterface 致命的なエラー:C:\ xampp \ htdocs \ magento \ vendor \ magento \ framework …


2
ブロックを書き換えるときにMagento2でテンプレートを書き換える必要がありますか?
この質問は、Magento2のベストプラクティスに従うことです。 要素の周りにラッパーを追加するために、\ Magento \ Theme \ Block \ Html \ Topmenu :: _ addSubMenu()メソッドを書き換える必要がありました。今、それは保護された方法なので、私の理解は設定機能を使わなければならないということです: <preference for="Magento\Theme\Block\Html\Topmenu" type="MyCompany\Theme\Block\Html\Topmenu" /> そして私の書き換えでクラスを追加します: <?php namespace MyCompany\Theme\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, $limit) { // my stuff } } デフォルトのクラスは書き直されましたが、次のページのリロードで次のエラーが発生しました: main.CRITICAL:無効なテンプレートファイル:モジュールの 'html / topmenu.phtml': 'MyCompany_Theme'ブロックの名前: 'catalog.topnav' [] [] MagentoはMagento_Themeではなく、私の拡張機能の下でhtml / …

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

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