2016-12-30 124 views
0

有沒有一種方法可以創建可訪問商店所有(前端)頁面的OpenCart模塊? 我想要的是用戶不必將該模塊「綁定」到所有佈局,以使其存在於所有頁面中。 基本上我想要構建一個模塊,嚮應用程序的每個頁面注入一些js代碼,並根據後端的一些OpenCart掛鉤在前端運行一些額外的js代碼或在後端運行一些額外的js代碼。 謝謝如何訪問opencart模塊上的所有前端頁面?

+0

您是否嘗試通過vQmod或ocmod修改頁腳或標題? – DigitCart

回答

0

我不確定你要找的是什麼,說你想要一個模塊「訪問」商店的所有(前端)頁面。模塊必須放置在佈局中,佈局可以分配給多個頁面。

每個佈局可以具有專門指定給您可以指定(和自定義)的區域的元素。例如,您可能想在公共標題中爲模塊創建一個特殊位置。您只需在自己指定的文件夾中創建控制器,語言和視圖文件(在我的示例中,我將使用通用文件夾),然後讓這些文件稱爲「loadjs」。

common/header.php.tpl文件之後的模式。請確保在控制器文件中更改類和文件名以匹配。因此,您將在包含ControllerCommonLoadjs類,language/(your language)/common文件夾中的文件和view/theme/(your theme name)/template/common文件夾中的loadjs.tpl文件的控制器文件夾的公用目錄中創建loadjs.php文件。

$data['loadjs'] = $this->load->controller('common/loadjs');添加到您的controller/common/header.php文件中並將<?php echo $loadjs; ?>加入您的view/theme/(your theme name)/template/common/header.tpl文件中。你現在可以創建你的模塊。

但是,爲了能夠將它添加到您的佈局中,您需要對某些管理文件進行一些更改。 Add $_['text_loadjs'] = 'Loadjs';到您的admin/language/(your language)/design/layout.php文件和$data['text_loadjs'] = $this->language->get('text_loadjs');到您的admin/controller/design/layout.php文件。

您還需要對admin/view/template/design/layout_form.tpl文件進行更改。查找以下代碼:

<option value="content_top" selected="selected"><?php echo $text_content_top; ?></option> 
<?php } else { ?> 
<option value="content_top"><?php echo $text_content_top; ?></option> 
<?php } ?> 
<?php if ($layout_module['position'] == 'content_bottom') { ?> 
<option value="content_bottom" selected="selected"><?php echo $text_content_bottom; ?></option> 
<?php } else { ?> 
<option value="content_bottom"><?php echo $text_content_bottom; ?></option> 
<?php } ?> 

,並添加略低於下面的代碼:

<?php if ($layout_module['position'] == 'loadjs') { ?> 
<option value="loadjs" selected="selected"><?php echo $text_loadjs; ?></option> 
<?php } else { ?> 
<option value="loadjs"><?php echo $text_loadjs; ?></option> 
<?php } ?> 

現在,登錄到您的Opencart的儀表板和你的模塊添加到您的佈局loadjs位置。這應該做到這一點。

+0

非常感謝您的評論。我想要的是添加一個JavaScript的標題,無論主題,並沒有用戶編輯任何文件。那可能嗎? – paptom

+0

好吧,你不需要爲此添加模塊。我假設您的原始請求有權訪問網站的「所有」前端頁面,您希望在每個頁面上放置相同的JavaScript。如果這就是你想要的,並且你的所有頁面共享相同的視圖/主題/(你的主題名稱或默認)/template/common/header.tpl文件,那麼你所需要做的就是將JavaScript直接添加到標題中至少這是最簡單最直接的方式。)還有其他方法,但是它們逐漸涉及更多。 – JasonF

+0

如果您使用的是默認的header.tpl文件,則無論您選擇哪個主題,只需要一次添加javascript。如果您在每個主題中使用自定義的header.tpl文件,則需要將javascript添加到每個主題header.tpl文件中。 – JasonF

相關問題