2019-08-09 在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,我们可以查看其它目录下都有这个页面,这里其实就是系统调用数据库的信息,查询出在模板中使用的数据,总之它的作用就是为模板页面所需的数据做好准备。
    新建好这个页面以后,这个页面里面必须要添加的几处代码如下
add(NAVBAR_TITLE);
$define_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/', FILENAME_TEST_PAGE, 'false');

其中NAVBAR_TITLEFILENAME_TEST_PAGE就是第二步要做的常量定义。
该目录下还可以有其他的文件,比如,如果该页面使用到JS的话,可以添加jscript_main.php,这个文件里面主要就是JS代码,
只不过它可以使用php代码。还可以添加on_load_main.js文件,这个主要就是标签里面的onload=""内容,这里是纯JS代码。其他的页面可以参考其他目录下的页面来添加。

  1. includes\filenames.php文件中定义上面提到的FILENAME_TEST_PAGE 常量。在该文件中添加一条定义,代码如下:

includes\languages\默认语言(我这里是english)\目录下添加 test_page.php 页面,该页面主要作用是为新页面中显示的文字定义常量,因为zencart支持多语言,所以这种分离定义是有好处的。该页面最少包含

这个是页面的标题,因为什么上面调用$breadcrumb->add(NAVBAR_TITLE);语句。

  1. includes\languages\默认语言(english)\html_includes\ 或者在该目录下新建一个以你的模板为名字的目录,然后在includes\languages\默认语言\html_includes\ 你的模板名\目录下添加页面 define_test_page.php,该页面名字前必须要有define_做前缀。
    这个页面就是后台页面编辑里面可以直接编辑的页面内容,添加的时候可以为空,到时候可以在后台添加进去然后保存内容,这样他就会自己把输入的内容写人该文件,而不是存入数据库。
  2. 最后一步就是制作模板页面,在includes\templates\你的模板\templates 下添加tpl_test_page_default.php页面,该页面中至少有

这个语句,这里就是引用了上面定义的页面的内容。具体这个页面怎么布局,怎么设计就是在这里完成html代码的编写了。
要验证是否已经成功了,先到后台--工具--页面编辑,查看下拉列表是否有该页面,如果有就选择它,开始编辑,然后保存。完成之后到前台浏览器输入 页面地址/index.php?main_page=test_page,如果显示出刚才编辑的内容, 就说明添加成功了

转自: https://webzixue.iteye.com/blog/1519756

你可能感兴趣的:(2019-08-09 在zencart中添加一个新页面的方法)