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

最終的にテンプレートファイルをレンダリングするブロック階層を定義するために使用されるxmlファイルを示します。

1
Magento 2.1:ブロックから引数や引数項目を削除するにはどうすればよいですか?
バンドル商品ページで「から-から」の価格を削除する必要があります。 だから問題は引数からアイテムを削除する方法ですか? ブロックが作成されます magento2 / vendor / magento / module-bundle / view / base / layout / catalog_product_prices.xml <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd"> <referenceBlock name="render.product.prices"> <arguments> <argument name="bundle" xsi:type="array"> <item name="prices" xsi:type="array"> <item name="tier_price" xsi:type="array"> <item name="render_template" xsi:type="string">Magento_Bundle::product/price/tier_prices.phtml</item> </item> <!-- start: this should be removed --> <item name="final_price" xsi:type="array"> <item name="render_class" xsi:type="string">Magento\Bundle\Pricing\Render\FinalPriceBox</item> …

2
Magento 2-カスタムテンプレートファイルを<head>に追加するにはどうすればよいですか?
magento 1.xでは、以下のコードのようなヘルパーを使用してcssファイルをヘッドに追加できます。 &lt;reference name="head"&gt; &lt;action method="addCss"&gt;&lt;stylesheet helper="module/helperclass/helperfunction"/&gt;&lt;/action&gt; &lt;/reference&gt; Magento 2ではできません。 そこで、このコード&lt;link rel="stylesheet" type="text/css" media="all" href="&lt;?php echo $_helper-&gt;getCSSFile()?&gt;"&gt;を「after.body.start」コンテナに追加しました。 カスタムテンプレートファイルをに追加するにはどうすればよい&lt;head&gt;ですか?
9 magento2  layout  css 

3
Magento 2でのレイアウトファイルのオーバーライドに関する問題
私はMagento 2.02を使用しています。「cff」という独自のテーマを作成しました。これはLumaに基づいています。 でcatalog.compare.linkブロックを削除しようとしていますtop.links このブロックのレイアウトは次のように定義されているようです /vendor/magento/module-catalog/view/frontend/layout/default.xml そして私が追加した場合 &lt;referenceBlock name="catalog.compare.link" remove="true" /&gt; そのファイルで、期待どおりに「Compare Products」テキストがtop.linksブロックから消えます。 ただし、ベンダーファイルを変更することは想定されていません。だから私は自分のdefault.xmlファイルを作成して削除コードを配置するための正しいフォルダーを探しています: 私はドキュメントとオンラインのどこを見てもこの情報を見つけることができません。私はいくつかの場所を試しましたが、どれもうまくいきませんでした。これはうまくいくと思いましたが、どちらもうまくいきません。 /app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml 誰かがオーバーライドレイアウトの場所を教えてもらえますか? これは私のオーバーライドするレイアウト内のコードです default.xml &lt;?xml version="1.0"?&gt; &lt;page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"&gt; &lt;body&gt; &lt;referenceBlock name="catalog.compare.link" remove="true" /&gt; &lt;/body&gt; &lt;/page&gt;

4
Magento 2:レイアウトハンドルcustomer_logged_inの使用方法
Magento 2にはcustomer_logged_inなどのハンドルがありますか?はいの場合、どのように使用できますか? 作ってみました ../view/frontend/layout/customer_logged_in.xml そしてそこに追加されました &lt;referenceBlock name="content" remove="true" /&gt; ただし、コンテンツブロックは削除されませんでした。ハンドルファイルの名前をデフォルトに変更すると、ブロックは正常に削除されました。 何が悪いのですか?

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

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-&gt;_data = $data; } public function getData() { return $this-&gt;_data; } } しかし、それはビューの個々の変数を設定するのと同じくらい一般的なタスクの多くの作業のようです。Magento 2で、知らない不変のデータオブジェクトを作成するより良い方法はありますか?

4
ブロックのモジュールlayout.xmlを使用してCSSおよびJSを<head>に追加する
あらすじ グループ化された製品ビューと単純な製品ビューにブロックを追加したいと思います。このブロックには、ホバー状態の便利なツールチップがいくつかあります。私は、1つのjqueryプラグインと1つのcssスタイルシートを持つ小さなライブラリを使用しています。 これらの2つのリソースを、これらのページのみのmagentoのに含めたいと思います。 ノート カスタムテーマを実行しています。 キャッシュは無効です。そして 私のファイルは/jsディレクトリ内にあります。 これまで… それでもlayout.xml、モジュールで使用する方法の1つであることがわかっていました。最初はこれが機能しなかったのでconfig.xml、レイアウト要件についてMagentoに通知するために内部に追加の設定が必要だと思いました-これも機能しませんでした。 動作しませんでした私が何を意味するか私の資産がロードされなかった、です。 下記の添付ソースを見つけてください。 app / code / local / Vendor / Rating / etc / layout.xml &lt;?xml version="1.0"?&gt; &lt;layout&gt; &lt;default&gt; &lt;reference name="head"&gt; &lt;action method="addJs"&gt; &lt;script&gt;vendor/qtip/jquery.qtip.min.js&lt;/script&gt; &lt;/action&gt; &lt;action method="addCss"&gt; &lt;stylesheet&gt;vendor/qtip/jquery.qtip.min.css&lt;/stylesheet&gt; &lt;/action&gt; &lt;/reference&gt; &lt;/default&gt; &lt;/layout&gt; app / code / local / Vendor / Rating …

3
Magento 2:マイアカウントナビゲーションを削除および変更する方法
一部のタブを削除してナビゲーションのタイトルを変更しようとしています: 上記のナビゲーションを見るとわかるように、ナビゲーションを削除してタイトルを変更する方法は?たとえば、サブスクリプションへのAddress Book変更NewsLetter Subscriptonsを削除する 私はcssファイルnav itemsを探していて、これを見つけました: &lt;?php /** * Copyright © 2013-2017 Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** @var $block \Magento\Framework\View\Element\Html\Links */ ?&gt; &lt;?php /** @var $block \Magento\Customer\Block\Account\Navigation */ ?&gt; &lt;div class="block account-nav"&gt; &lt;div class="title"&gt; &lt;strong&gt;&lt;?php /* @escapeNotVerified */ echo __('My Account'); ?&gt;&lt;/strong&gt; …

1
Magento 2:レイアウトXMLのシステム構成から値を取得します
管理システム構成で設定したコア構成値からフッターのモジュールリンク識別子を取得する方法 &lt;referenceBlock name="footer_links"&gt; &lt;block class="Magento\Framework\View\Element\Html\Link\Current" name="storelocator-policy-link"&gt; &lt;arguments &gt; &lt;argument ifconfig="googlemapsstorelocator/general/enable" name="label" xsi:type="string"&gt;Google Maps Store Locator&lt;/argument&gt; &lt;argument name="path" xsi:type="string"&gt;I need this value form the configuration settings&lt;/argument&gt; &lt;/arguments&gt; &lt;/block&gt; &lt;/referenceBlock&gt;

3
Magento 2のカテゴリビューにプログラムでカスタムレイアウトハンドルを追加する方法
したがって、すべてのカテゴリビューページにカスタムレイアウトハンドルを追加したいと思います。ロードされるはずのハンドルは特定のカテゴリパラメータに依存するため、プログラムでハンドルを追加する必要があります。 $page-&gt;addPageLayoutHandles() 簡単そうです どうやら Magento 2は、私が自然に使うつもりの素晴らしいプラグインシステムを提供します。afterExecute()元のカテゴリの後に実行するプラグインを定義し、execute()そこからすべての更新をPageオブジェクトにプッシュします。 残念ながら、この方法ではうまく機能しません。理由は、元のexecute()メソッドが(最後に)実行されるためです。$page-&gt;getConfig()-&gt;addBodyClass()このメソッドを呼び出すと、レイアウトが自動的に完全にロードおよび生成されるため、その後に新しいメソッドを追加しようとすると、 Pageへのレイアウトハンドルは完全に役に立ちません。私は周りを見回して同じことを達成するためにそれほどエレガントではない方法を見つけました(まだプラグインを使用しています)。何も見つかりませんでした。 結局、カテゴリビュー用に独自のコントローラを実行することになりましたが、そのままにしたくありません。 だから私の質問は.. カテゴリビューに新しい(プログラムで)ページレイアウトハンドルを追加するにはどうすればよいですか?エレガントにそれを行います。


1
イベントオブザーバーでレイアウトにブロックを動的に追加
イベントオブザーバーでlayout.xmlを使用する方法を知りたい。 支払いが完了したときにメッセージをフッターに表示したい。 私はイベントを使用する必要があることを知っています checkout_onepage_controller_success_action イベントオブザーバーでコントローラーまたはlayout.xmlを使用する方法

4
Magento 2-カスタムcssファイルをヘッドに追加する方法
Magento 1.xでは、以下のコードのようなヘルパーを使用してCSSファイルをヘッドに追加できます。 &lt;reference name="head"&gt; &lt;action method="addCss"&gt;&lt;stylesheet helper="module/helperclass/helperfunction"/&gt;&lt;/action&gt; &lt;/reference&gt; Magento 2でこれを行う方法を知っている人はいますか?
8 magento2  layout  xml 

6
階層型ナビゲーションから「カテゴリ」フィルターを非表示または削除する
新しいWebサイトにカテゴリドロップダウンメニューが既にあるので、レイヤーからカテゴリフィルターを削除するのに苦労しています。 この問題はすでに何度も尋ねられて解決済みであることは知っていますが、すべての解決策を試しても成功しませんでした。これは私がウェブサイトで使用しているカスタムテンプレートに関連していると思います。 (テンプレートフォルダーにある)local.xmlファイルを確認した後、次の行を回避する必要があると思います。 &lt;reference name="product_list"&gt; &lt;block type="core/text_list" name="category-right" as="category-right" translate="label"&gt; &lt;label&gt;Right Column&lt;/label&gt; &lt;block type="catalog/navigation" name="catalog.category" before="-" template="catalog/navigation/category_nav.phtml"/&gt; &lt;block type="catalog/layer_view" name="catalog.leftnav" after="catalog.category" template="catalog/layer/view.phtml"/&gt; &lt;block type="filterproducts/bestsellers_home_list" name="bestseller" template="catalog/navigation/best_sellers.phtml"/&gt; &lt;block type="core/template" name="right.permanent.callout" template="callouts/right_col.phtml"&gt; &lt;block type="cms/block" name="cms_images_block"&gt; &lt;action method="setBlockId"&gt;&lt;block_id&gt;category_right_block&lt;/block_id&gt;&lt;/action&gt; &lt;/block&gt; &lt;/block&gt; &lt;/block&gt; &lt;/reference&gt; 最初の- ブロックタイプ -はカテゴリメニューである必要があります(それで問題ありません)。2番目のブロックタイプは、カテゴリメニューのすぐ下にある「フィルター」メニューを構築します。問題はここにあると確信しています。 「catalog.leftnav」内の設定を解除する必要があると思いますが、このコードを追加しようとしても: &lt;catalog_category_layered&gt; &lt;reference name="product_list"&gt; &lt;action method="unsetChild"&gt;&lt;child&gt;category_filter&lt;/child&gt;&lt;/action&gt; &lt;/reference&gt; &lt;/catalog_category_layered&gt; …

2
magentoテーマのフッターを変更する
私はmagentoでフッターを編集するのがかなり新しいです。フッターを変えたいです。住所の部分だけを変更できましたが、残りは変更できませんでした。Magentoの複雑なファイル構造に悩まされる。 このフッターを変換したい: これに: 私を助けてください。

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