Magento商店 - 扩展

时间:2010-01-05 04:55:50

标签: magento

我在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。

谢谢!

3 个答案:

答案 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”}}。更改名称和别名以使它们保持唯一,通常不是严格要求,但仍然是避免冲突的好事。当然,调用的模板已更改为使用新模板。

没看过扩展程序,但这应该可以从我的帖子中看出来。