2012-01-11 53 views
4

假設我想在主頁上顯示特殊模塊,其位置不同於$ content_top,$ content_bottom,$ column_left或$ column_right。我怎麼做?如果你有這方面的經驗,你能給我一些指點嗎?opencart - 如何在模板文件內手動顯示模塊?

該模塊將在home.tpl顯示,但我假設我需要編輯控制器文件home.php

+0

你在哪個版本的opencart上? – 2012-01-11 18:22:11

+0

最新版本1.5.1.3 – Cris 2012-01-12 19:07:30

回答

9

要做到這一點,你將需要編輯兩個文件

首先,您需要編輯控制器。在這個例子中,我將添加特價到主頁

因此打開控制器文件catalog/controller/common/home.php。某處前此訂單$this->response->setOutput($this->render());添加以下

$this->data['special_block'] = $module = $this->getChild('module/special', array(
    'limit' => 5, 
    'image_width' => 80, 
    'image_height' => 80 
)); 

陣列是該模塊的設置。請注意,佈局,位置,狀態和排序順序不包括在內,因爲它們在這裏無關緊要。我還用special_block作爲內容的唯一密鑰,以避免它與衝突的可能需要渲染

然後在你的模板文件中的任何其他物品,你只需要使用<?php echo $special_block; ?>不管你想要的模塊去

+0

謝謝我使用超級模塊的特殊塊。但現在我有改變產品顯示在module.it顯示默認的問題。不知道如何處理這個。 – Ashvin 2012-03-03 11:38:43

+0

您能否提供更多關於動態顯示模塊的信息。我需要調用Facebook小部件模塊頁腳。因爲我不想硬編碼。我試過這個代碼,我得到錯誤。 錯誤:未定義的變量:special_block – vasanth 2016-09-15 09:45:48