我正在尝试修改Magento的mi CMS / home_page 。我想看一些特定类别的产品,如:
{{block type="catalog/product_list" category_id="35" column_count="4" template="catalog/product/list.phtml" }}
它显示了类别产品,但现在,我想更进一步,我想删除一些元素,因为它是主页。我附上一张图片来澄清:
1和2位于寻呼机元素。当我们有多个产品页面时,我们还可以看到页面(元素4),也位于此处。在这种情况下,我们只有4个产品,所以我们看不到页面。 元素3位于分拣机元素。
我想删除元素1,2和3,如果它是主页,但保留元素4(页面)。
关于如何在Magento上做到这一点的任何想法?
答案 0 :(得分:1)
您必须复制类别产品列表显示模块,这意味着创建您自己的模块,XML,PHTML等......我个人会使用Aheadworks中的z-blocks
模块。这将使您能够在主页上显示“特色产品”等内容,而无需编辑Magento块代码。考虑到你花费大量时间来开发你想做的事情,这并不是那么昂贵。
答案 1 :(得分:1)
您可能已经知道这些元素是通过pager.phtml呈现的。
您要删除的元素可以通过检查条件消失
如果((法师:: getSingleton( 'CMS /页') - >!则getIdentifier()== '家'))
{传递您不希望出现在主页中的变量}
答案 2 :(得分:0)
我可以解决它。对于任何可能需要它的人,没有付费的扩展,我在这里写下我所做的:
<强>首先强>
我在我的主题文件夹中复制了这个phtml:
catalog/product/list/toolbar.phtml
catalog/product/list.phtml
然后我将它们粘贴到我的模板文件夹中。我更改了名称,以便不覆盖不是主页的其他页面的元素。
catalog/product/list/toolbar_home.phtml
catalog/product/list_home.phtml
有了这个,我有2个phtml只适用于我的主页。我怎么称呼他们?
<强>第二强>
我在主页上添加了特定的块:
{{block type="catalog/product_list" category_id="35" column_count="4" template="catalog/product/list_home.phtml" }}
注意:我将模板更改为指向我的模板。
<强>第三强>
在我的list_home.phtml上,您可以在其中找到此代码:
<?php echo $this->getToolbarHtml() ?>
我改变了它:
<?php echo $this->getToolbarHtmlHome() ?>
此功能不存在,因此我们需要创建它。此功能将调用我们的 toolbar_home.phtml 。
<强>第四:强>
转到 code / core / Mage / Catalog / Block / Product / List.php ,找到函数 getToolbarHtml 。将其复制并粘贴到其下。并将其更改为:
public function getToolbarHtmlHome()
{
return $this->getChildHtml('toolbar_home');
}
现在我们已经创建了所有代码,您可以转到 template / catalog / product / list / toolbar_home.phtml 并修改您想要的任何内容。它只适用于您的主页! :)