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.php或common/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.php和common/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模板
2011年03月18日 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
$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_page是login .那么他调用的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页面并不想你所想象的那么神奇, 那么深不可测. 相对
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文件.
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_default中common下面的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小时内删除。
发表评论