Zen-Cart模版修改常用基础操作
去掉产品目录旁边的产品总数方法
在管理后台里,进入”Configuration —> My Store —> Show Category Counts”选项,设置为关即可。
目录后面会有一个烦人的小箭头->
Zen-cart的默认配置,目录后面有->(12356)这样风格的统计数字显示。如何去掉呢?
在管理后台里,进入”Configuration —> Layout Settings —> Categories Separator between the Category Name and Count”选项,按你的需要设置即可。
Zen-cart里如何修改”Powered by Zen Cart”的内容?
这个可以在后台My Store->footer text body里进行修改,也可以到FTP里的/include/template/你的模板/common/tpl_footer.php里进行修改。
页眉下面有一大堆烦人的Categories tags,怎么去掉?
后台管理 —> Configuration —> Layout Settings —> Categories-Tabs Menu ON/OFF
把这个属性设为关闭即可!
怎么修改Contact Us的页面内容与风格?
如果是内容的话,在后台管理的Tools —> Define Pages Editor里进行页面内容的修改。
如果是风格的话,在CSS文件里到对应的id或是class名进行修改。
如果是要修改显示内容的话,在你的模板目录下的templates/tpl_contact_us_default.php里修改,如果你重写了页面内容的话,请在common文件夹下到相应的文件进行修改。
打开产品根目录后,会显示子目录的排列图标,这个东西怎么修改?
在模板目录下的common/tpl_columnar_display.php文件里,修改显示的内容。
浏览器的抬头上写着”Zen Cart!, The Art of …”,怎么修改?
打开文件includes/languages/english/meta_tags.php,在里面到下面这段
// page title define(TITLE, Zen Cart!);
// Site Tagline define(SITE_TAGLINE, The Art of E-commerce);
把这些文字替换掉就可以了。当然,如果你是中文的页面,就要到相应的文件夹下面去。
我想把左、中、右三栏之间留一点空隙怎么办?
Zen-cart默认把左侧栏、中间产品栏、右侧栏排列得很紧密,我想把三间之间的两个空隙弄小一些,怎么办?
只要按这个方法,你可以随意调节三者之间的空隙大小。
在后台Configuration —> Layout Setting中,仔细调节
Column Width – Left Boxes
Column Width – Right Boxes
Column Width -Left
Column Width – Right
的值,上面的这类带有Boxes的,是设定显示给我们看的box创建html文件的大小,而没有Boxes的这类值,则是显示背景的大小。
只要你把下面的值设得比上面的值大,就有空隙出来了。
刚安装好的Zen-cart,如何修改首页的Congratulations! you have successfully installed
If you want to change Congratulations! You have successfully installed your Zen Cart; E-Commerce Solution with your own text open the includes/languages/ENGLISH/index.php file and find the following code:
// This section deals with the home page at the top level with no options/products selected
/*Replace this text with the headline you would like for your shop. For example: Welcome to My SHOP!*/
define(HEADING_TITLE, Congratulations! You have successfully installed your Zen Cart™ E-Commerce Solution.);
} elseif ($category_depth == nested) {
// This section deals with displaying a subcategory
/*Replace this line with the headline you would like for your shop. For example: Welcome to My SHOP!/
define(HEADING_TITLE, Congratulations! You have successfully installed your Zen Cart™ E-Commerce Solution.);
}
Replace the text starting Congratulations with your own text. Make sure that the single quote marks are not left out.
如何修改左、右边框的显示风格?
修改文件common/tpl_box_default_left.phpcommon/tpl_box_default_left.php即可。
我得到了一个空白页面,怎么调试呢?
最简单的方法,把以下代码加入到你的index.php里:
<?php
  define(STRICT_ERROR_REPORTING, true);
?>
这样,你访问页面产生的错误消息就会输出到页面了。当然,记得把这个关掉,如果你把错误fix掉了的话,免得给用户看到。
我要单独修改Categories里的内容,怎么办?
不单是Categories,所有的sidebox的内容,都可以在/includes/templates/YourTemplate/sideboxes文件夹里进行修改。
tpl_categories文件,就是修改Categories里面的显示内容的,当然,你修改了里面的CSS标签,就修改了Categories的样式。
你可以通过common/tpl_box_default_left.phpcommon/tpl_box_default_right.php这两个文件来对左栏和右栏的内容进行大的调整。
一般来说,你只要修改sideboxes里面对应的文件就能搞定你所需要的东西了。
Zen Cart 模版制作备忘
2010-03-29 23:58
模版系统存在的两条主要理由:

1. 允许设计不同的风格
2. 便于升级

模板系统至少由三部分组成:

1. 数据库设置
2. 覆盖系统(重写系统)
3. 自动加载文件

查看如何创建一个新模板 -cart/wiki/index.php/Customisation_-_Templates_-_Create
查看如何定制一个新模板 -cart/wiki/index.php/Customisation_-_Templates_-_Customizing

数据库设置

所有都可以在管理区域-cart/wiki/index.php/Administration中进行配置

覆盖系统(重写系统)

在文中,模板系统可能有时被称为'覆盖系统'. 查看重写系统的开发者章节-cart/wiki/index.php/Developers_API_Overrides

重写系统

Zen Cart™准备去读取一个模板文件时,它会首先检查是否存在那个文件的一个重写,如果没有,它将会加载默认/核心文件。

当你准备去改变一个文件时,首先查看其能否被重写。

下列情况文件允许重写:

1. 模板文件存在的目录,包含一个名为"Classic"的子目录.
2. 当前路径包含template_default目录或者一个模板目录,比如"Clssic". 例如,/includes/templates/template_default/common/

很不幸,当前并非所有的文件都支持重写覆盖。Admin目录下没有任何文件允许重写覆盖。

如果你准备编辑的文件允许覆盖重写,执行以下步骤:

1. 创建一个新目录,除了包含你的模板外,它应该与旧目录相似,并且当前位置不包含其他模板目录。
    下面是一个重写的演示实例。其他的重写可以参照这个示例。
    文件所处的目录应该包含一个名为"Classic"的子目录。

    默认路径: includes/languages/

    重写路径: includes/languages/<your template dir>/

    默认路径: includes/languages/english/ 重写路径: includes/languages/english/<your template dir>

    当前路径包含template_default目录或者一个模板目录,比如 "Classic" 或者 "Blue strip".

    默认路径: includes/templates/template_default/common/
    重写路径: includes/templates/<your template dir>/common/

    默认路径: includes/templates/template_default/templates/
    重写路径: includes/templates/<your template dir>/templates/

    默认路径: includes/templates/template_default/buttons/english/
    重写路径: includes/templates/<your template dir>/buttons/english/

2. 拷贝你打算编辑的文件到新目录(只需要拷贝准备编辑的文件)

3. 编辑拷贝的这个文件。

记住,核心的文件要被所有的文件使用,所以不允许重写。所以呢无需重写那些你没有改动的文件。

编辑文件的时候,如果你能记得使用重写系统,那么将不会有什么大问题。否则,你所有的文件都将被重写。

一些你需要知道的事情:

    1. includes/templates/template_default 这个目录包含了很多默认的核心模板文件,但是template_default 不是一个常规目录——它仅仅是这些默认模板文件的位置而已。

    2. 记得当你升级新版本的时候Classic模板将被重写。换言之,不要使用Classic模板。你应该创建自己的模板,以避免出现这个问题。

    3. Classic模板是默认模板,但是他仅仅是一个为了你定制模板使用的例子。

    4. 文本位于语言文件中,在includes/languages目录下。如果你准备替换一些文本,可以看看这里。

自动加载文件

以下目录中的文件将会被自动加载:

    includes/extra_configures
    includes/extra_datafiles
    includes/functions/extra_functions
    includes/languages/<language dir>/extra_definitions 或者其他存在的重写目录
    includes/templates/<template dir>/jscript/ - 查看目录中的 read_me_jscript.html 说明文件
    includes/templates/<template dir>/jscript/on_load/ - 查看目录中的 read_me_onload.html 说明文件
    includes/templates/<template dir>/css/ - 所有以style开头的文件
    includes/modules/pages/<current page>/ - 所有以jscript_开头并且以.php结尾的文件

查看这些文件中的目录来了解他们分别是什么数据文件。

使用入门

首先,需要确定在使用自己的模板文件而不是将要被重写的默认模板文件,请查看 创建新模板设置 -cart/wiki/index.php/Customisation_-_Templates_-_Create

也可以查看 如何定制新模板 -cart/wiki/index.php/Customisation_-_Templates_-_Customizing

既然你已经了解了如何使用模板系统并且已经创建了自己的模板,你将如何继续,以便准确的到需要修改的文件呢?

你需要了解一下开发者工具包,可以在管理区域到它 -cart/wiki/index.php/Developers_Tool_Kit

确保你熟悉这个工具,因为你一定会需要它。

快速链接

编辑PHP文件 -cart/wiki/index.php/Editing_PHP
网络教程 -cart/forum/showthread.php?t=7263&highlight=Properly+Customizing+Site
如何出哪些文件需要更改 -cart/index.php?article=38
如何新增/创建一个模版设置 -cart/index.php?article=142
如何删除和重新安排sideboxes -cart/index.php?article=48
关于重写系统的开发者章节 -cart/wiki/index.php/Developers_API_Overrides
zen cart中如何调用view模板
20110318 By Zen Cart Leave a Comment
zen cart也一定程度上使用了mvc的概念。我们也知道zen cart他的主要核心程序都在includes目录.他的配置文件信息在init开头的文件里面。而核心zencart类也在classes里面.那么 zen cart mvc结构中的view在那里呢。zen cart是如何调用view模板呢。
首先我们可以看到includes\templates\template_default\common\main_template_vars.php文件.里面有
  if (file_exists(DIR_WS_MODULES . 'pages/' . $current_page_base . '/main_template_vars.php')) {
$body_code = DIR_WS_MODULES . 'pages/' . $current_page_base . '/main_template_vars.php';
} else {
$body_code = $template->get_template_dir('tpl_' . preg_replace('/.php/', '',$_GET['main_pa
ge']) . '_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_' . $_GET['main_page'] . '_default.php';
}
  从这里。我们一定程度的能看的非常清楚.如果是main_pagelogin .那么他调用的zen cart模板就是tpl_login_default.php.这个模板也就是登陆模板了。
01 10 zen-cart开发教程 – 概述 (zt)
可以看到, zen-cart前台所有的页面地址是如下格式:
1.        127.0.0.1/zencart/index.php?main_page=index&cPath=1_4
2.        127.0.0.1/zencart/index.php?main_page=product_info&cPath=1_4&products_id=1
3.        127.0.0.1/zencart/index.php?main_page=site_map
也许你会觉得很困惑, 怎么所有的页面都是index.php?这么大的一个网店系统, 难道一个index.php页面就可以搞定了吗? 这时, 你可能就需要耐心的去分析一下index.php页面了.
经过分析, 你就会发现, 其实index.php页面并不想你所想象的那么神奇, 那么深不可测. 相对
于其他文件, Index.php更像是一个管理者, 一个司令员, 当它接到指令后, 并不是自己来处理, 而是把任务分配给他的下属至于要完成什么任务, 那么就要看接收到的指令main_page的内容了.
1.        加载application_top.php文件
Application_top.php文件中将进行许多常量的定义, 加载配置文件等工作
2.        设置语言目录
这里定义了一个变量$language_page_directory, 代表当前的语言目录, 该变量的值和$_SESSION['language']值息息相关.
3.        加载” includes/modules/pages/PAGE_NAME/”目录中的所有header_php.php文件.
可以看到, 在每个网页内容的文件夹中, 都有header_php.php文件, 加载页面时, 首先会加载该文件.
4.        加载html_header.php文件
html_header.php文件包含了在<head></head>标记中出现的内容, 默认放在includes/templates/common目录下. 当然在特定的情况下, 加载的可能不是这个文件, 你可以再模板级或者页面级来重写这个文件, 从而定义特殊的html_header.php文件.
通过金字塔视图, 可以看到html_header.php文件的优先级别, 越靠近金字塔顶端, 优先级别越高, 如果优先级别高的文件已经存在, 则不会加载优先级别比它低的文件了.
5.        加载main_template_vars.php文件
main_template_vars.php文件根据$_GET['main_page']的值实现了页面的跳转逻辑. 该文件的加载过程和html_header.php文件的加载过程异曲同工,  html_header.php加载的是网页头部<head></head>中的内容, 而文件main_template_vars.php却决定了要加载的网页的主体内容
通过观察template_defaultcommon下面的main_template_vars.php中的代码, 可以知道, 若在存储页面文件的”includes/modules/pages/$_GET['main_page']”中增加一个名为 main_tem
plate_vars.php的文件, 则将直接加载这个文件. 否则, 将加载当前模板中的”tpl_$_GET['main_page']_ default.php”文件. (注意, 这里实际上没有真正加载文件, 而只是将要加载的文件的路径$body_code进行设置)
如果您对这两个文件的加载过程还不胜了解, 那么请试着做下面的实验.
在地址栏中访问”127.0.0.1/zencart/index.php?main_page=news_list, 将会出现网页未到的提示信息. 这是可以理解的, 因为news_list是我自己想象的, zen-cart没有提供这个页面, 我自己也没有安装类似的插件.
然后在目录”/includes/modules/pages”中新建一个文件夹, 命名为news_list, 再访问该链接, 就不会提示不到链接了, 至此一个新的页面就建好了, 接下来的工作就是要丰富该页面的内容了. 这将在后面的章节中予以描述.
6.        加载on_load脚本

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。