Questions tagged «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,我基于Luma创建了自己的主题“ cff”。 我正在尝试删除其中的catalog.compare.link障碍top.links 该块的布局似乎在 /vendor/magento/module-catalog/view/frontend/layout/default.xml 如果我添加 &lt;referenceBlock name="catalog.compare.link" remove="true" /&gt; 在该文件中,然后按预期,“比较产品”文本将从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
在布局XML中是否可以使用if-else-条件?
我想显示两个不同的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但我想添加两个不同的CSS文件,如下所示 如果(市场/一般/启用== 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>
概要 我想在我的分组产品视图和简单产品视图中添加一个块。该块将提供一些关于悬停状态的很好的工具提示,我使用的是一个带有一个jquery插件和一个css样式表的小型库。 我希望仅在这些页面上将这两个资源包括在magento中。 笔记 我正在运行一个自定义主题; 缓存被禁用 ; 和 我的文件在/js目录内; 迄今… 尽管如此,我知道一种方法是layout.xml在模块中使用,起初这没有用,所以我认为也许我需要在内部进行额外的配置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; 应用程序/代码/本地/供应商/评级/etc/config.xml &lt;?xml version="1.0"?&gt; &lt;config&gt; ... &lt;frontend&gt; &lt;layout&gt; …

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的布局句柄完全没有用。我环顾四周,找到任何不太优雅的方法来实现相同的目的(仍然使用插件)..找不到任何东西。 我最终运行了自己的类别视图控制器,但是我不希望这样。 所以我的问题是.. 如何为类别视图添加(以编程方式)新的页面布局句柄?并优雅地做。



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
在分层导航中隐藏或删除“类别”过滤器
我正在努力从分层结构中删除“类别”过滤器,因为我的新网站中已经有了“类别”下拉菜单,因此这只会浪费空间(并使我的客户感到困惑) 我知道这个问题已经被问过很多遍并且已经解决了,但是我尝试每种解决方案都没有成功。我相信这与我用于网站的自定义模板有关。 在查看了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; 第一种- 块类型 -应该是类别菜单(我很好)。第二种- 块类型 -在类别菜单的下面构建“ filter by”菜单,我很确定问题出在这里。 我相信我应该取消“ catalog.leftnav”内部的设置,即使我尝试添加以下代码: &lt;catalog_category_layered&gt; &lt;reference …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.