0

我想从某些产品列表(目录)页面中隐藏一些东西 - 我知道在使用 Wordpress 时您可以使用页面 ID 等,但是 Magento 有什么方法可以只针对某些产品列表页面?

为了清楚起见,我在关于列出某些类别的所有产品的页面上 - 而不是 CMS 页面。

在我看来,我可以简单地通过 URL 定位是有道理的?!?例如,如果 url = ...

认为这是一个完整的猜测。

主要目的是在除两个类别之外的所有页面上隐藏产品的价格和购买按钮 - 可能有更简单的方法吗?

4

2 回答 2

2

每个页面的body元素都有一个不同的类(类)。body元素上的类之一是页面的布局句柄(用-而不是_)。其他类可能因页面类型而异。
例如,类别页面将在body.

  1. catalog-category-view- 派生自布局句柄 catalog_category_view
  2. categorypath-{parents-url-keys-here}. 因此,如果类别是 Electronics->Cellphones,则该类别将是categorypath-electronics-cellphones.
  3. category-{category-url-key-here}. 如果我们使用与上面相同的示例,那么这个值将是category-cellphones

总之,您可以在课程价格中添加一些样式,catalog-category-view并使用上述约定为您的特定类别“取消”这些样式。

于 2013-08-22T20:41:41.807 回答
1

您可以在类别设置中执行此操作:
Magento 管理 -> 目录 -> 管理类别 -> 自定义设计 -> 自定义布局更新

这部分需要 XML 更新,您可以在此处通过 XML 将 CSS 添加到您的头脑中,如下所示(选择一个):

//Simple way for CSS - Falls Back from Your Theme to Default/Base
//Goes to your theme's skin folder first

<reference name="head">
    <action method="addCss"><name>css/yourStylesheet.css</name></action>
</reference>


//Specific way for CSS, can also be used for JS
//More lines, but you can change the type for different folders and javascript too

<reference name="head">
    <action method="addItem">
        <type>skin_css</type>
        <name>css/yourStylesheet.css</name>
    </action>
</reference>


保存并刷新您的缓存。确保您的样式表位于正确的文件夹中!


addItem Types

<type>skin_css</type> => Magento/skin/frontend/your_package/your_theme/Folder

<type>skin_js</type>=> 同上,指定文件夹js/yourScript.js作为名称。

<type>js</type>=> 在根 Magento 安装文件夹中查找。通常用于 magento 安装根目录中的“\js\”和“\lib\”文件夹。我想如果你愿意的话,你可以将它树到不同的文件夹中,因为基本的 magento 目录是这种类型的工作目录。

于 2013-08-22T16:53:15.000 回答