Magento

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

2
Magento CEでニスを使用するために必要な変更
VarnishがMagentoサイトをキャッシュできるようにするには、どのような修正が必要であるかの良い実例を見つけるのに苦労しています。 理想的には、無効/有効にするものやそれらを探す場所などのタスクのリストが欲しいです。また、これらの変更が機能するように設計されたVarnish構成を用意しておくとよいでしょう。 Magentoのパフォーマンスガイドはワニスについて多くのことを話しているので、以前に行われたことは知っていますが、実際に機能させる方法については説明していません。

1
合計注文と追加情報のカスタマイズ
次の合計スタイルをオンにしたい場合checkout/cart: ディスカウント 小計 送料または情報テキスト:「送料を除く」 追加テキスト:「30EURからの送料無料」(常に表示) 総計 含む 税金 問題点 バックエンドで「Checkout Totals Sort Order」を正しく設定しても、最後に総計が常に表示されます 合計の間に追加の情報ブロックを配置する方法は? 1つの合計が存在しない場合の情報テキストの表示方法(配送)
14 cart  template  totals 

2
階層化ナビゲーションのレイアウトを変更する
階層化されたナビゲーションがあり、顧客<select/>はリンクの長いリストの代わりにフィールドを持つことを望んでいます。 フィルターの名前/ IDが一致する場合、オブザーバーでテンプレートを変更することを考えました。 より良いアイデアや推奨事項はありますか?テンプレートを変更する代わりに、ブロックを上書き/書き換えするか、2つのフィルターのブロッククラスのみを変更しますか? テンプレートの変更に使用するイベントは何ですか? 私はレイアウトのものを変更するオブザーバーを持っているため、ここで/programming/14524791/magento-enable-or-disable-a-module-in-code/14529629と同じ問題を抱えています。これはテーマにのみ関連します。更新を実行する前にテーマをチェックするのは良いアイデアかもしれませんか?


1
_minicart.lessのようにweb / css / source / moduleにあまり見られないモジュールを拡張する最良の方法は?
それでは、<module>/web/css/source/module/たとえば、より少ないファイルのコンテンツを拡張する最良の方法はどれMagento_Checkout/web/css/source/module/_minicart.lessですか? それを想定して A)オーバーライド テーマ関連の少ない親テーマと同じ名前のlessを作成(またはコピー)し、次のようにテーマに配置する必要がありますtheme-frontend-blank/web/css/source/_buttons.less-><your-theme>/web/css/source/_buttons.less モジュール固有のless親テーマと同じ名前のlessを作成(またはコピー)し、次のようにテーマに配置する必要がありますtheme-frontend-blank/Magento_Theme/web/css/source/_module.less-><your-theme>Magento_Theme/web/css/source/_module.less UI lib lessライブラリライブラリフォルダーに同じ名前のコンテンツでlessを作成(またはコピー)し、次のようにテーマに入れますmagento2-base/lib/web/css/source/lib/_buttons.less-><your-theme>Magento_Theme/web/css/source/lib/_buttons.less そしてへ B)延長 テーマ関連の少ないテーマで _extend.lessファイルを作成し、このような名前で_extendを追加<your-theme>/web/css/source/_navigation_extend.lessして拡張し、web / css / sourceのテーマコンテンツの_extend.lessで@importディレクティブでtheme-frontend-blank/web/css/source/_navigation.lessそのファイルを登録する必要があります->@import "_navigation_extend.less" 特定のモジュール以下<your-theme>Magento_CatalogSearch/web/css/source/_extend.lessでは、Magento_CatalogSearchの元の_module.lessを拡張するこのようなテーマモジュールパスに_extend.lessファイルを作成する必要があります UI 11bが少なく、あなたが追加したフォルダ以下のライブラリに同じ名前のコンテンツとを作成する必要があります_extendを次のように名前に<your-theme>Magento_Theme/web/css/source/lib/_buttons_extend.less拡張するmagento2-base/lib/web/css/source/lib/_buttons.lessと、そのファイルを、レジスタ@importのウェブ/ CSS /ソース内のテーマコンテンツの_extend.lessで指示- >@import "lib/_buttons_extend.less" 理論では、_minicart_extend.lessを作成するように提案する必要がありますが、自動的には機能しません。B1またはB3で説明したように、そのモジュールの_extend.lessにそのファイルをインポートする必要がありますか? また、これらのコンポーネントを拡張する正しい方法であるが、_extend.lessにインポートする必要がある場合、これらのコンポーネントは拡張が少ないため、CSSの解析に自動的に含まれません。 (ここでは別の質問も来:との違い何web/css/source/lib/_buttons.lessとはweb/css/source/_buttons.less?😕) 私は少し混乱しています。誰かが私を助けてくれることを願っています。 この長いテキストでごめんなさい。 ソース: http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/css-topics/css-overview.html http://inchoo.net/magento-2/working-with-css-in-your-first-magento-2-project/comment-page-1/#comment-434125

2
チェックアウトフォーム-クラス内の複数の要素をラップする方法-Magento 2
div内で2つのチェックアウトフォーム要素をどのようにラップしますか? たとえば、これらの国と郵便番号/郵便番号フィールドをのクラスでdivにラップしたいexample-class場合、どうすればよいでしょうか? 私が試したこと 私はそれらを子として追加することでこれを達成しようとしました<item name="shippingAddress" xsi:type="array">が、それはフロントエンドでエラーを引き起こすだけです。内部.example-classにラベルのない空白のテキスト入力を取得しましたが、フロントエンドにエラーがありました。 エラー: Cannot read property 'indexedOptions' of undefined これは私の簡単な試みです: Magento_Checkout / web / template / shipping-address / form.html <div id="shipping-new-address-form" class="fieldset address"> <div class="testing"> <!-- ko foreach: getRegion('example-class') --> <!-- ko template: getTemplate() --><!-- /ko --> <!--/ko--> </div> <!-- ko foreach: getRegion('additional-fieldsets') --> <!-- ko …

2
Magento2でコアプラグインをオーバーライドまたは無効にする方法
Magento2を使用してマーケットプレイスを構築しています。そのため、ベンダーの顧客資格情報を使用して顧客の注文を読み込むことができる必要があります。 これに関する問題は、Magento2がプラグインを使用して、この注文の顧客(または管理者)のみが注文をロードできることを確認することです。 この場合、プラグイン全体をオーバーライドするか、protected methodをオーバーライドする必要がありますisAllowed()。コアを変更せずに何ができますか? Magento\Sales\Model\ResourceModel\Order\Plugin\Authorization このように見える: use Magento\Authorization\Model\UserContextInterface; use Magento\Framework\Exception\NoSuchEntityException; class Authorization { /** * @var UserContextInterface */ protected $userContext; /** * @param UserContextInterface $userContext */ public function __construct( \Magento\Authorization\Model\UserContextInterface $userContext ) { $this->userContext = $userContext; } /** * Checks if order is allowed * * @param \Magento\Sales\Model\ResourceModel\Order $subject * …

1
Magento 2:定義済みのフィルター値を使用して管理グリッドを読み込むにはどうすればよいですか?
事前定義されたフィルターを使用して、管理者にカスタムグリッドへのリンクを作成したい。グリッドはUIリストコンポーネント(XML)でform_id作成され、次のように設定された列があります。 <column name="form_id"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="filter" xsi:type="string">textRange</item> <item name="label" xsi:type="string" translate="true">Form id</item> </item> </argument> </column> グリッドは正常に機能します。フィルターを適用でき、すべてがうまく機能します。グリッドはXHRリクエストで適切に更新されます。 しかし...ある時点でフィルターの値を事前に定義できるようにしたい。たとえば、ID = 3でフィルターされたときにグリッドを開くことができます。 そのため、XHRリクエストと同じURLパラメーターを使用してページをロードし、必要なパラメーターのみを追加するだけで済みます。 ?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1 と同様: ?filters[form_id][from]=3&filters[form_id][to]=3 両方とも成功しませんでした。では、URLを使用してフィルターを事前に入力するにはどうすればよいですか? 編集: これが他の質問と重複しているかどうかはわかりません(以下のコメントに記載されています)。私の場合、グリッドのコレクションとして仮想タイプを使用しています。 <virtualType name="Vendor\Module\Model\ResourceModel\Response\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult"> <arguments> <argument name="mainTable" xsi:type="string">vendormodule_form_response</argument> <argument name="resourceModel" xsi:type="string">Vendor\Module\Model\ResourceModel\Response</argument> </arguments> </virtualType> したがって、グリッドウィジェット用の物理的なBlockクラスを持っているのではなく、XMLをリストするUIコンポーネントで純粋に作成されています。 それにもかかわらず、言及された質問が私のユースケースに役立つかどうかとにかくチェックします。
14 magento2  admin  grid  filter 

4
v2.1でブロックをオーバーライドする方法
Magento 2.1のTopmenuブロックをオーバーライドしようとしていますが、そのためのガイドが見つかりません。私がここや他の場所で見つけたものはすべて、異なるフォルダ構造を使用しているように見えるバージョン2.0にのみ適用されるようです。 カスタムテーマの現在のフォルダー構造はapp/design/frontend/Vendor/theme_nameです。この中に、登録、テーマ、および作曲家のファイルと、さまざまなモジュールのフォルダー(例:Magento_Themeおよび)がありMagento_Searchます。 私が理解していることetc/di.xmlから、ここから編集された以下のようなファイルで始める必要があります: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Theme\Block\Html\Topmenu" type="[Namespace]\[Module]\Block\Html\Topmenu" /> </config> 私はまた、次のステップがBlock/Html/Topmenu.php以下のようなファイルを追加することであることも理解しています(再び上記のソースから編集): namespace [Namespace]\[Module]\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, $limit) { } } しかし、それは私がのために使うべきものを私に明らかではない[Namespace]と[Module]、あるいはどここれらのファイルを配置します。私は、ベンダーとテーマ名を使用してみました、と置いてきたetcとBlockのフォルダをapp/design/frontend/Vendor/theme_name、同様にそれらを置くことapp/design/frontend/Vendor/theme_name/Magento_Theme、に名前空間を修正Vendor\theme_name\Magento_Theme\Block\Htmlしますが、効果がありませんどちらも。 バージョン2.1でTopmenuブロックをオーバーライドするために(および他のブロックを推論するために)私が何をする必要があるかを正確に説明できる人がいれば幸いです。 補遺 Khoa TruongDinhの回答を試みましたが、影響はありませんでした。次のファイルを使用しました。 app/code/Vendor/MagentoTheme/Block/Html/Topmenu.php <?php namespace Vendor\MagentoTheme\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, …

5
Magento 2開発者モードは静的ファイルを自動的に再生成しません
開発者モードでMagento 2.0.2をインストールしていますが、CSSを変更するたびに静的ビューファイルを再生成するように強制する方法がまだわかりません。 実行して、開発者モードになっていることを確認しました php bin/magento deploy:mode:show で、このページには、その開発者モードは、キャッシュの静的ビューファイルを無効にすると言うが、それは私にとってはそうではありません。 このソリューションでdi.xml言及されているように編集しようとしましたが、Magentoの動作は変わりませんでした。 静的ビューファイルを自動的に再生成するようにmagentoに指示するにはどうすればよいですか?

6
Magento 2:登録フォームに住所フィールドを表示する方法
顧客登録フォームに住所フィールドを表示したい(デフォルトの請求先住所に保存する)Magento 1での操作方法は知っていますが、Magento 2には驚かされます。 magento 1のようなxmlファイルの更新 <customer_account_create> <reference name="customer_form_register"> <action method="setData"><key>show_address_fields</key><value>1</value></action> </reference> </customer_account_create>

3
Magento2-ホームページにブロックコンテンツを表示する方法
ホームページにブロックコンテンツを表示する方法は? サンプルデータなしでmagento2をインストールした後、「Magento Luma」テーマを選択し、「Home Page Block」ブロックを追加して、サンプルストアからコードをコピーしました。 しかし、ホームページには何も表示されません、サンプルストアのようにホームページに私のcmsブロックを表示する方法は? 私の家 サンプルストア

1
Magentoの実行に必要なPHPモジュールの最小数
古いMagentoサーバーのRackspaceには、次のモジュールがインストールされています。彼らは私がこれをペアリングすることを望んでいる新しいサーバーを持っています。最低限必要なものは何ですか? php54-pecl-memcache-3.0.8-1.ius.centos6.x86_64 php54-mysql-5.4.38-1.ius.centos6.x86_64 php54-mbstring-5.4.38-1.ius.centos6.x86_64 php54-ioncube-loader-4.7.4-2.ius.centos6.x86_64 php54-cli-5.4.38-1.ius.centos6.x86_64 php54-mcrypt-5.4.38-1.ius.centos6.x86_64 php54-pecl-apc-3.1.13-2.ius.centos6.x86_64 php54-xml-5.4.38-1.ius.centos6.x86_64 php54-soap-5.4.38-1.ius.centos6.x86_64 php54-gd-5.4.38-1.ius.centos6.x86_64 php54-pear-1.9.5-2.ius.centos6.noarch php54-pecl-lzf-1.6.2-8.ius.centos6.x86_64 php54-pecl-redis-2.2.5-1.ius.centos6.x86_64 php54-imap-5.4.38-1.ius.centos6.x86_64 php54-process-5.4.38-1.ius.centos6.x86_64 php54-bcmath-5.4.38-1.ius.centos6.x86_64 php54-pdo-5.4.38-1.ius.centos6.x86_64 php54-intl-5.4.38-1.ius.centos6.x86_64 php54-odbc-5.4.38-1.ius.centos6.x86_64 php54-pspell-5.4.38-1.ius.centos6.x86_64


1
sales_flat_orderへのカスタムフィールドの追加
私はかなりの量のグーグル、試行錯誤を行ってきましたが、問題の解決策を見つけることができません。 sales_order_gridのフィールドと順序を変更する機能。そして このグリッドに2つのカスタムフィールドを表示する機能(フィルター可能)。 前者(ポイント1)はMage_Adminhtml_Block_Widget_Grid、カスタムモジュールを拡張することで解決されました(オブザーバーについては知っていますが、インストールされている他のモジュールは、オブザーバーによる私の変更をオーバーライドしていました)。 とにかく、後者は私の現在の問題です。以下は、これまでに失敗した2つの方法です。 方法1 <?php /* @var $this Mage_Sales_Model_Mysql4_Setup */ $this->startSetup(); $connection = $this->getConnection(); /** * Create the payment method dropdown field, because this field _may_ be * used for searching we will create an index for it. */ $connection->addColumn( $this->getTable('sales/order_grid'), 'x_payment_method', "ENUM('PayPal', 'SagePay') DEFAULT NULL" ); $connection->addKey($this->getTable('sales/order_grid'), …

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