Magento

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

4
phtml magento 2でルートディレクトリパスを取得する方法は?
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $mediaPath = $fileSystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA)->getAbsolutePath(); メディアパスを返します。phtmlページでプロジェクトのルートパスを取得する方法は?

15
SUPEE-10975潜在的な問題
SUPEE-10975がリリースされました。これを適用しようとして問題が発生した場合、7.2サポートを追加する最新のパッチと競合しますか? これまでのところ、これらは私が見ることができる変更されたファイルです app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php app/code/core/Mage/Adminhtml/controllers/SitemapController.php app/code/core/Mage/Adminhtml/controllers/System/BackupController.php app/code/core/Mage/Captcha/Model/Observer.php app/code/core/Mage/Captcha/Model/Zend.php app/code/core/Mage/Captcha/etc/config.xml app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.7.1.1-1.6.0.7.1.2.php app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php app/code/core/Mage/Payment/etc/config.xml app/code/core/Mage/Payment/etc/system.xml app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php app/code/core/Mage/Sendfriend/Block/Send.php app/code/core/Mage/Wishlist/controllers/IndexController.php app/code/core/Zend/Controller/Request/Http.php app/design/adminhtml/default/default/template/cms/browser/content/files.phtml app/design/frontend/base/default/layout/captcha.xml app/design/frontend/base/default/template/wishlist/sharing.phtml app/design/frontend/rwd/default/layout/page.xml app/design/frontend/rwd/default/template/sendfriend/send.phtml app/etc/modules/Mage_All.xml app/etc/modules/Mage_Captcha.xml app/locale/en_US/Mage_Wishlist.csv js/lib/jquery/jquery-1.12.0.js js/lib/jquery/jquery-1.12.0.min.js js/lib/jquery/jquery-1.12.0.min.map js/lib/jquery/jquery-1.12.1.js js/lib/jquery/jquery-1.12.1.min.js js/lib/jquery/jquery-1.12.1.min.map これらの変更で誰かが問題に遭遇しましたか?


5
.phtmlファイルでヘルパーメソッドを呼び出す方法
magento 2で何かを開発しようとしています。しかし、template(.phtml)ファイルでヘルパーメソッドを呼び出す方法が見つかりませんでした。 以下のコードの置き換えが必要です: $this->helper('modulename/helpername')->methodname(); 誰もが知っていれば助けてください。
16 magento2  phtml  helper 

5
関連製品があり、全ページキャッシュがオンの場合の製品ページのエラー
関連製品があるいくつかの製品でこのエラーが発生します。 Warning: Invalid argument supplied for foreach() in vendor/magento/module-catalog/Block/Product/ProductList/Related.php on line 129 この問題は、ページ全体のキャッシュがオンの場合にのみ発生します。残念ながら、速度の差は非常に大きいため(ページキャッシュを使用すると2秒以上速くなります)、無効にすることはできません。 テーマ、カスタムモジュールなどを削除して、知っていることをすべて試しました。 環境:生産、2.1.0、ワニス。 これは完全なスタックトレースです。 a:4:{i:0;s:190:"Warning: Invalid argument supplied for foreach() in vendor/magento/module-catalog/Block/Product/ProductList/Related.php on line 129";i:1;s:5441:"#0 vendor/magento/module-catalog/Block/Product/ProductList/Related.php(129): Magento\Framework\App\ErrorHandler->handler(2, 'Invalid argumen...', '/home/11396-492...', 129, Array) #1 var/generation/Magento/Catalog/Block/Product/ProductList/Related/Interceptor.php(37): Magento\Catalog\Block\Product\ProductList\Related->getIdentities() #2 vendor/magento/module-page-cache/Model/Layout/LayoutPlugin.php(71): Magento\Catalog\Block\Product\ProductList\Related\Interceptor->getIdentities() #3 vendor/magento/framework/Interception/Interceptor.php(152): Magento\PageCache\Model\Layout\LayoutPlugin->afterGetOutput(Object(Magento\Framework\View\Layout\Interceptor), ' <script>\n ...') #4 var/generation/Magento/Framework/View/Layout/Interceptor.php(494): Magento\Framework\View\Layout\Interceptor->___callPlugins('getOutput', Array, …

3
ビューJsまたはhtmlファイルでベースURLまたは動的URLを取得する
必要に応じてフロントエンドで動的なURLを取得して、単純に定義mage/urlして使用することができますurl.build('<Modulename>/<controllername>/<action>/') バックエンドに対して同じことを試みたとき、期待した結果が返されませんでした。 現在のURLを指定し、指定したパスを追加します。 誰もこれがどのように機能するか説明できますか。どこかでbaseUrlを定義する必要がありますか?


4
Magento 2ドロップダウンリストを配送方法に追加
物流会社の配送方法を開発しています。この会社には、顧客が注文を受け取ることができる多くのオフィスがあります。APIで市区町村別にオフィスのリストを取得できますが、このステップをどれほどうまく表現できないのでしょうか? 今のところ、私\Magento\Quote\Model\Quote\Address\RateResult\Method は町のすべてのオフィスに新しく設定しました。大きな町では数が100を超えており、チェックアウトで100行を設定するのはあまり良くないと思います。 さまざまなチェックアウトデザインのパブリックモジュールになるため、選択した配送方法の近くにオフィスのリストを含むドロップダウンリストを表示し、ユーザーが選択した後に価格と方法を設定するにはどうすればよいですか。

2
モノMagento 2は「ミックスイン」と呼ばれるものをどのように実装していますか?
Magento 2のRequireJSベースのオブジェクトシステムには、「ミックスイン」と呼ばれる機能が含まれています。Magento 2のミックスインは、ソフトウェアエンジニアが通常ミックスイン/特性と考えるものではありません。代わりに、Magento 2ミックスインを使用すると、RequireJSモジュールが返すオブジェクト/値を、メインプログラムがそのオブジェクト/値を使用する前に変更できます。このようにMagento 2ミックスインを設定します(requirejs-config.jsファイルを使用) var config = { 'config':{ 'mixins': { //the module to modify 'Magento_Checkout/js/view/form/element/email': { //your module that will do the modification 'Pulsestorm_RequireJsRewrite/hook':true } } } }; 次に、hook.js(または構成したRequireJSモジュール)が必要です。 define([], function(){ console.log("Hello"); return function(theObjectReturnedByTheModuleWeAreHookingInto){ console.log(theObjectReturnedByTheModuleWeAreHookingInto); console.log("Called"); return theObjectReturnedByTheModuleWeAreHookingInto; }; }); 関数を返します。Magentoはこの関数を呼び出し、変更する「モジュール」への参照を渡します。この例では、RequireJSモジュールによって返されるオブジェクトになりますMagento_Checkout/js/view/form/element/email。これは関数である場合も、スケーラー値である場合もあります(RequireJSモジュールが返すものに応じて)。 このシステムはmixins、元のRequireJSモジュールから返されたオブジェクトがextendメソッドをサポートしている場合にmixinのような動作を作成できるため、呼び出されているように見えます。 define([], function(){ 'use strict'; console.log("Hello"); var …

1
Magento 2:2つのグリッドコンポーネントデータプロバイダーの違いは何ですか?
Magento 2.1では、合計25のUIコンポーネントリスト/グリッドデータプロバイダーが構成され、使用されています。データプロバイダーのクラスとui_componentファイルを以下にリストします Magento\Bundle\Ui\DataProvider\Product\BundleDataProvider bundle_product_listing.xmlMagento\Catalog\Ui\DataProvider\Product\Attributes\Listing product_attributes_grid.xml Magento\Catalog\Ui\DataProvider\Product\ProductCustomOptionsDataProvider product_custom_options_listing.xml Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider configurable_associated_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\CrossSellDataProvider crosssell_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\RelatedDataProvider related_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\UpSellDataProvider upsell_product_listing.xml Magento\Cms\Ui\Component\DataProvider cms_block_listing.xml Magento\Cms\Ui\Component\DataProvider cms_page_listing.xml Magento\ConfigurableProduct\Ui\DataProvider\Attributes product_attributes_listing.xml Magento\Customer\Ui\Component\DataProvider customer_listing.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider customer_online_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_creditmemo_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_invoice_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_shipment_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_creditmemo_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_invoice_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_shipment_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider search_synonyms_grid.xml BraintreeTransactionsDataProvider (virtual type) braintree_report.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider Magento\GroupedProduct\Ui\DataProvider\Product\GroupedProductDataProvider grouped_product_listing.xml …

5
Magento 2にサードパーティの拡張機能をインストールするためのベストプラクティスは何ですか?
Magento 2のクライアントプロジェクトの作業中に、サードパーティの拡張機能を読み込んで追跡する方法を数多く発見しました。 インテグレーターのインストール方法(作曲家!)を使用していると仮定して、これに進むと、サードパーティの拡張機能を管理するためのベストプラクティスは何ですか? これまで、私が購入またはダウンロードしたすべての拡張機能には、独自のcomposer.jsonファイルがあり、拡張機能の作成者が拡張機能のインストールを推奨する少なくとも3つの異なる方法を知っています。 これらのファイルをアプリ/コードにコピーします このzipをフォルダーにコピーし、アーティファクトリポジトリとして追加し、それを必要とします このオンラインリポジトリ(認証あり/なし)を追加し、必要とします これまでのところ、私は1と2に出くわし、#3が存在するのではないかと疑っています。しかし、その後、#1を示唆したものが「パス」リポジトリを持つことができることに気付きました-私の拡張機能をアプリ/コードからこれらのアーティファクトを置くことにした同じフォルダに移動し、それを必要としました。 このプロセスでは、リポジトリの構成は次のようになります。 "repositories": { "0": { "type": "composer", "url": "https://repo.magento.com/" }, "artifacts": { "type": "artifact", "url": "artifacts" }, "third-party": { "type": "path", "url": "artifacts/*/*" }, }, あなたへの私の質問は-ここでのベストプラクティスは何ですか?サードパーティの拡張機能をどのように管理しますか? これまでのところ、私がやっている方法が最良の方法だと信じています-composer.jsonが読み込まれ、依存関係の競合(またはPHPバージョンの制約)が明らかになるからです-しかし、それは十分に決定的ではないと思います。

7
チェックアウトページにヘッダーとフッターを追加するMagento2
デフォルトでは、Magento 2はCHECK OUTページでHEADERとFOOTERを提供しません。 だから私はパス上のcheckout_index_index.xmlファイルをチェックしました app/design/frontend/package_name/theme_name/Magento_Checkout/layout/override/base ヘッダーとフッターに削除属性セットがあります したがって、remove = trueからremove = falseに remove属性を設定解除します。 しかし、ヘッダーとフッターがチェックアウトページに表示されないので、チェックアウトページでヘッダーとフッターを取得する方法を教えてください。

1
Magento 2ミニカート、ウェルカムメッセージ、その他は、ログイン後にページキャッシュを無効にすると機能しない
Magentoの2.0.4キャッシュ、より具体的にページのキャッシュが有効になって、すべての作品を。 無効にした場合、Cookieをクリアし、ミニカートの製品が存在しないよりも顧客としてログインします。 ウェルカムメッセージは実際には正しく機能しません。ミニカートを見るには、製品ページからカートに製品を追加する必要があります。チェックアウトに行った場合、国は住所の要約に表示されません(配送先住所はアカウントに既に追加されています)。 デバッグを行ったところ、問題が指しているように見えます: module-customer/view/frontend/web/js/customer-data.js。Cookieはでprivate_content_version設定module-page-cache/view/frontend/web/js/page-cache.jsおよび使用されcustomer-data.jsます。customerData::reload機能を参照してください。 ページキャッシュを無効にすると、関数のようにサーバーからデータが読み込まれませんdataProvider::getFromServer()。 ページキャッシュが無効な場合、Cookie private_content_versionは存在しません(page-cache.jsはコース外で実行されません)。ただし、Cookieにsection_data_idsは「*」と「メッセージ」=>空(falseまたはnull)しかありません。 ページキャッシュが有効になっている場合、値private_content_versionをsection_data_ids持つキーとそのキーがあります。 *: null cart: 123 compare-products: 123 customer: 123 directory-data: 123 last-ordered-items: 123 multiplewishlist: 123 review: 123 wishlist: 123 ページキャッシュを有効にしてログインした後、顧客のダッシュボードには、データをロードする2つの追加のajaxリクエストがあります。 http://test.localhost/customer/section/load/?sections=&update_section_id=false&_=123 http://test.localhost/customer/section/load/?sections=directory-data&update_section_id=false&_=123 これらには、すべての国と地域のような顧客固有のデータとディレクトリデータを持つJSONオブジェクトが含まれます。これらの呼び出しでは、チェックアウト時に住所の要約に国名が表示されます。module-customer/view/frontend/web/js/sections-config.js およびmodule-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js、functionを参照してくださいgetCountryName。 これはMagento 2のバグですか、それとも私が台無しにしたものですか?ありがとう

1
Magento 2:UIリストコンポーネントに2つのコレクションが必要な理由
Magento 2には新しい " uiComponent"機能があります。これにより<uiComponent/>、レイアウトハンドルXMLファイルに簡単なタグを含めて、グリッドやフォームなどをアプリケーションページに追加できます。 表示されるデータグリッド(A用の設定があることlisting)が必要2つのコレクション・オブジェクトを構成します。 以下の各構成コレクションの役割は何ですか?または、これらのコレクションの役割を誤解していますか?または、単一のコレクションのみを使用してグリッドオブジェクトを作成する方法はありますか? 次の構成は、名前付きコンポーネントをリストするUIをセットアップします cms_page_listing vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_listing.xml そして、次のDIインジェクションはcms_page_listing、Magento\Cms\Model\ResourceModel\Page\Grid\Collectionコレクションを使用する必要があることをMagentoに伝えます。 <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory"> <arguments> <argument name="collections" xsi:type="array"> <item name="cms_page_listing_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Grid\Collection</item> </argument> </arguments> </type> これは、グリッドの設定に使用されるメインコレクションのようです。 ただし、構成にもこれPageGridDataProviderがありcms_page_listingます。 <!-- File: vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_listing.xml --> <argument name="dataProvider" xsi:type="configurableObject"> <argument name="class" xsi:type="string">PageGridDataProvider</argument> <argument name="name" xsi:type="string">cms_page_listing_data_source</argument> <argument name="primaryFieldName" xsi:type="string">page_id</argument> <argument name="requestFieldName" xsi:type="string">id</argument> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item …

4
Magento 2にjQueryライブラリを追加する
サードパーティの開発者はどのようにしてjQueryライブラリをMagento 2に追加できますか? Magento 2のフロントエンドテーマにはjQueryのバージョンが含まれていますが、jQueryオブジェクトはグローバル名前空間ですぐには使用できません。これは、Magento 2がRequireJSを使用してjQueryをプルし、RequireJSが必要になるまでモジュールファイルをロードしないためです。 これは、jQueryプラグインの問題を示しています。通常、このようなHTMLのプラグインを含めます <script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script> ただし、これはMagento 2では不可能jquery.cookie.jsです。ファイルはグローバルjQueryオブジェクトを使用してjQueryプラグインを定義するため、Magento 2ではjQuery is not definedエラーで失敗します。 フロントエンドの開発者は、Magento 2のフロントエンドアプリケーションに標準のjqueryプラグインライブラリをどのように含めるべきですか?

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