2010-01-05 198 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