在zencart中添加一個新頁面的方法

      在zencart裏面添加新的頁面有兩種方法,比較簡單的方法就是使用後臺的簡易頁面編輯,只要熟悉了zencart的使用就很快知道怎麼用了。
還有一種是稍微複雜一點的,這裏所說的添加一個新的頁面跟上面說的那種頁面不一樣,這裏添加的頁面是可以調用系統的文件,而上面所說的那種頁面就是簡單的把數據添加進去而已。我們知道zencart是一個優秀的開源軟件,因爲它優秀的系統架構才使得我們可以輕易的添加一個頁面到系統裏面,而且新添加的頁面跟系統的耦合程度很低,就算對系統內核不是很清楚,也可以很容易的對新加入的頁面進行編寫相應的代碼,操作相關的數據。下面就主要來講解一下這個添加的過程。
1、因爲我們要添加的這個頁面是以index.php?main_page=test_page(如果安裝seo插件後的URL是test_page.html)這種形式的URL來訪問該頁面,所以添加進去的頁面就成了一個模塊。這樣開始的一步就是在includes/modules/pages/目錄下新建一個目錄,名字就是你要添加進去的頁面的名字,就拿我的例子來說,這裏就是(test_page); 該目錄下面必須有的一個頁面就是header_php.php,我們可以查看其它目錄下都有這個頁面,這裏其實就是系統調用數據庫的信息,查詢出在模板中使用的數據,總之它的作用就是爲模板頁面所需的數據做好準備。

新建好這個頁面以後,這個頁面裏面必須要添加的幾處代碼如下:
      require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
      $breadcrumb->add(NAVBAR_TITLE);
      $define_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/', FILENAME_TEST_PAGE, 'false');


其中NAVBAR_TITLE和FILENAME_TEST_PAGE就是第二步要做的常量定義。
該目錄下還可以有其他的文件,比如,如果該頁面使用到JS的話,可以添加jscript_main.php,這個文件裏面主要就是JS代碼,只不過它可以使用php代碼。還可以添加on_load_main.js文件,這個主要就是<body>標籤裏面的οnlοad=""內容,這裏是純JS代碼。其他的頁面可以參考其他目錄下的頁面來添加。
2、在includes\filenames.php文件中定義上面提到的FILENAME_TEST_PAGE 常量。在該文件中添加一條定義,代碼如下:
define('FILENAME_TEST_PAGE', 'define_test_page');
在includes\languages\默認語言(我這裏是english)\目錄下添加 test_page.php 頁面,該頁面主要作用是爲新頁面中顯示的文字定義常量,因爲zencart支持多語言,所以這種分離定義是有好處的。該頁面最少包含
define('NAVBAR_TITLE', 'Test page');
這個是頁面的標題,因爲什麼上面調用$breadcrumb->add(NAVBAR_TITLE);語句。
3、在includes\languages\默認語言(english)\html_includes\ 或者在該目錄下新建一個以你的模板爲名字的目錄,然後在includes\languages\默認語言\html_includes\ 你的模板名\目錄下添加頁面 define_test_page.php,該頁面名字前必須要有define_做前綴。
這個頁面就是後臺頁面編輯裏面可以直接編輯的頁面內容,添加的時候可以爲空,到時候可以在後臺添加進去然後保存內容,這樣他就會自己把輸入的內容寫人該文件,而不是存入數據庫。
4、最後一步就是製作模板頁面,在includes\templates\你的模板\templates 下添加tpl_test_page_default.php頁面,該頁面中至少有
<?php
require($define_page);
?>
這個語句,這裏就是引用了上面定義的頁面的內容。具體這個頁面怎麼佈局,怎麼設計就是在這裏完成html代碼的編寫了。

要驗證是否已經成功了,先到後臺--工具--頁面編輯,查看下拉列表是否有該頁面,如果有就選擇它,開始編輯,然後保存。完成之後到前臺瀏覽器輸入 頁面地址/index.php?main_page=test_page,如果顯示出剛纔編輯的內容, 就說明添加成功了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章