我在Magento商店中使用此扩展程序: http://www.magentocommerce.com/extension/reviews/module/608/p/2/
我使用此块来调用第A页上的扩展名: {{block type =“mostviewed / list”name =“home.mostviewed1.list”alias =“product_homepage”template =“catalog / product / top_10_full.phtml”}}
我还想调用此块的修改版本并将其放在页面B上。我该怎么做。如果我修改了代码,那么它会针对页面A和B更改它。我如何才能在同一个扩展名中略有不同的版本。我想要复制它,但我不知道要改变什么,以便能够使用不同的块名称调用复制的版本。
或者可以在调用扩展名时发回参数。例如,这是扩展中需要在每个页面上有所不同的代码片段:
$storeId = Mage::app()->getStore()->getStoreId();
$category = Mage::getModel('catalog/category')->load('10'); //THIS IS THE CATEGORY ID TO DISPLAY - PUT CAT ID IN HERE
$this->setStoreId($storeId);
在第A页上,CategoryID应为10,在第B页上应为11。
谢谢!
答案 0 :(得分:1)
您可以在对块的调用中添加参数 例如:
{{ block type="mostviewed/list" name="home.mostviewed2.list" alias="product_homepage_B" template="catalog/product/top_10_full_B.phtml" cat="10" }}
然后,您可以使用
在模板中获取该参数$categoryID = $this->getCat();
然后,当您加载类别时,请使用
$category = Mage::getModel('catalog/category')->load($categoryID);
一个警告 - 我在块代码中使用了这种方法。我的理由告诉我它也应该在模板代码中工作。如果没有,那就是我看的第一个地方。
希望这有帮助。
答案 1 :(得分:0)
我认为对于该修改版本,您将具有相同的页面名称i。即top_10_full.phtml所以复制该文件的内容,并使用不同的名称创建另一个文件,并在页面B中调用该文件。
我不知道这对你有用。如果没用,请忽略它。
答案 2 :(得分:0)
如果您发布的代码段实际上是在phtml文件中,您可以复制它并将其称为top_10_full_B.phtml。然后将新文件中的类别ID更改为11,然后在页面B上,您可以使用调用此块。 {{block type =“mostviewed / list”name =“home.mostviewed2.list”alias =“product_homepage_B”template =“catalog / product / top_10_full_B.phtml”}}。更改名称和别名以使它们保持唯一,通常不是严格要求,但仍然是避免冲突的好事。当然,调用的模板已更改为使用新模板。
没看过扩展程序,但这应该可以从我的帖子中看出来。