zencart的運行流程

      在國內有很多的外貿電子商務網站中有很多公司選擇了zencart平臺,這是一款開源的開發平臺,對於zencart的初學者來說.想要搞明白zencart的運行流程不是一件很簡單的事情.那這裏我將我自己學習zencart的心得與大家一起分享,希望對初學者們有所幫助^_^

要想搞明白zencart的運行流程,就必須對根目錄下的index.php文件有相當的瞭解.

下面我們來看一下index.php文件

(1)require('includes/application_top.php');

該文件定義了一系列的常量(共用的)。

(2)$language_page_directory= DIR_WS_LANGUAGES . $_SESSION['language'] . '/';

該文件定義了一系列的常量(具體頁面所特有的常量)

(3)$directory_array= $template->get_template_part($code_page_directory,'/^header_php/');

加載目錄文件下所有的header_php.php文件,該文件相當於控制器可以在其中做些與數據庫相關的操作.

(4)require($template->get_template_dir('html_header.php',DIR_WS_TEMPLATE,$current_page_base,'common'). '/html_header.php');

get_template_dir()這個方法一定要認真的看,因爲這個文件涉及到html_header.php的重寫,html_header.php主要顯示的是視圖文件中的<head></head>部分.

下面是html_header.php的優先級.

優先級有高到低的次序是

includes/templates/classic/*/html_header.php
includes/templates/template_default/*/html_header.php
includes/templates/classic/common/html_header.php
includes/templates/template_default/common/html_header.php

*表示你所顯示頁面的名稱

(5)require($template->get_template_dir('main_template_vars.php',DIR_WS_TEMPLATE,$current_page_base,'common'). '/main_template_vars.php');

html_header.php的加載方法類似.main_template_vars.php決定了要加載的網頁的主體內容.  

優先級由高到低的次序是

includes/templates/classic/news_list/main_template_vars.php
includes/templates/template_default/news_list/main_template_vars.php
includes/templates/classic/common/main_template_vars.php
includes/templates/template_default/common/main_template_vars.php

(6)

on_load_*.js文件中包含了要在<body>標記的onload屬性中出現的內容, 即在頁面加載完成後要執行的腳本. 可以在同一個頁面中定義多個on_load_*.js文件, 這些內容將會同時被執行.

on_load_*.js文件可能是頁面級和站點級的. 頁面級的on_load_*.js文件只在當前頁面中有效, 而站點級on_load_*.js文件將對站點中的每個頁面有效. 有關如何定義頁面級和站點級的onload事件, 將在後面的章節予以描述.

在這裏, 頁面級和站點級的on_load_*.js文件內容都將讀入$za_onload_array[]數組中, 然後組合到變量$zv_onload中, 爲後面做好準備. $zv_onload最終將作爲到<body>的onload屬性值.  

(7)

這裏定義將選擇影響頁面佈局的模板, 可以在具體的頁面中選擇, 或者使用zen-cart默認的模板(一個標準的三列板式), 模板中會對main_template_vars.php中定義的變量$body_code所指文件予以加載.

(8)加載application_bottom.php文件

application_bottom.php文件中將進行一些清理操作.




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