2010-01-05 95 views
0

我使用这个扩展在我的Magento商店: http://www.magentocommerce.com/extension/reviews/module/608/p/2/Magento的商店 - 扩展

我用这个块调用网页A上的扩展: {{块类型=“mostviewed /列表” 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上的类别ID应该是10和第B应该是11

谢谢!

回答

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); 

一个警告 - 我我在块代码中使用了这种方法。我的理由告诉我,它也应该在模板代码中工作。如果不是,那是我看的第一个地方。

希望这会有所帮助。

+0

完美工作!谢谢! – a1anm 2010-01-05 17:57:01

0

我认为对于该修改后的版本,您将具有相同的第i页的名称。即top_10_full.phtml如此复制该文件的内容,并使用另一个名称的另一个文件并在页面B中调用该文件。我不知道这将对您有用。如果没有用,请忽略它。

+0

问题是页面B需要使用修改后的版本。这样做会导致这两个页面使用相同的扩展名。 – a1anm 2010-01-05 05:08:54

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”}}。名称和别名被改变以保持它们的独特性,通常来说不是严格需要的,但是为避免冲突仍然是一件好事。当然,所调用的模板已被更改为使用新模板。

还没有看看扩展,但这应该工作,据我所知你的帖子。

+0

我发布的代码不是来自phtml文件。它来自一个php文件,其路径为app/code/local/Luxe/MostViewed/Block/List.php – a1anm 2010-01-05 17:44:38