zencart复制其他人模板的方法整理
2010-06-14 19:47
323 查看
这里以zencart
或者osc的模板为例,其他的模板也是同样的方法。
1.
首先在你的模板目录下,建立一个新的模板,例如:/includes/templates/mytemplate/
复制/includes
/templates/template_default下的所有目录和文件到新的目录中
2.
用文本编辑器修改/includes/templates/mytemplate/template_info.php,修改其中的名称、版本、作者等内
容。
3. 在后台打开新的模板,然后再工具-外观控制中,点击重置
4. 获取网站模板的图片
用整站下载软件实现,例如
Teleport Pro,下载全站的所有图形文件,要保留原站的文件结构。
图片通常都在/images目录下,将下载到的/images下的图
形文件都复制到zen cart的/images目录下。
5. 获取网站模板的按钮
也可以用Teleport
Pro下载所有按钮,通常是英文的,osc的按钮图片在/includes/languages/english/images/buttons目录下。
将
下载的按钮保存到zen cart的按钮目录/includes/templates/mytemplate/buttons/english/ 和
/includes/templates/mytemplate/buttons/schinese/
中,在schinese目录中的按钮,可以自己用图像处理软件转换成中文。
6.
获取网站模板的CSS文件。osc的stylesheet.css文件在根目录下。stylesheet.css文件的具体路径在查看页面源代码时能看
到。
打开获得的stylesheet.css文件,剪贴到/includes/templates/mytemplate/css
/stylesheet.css文件中,追加在原来的css文件后,不要覆盖原有的内容。
7. 打开需要复制的zen
cart或者osc网站,查看源代码。(有些网站不允许你查看源代码,要一些技巧,这里就不详细讨论这个问题了)
8. 在源代码中复制
<!--
header //--> 到 <!-- header_eof //-->
之间的内容作为/includes/templates/mytemplate/common/tpl_header.php,删除该文件内原来的内容。
<!--
footer //--> 到 <!-- footer_eof //-->
之间的内容作为/includes/templates/mytemplate/common/tpl_footer.php,删除该文件内原来的内容。
(有
些模板把边框部分的显示也放到header.php中,那么你需要找出属于边框的部分并删除)
9.
现在,整个网站的外观已经基本出来了。需要替换上面的这两个文件内的链接,这里是模板转换的关键。根据下面的模式替换,第一行是需要替换的类似链接,第二
行是正确的代码:
还有一些必须的代码包括,
用户登录、登出的代码:
<a href="/<?php
echo zen_href_link(FILENAME_LOGOFF, '', 'SSL');
?>"></a> |
<a
href="/<?php echo zen_href_link(FILENAME_ACCOUNT, '', 'SSL');
?>">
} else {
if (STORE_STATUS == '0') {
?>
<a
href="/<?php echo zen_href_link(FILENAME_LOGIN, '', 'SSL');
?>"><?php echo HEADER_TITLE_LOGIN; ?></a>
<?php }
} ?>
货币选择方框的代码:
<?php
if (isset($currencies) &&
is_object($currencies)) {
reset($currencies->currencies);
$currencies_array
= array();
while (list($key, $value) =
each($currencies->currencies)) {
$currencies_array[] = array('id'
=> $key, 'text' => $value['title']);
}
$hidden_get_variables
= '';
reset($_GET);
while (list($key, $value) = each($_GET)) {
if
( ($key != 'currency') && ($key != zen_session_name())
&& ($key != 'x') && ($key != 'y') ) {
$hidden_get_variables
.= zen_draw_hidden_field($key, $value);
}
}
}
$content =
zen_draw_form('currencies',
zen_href_link(basename(ereg_replace('.php','', $PHP_SELF)), '',
$request_type, false), 'get');
$content .=
zen_draw_pull_down_menu('currency', $currencies_array,
$_SESSION['currency'], 'on
change="this.form.submit();" style="width: 100%"') .
$hidden_get_variables . zen_hide_session_id();
$content .=
'</form>';
echo $content;
?>
语言选择的代码:
<?php
if
(!isset($lng) || (isset($lng) &&
!is_object($lng))) {
$lng = new language;
}
$lng_cnt = 0;
while
(list($key, $value) = each($lng->catalog_languages)) {
$content
.= '<a href="' . zen_href_link($_GET['main_page'],
zen_get_all_get_params(array('language', 'currency')) . 'language=' .
$key, $request_type) . '">' . zen_image(DIR_WS_LANGUAGES .
$value['directory'] . '/images/' . $value['image'], $value['name']) .
'</a> ';
$lng_cnt ++;
if
($lng_cnt >= MAX_LANGUAGE_FLAGS_COLUMNS) {
$lng_cnt = 0;
$content
.= '<br />';
}
}
echo $content;
?>
经过以上的替
换,tpl_header.php和tpl_footer.php中所有的外部链接都应该替换为你自己的链接了。
如果还有类似 http://www.domainname.com/osc/index.php?cPath=37_28
的链接,这是单个商品的链接,可以删除,或改成你自己的商品链接。
10.
下一步,将tpl_header.php和tpl_footer.php这两个文件中的文字,替换为PHP代码,以支持多语言。如果你只用单一语言,直接
修改为你需要的文字即可。例如,
类似 “创建帐号” 改为 <?php echo
HEADER_TITLE_CREATE_ACCOUNT; ?>
类似 “商品分类” 改为 <?php echo
HEADER_TITLE_CATALOG; ?>
类似 “登出” 改为 <?php echo
HEADER_TITLE_LOGOFF; ?>
类似 “我的帐号” 改为 <?php echo
HEADER_TITLE_MY_ACCOUNT; ?>
类似 “登录” 改为 <?php echo
HEADER_TITLE_LOGIN; ?>
类似 “购物车中的货品” 改为 <?php echo
HEADER_TITLE_CART_CONTENTS; ?>
类似 “结帐” 改为 <?php echo
HEADER_TITLE_CHECKOUT; ?>
类似“搜索”改为 <?php echo
BOX_HEADING_SEARCH; ?>
类似“高级搜索”改为 <?php echo
BOX_SEARCH_ADVANCED_SEARCH; ?>
类似 “特价商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_SPECIALS; ?>
类似 “新进商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_WHATS_NEW; ?>
类似 “推荐商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_FEATURED_PRODUCTS; ?>
类似 “所有商品” 改为 <?php
echo CATEGORIES_BOX_HEADING_PRODUCTS_ALL; ?>
类似 “联系我们” 改为
<?php echo BOX_INFORMATION_CONTACT; ?>
类似 “货币” 改为 <?php echo
BOX_HEADING_CURRENCIES; ?>
类似 “语言” 改为 <?php echo
BOX_HEADING_LANGUAGES; ?>
还有一些可能用到的代码:
引文:
<?php echo
TEXT_YOUR_IP_ADDRESS . ' ' . $_SERVER['REMOTE_ADDR']; ?>
<?php
echo FOOTER_TEXT_BODY; ?>
<div>Parse Time: <?php echo
$parse_time; ?> - Number of Queries: <?php echo
$db->queryCount(); ?> - Query Time: <?php echo
$db->queryTime(); ?></div>
经过以上的十步操作,基本形成了网站的外观,下面要调整边框的模
板了。待续。
-------------------------------------------------------------------------------
补
充:sideboxes里的模块随意插入到网页任意位置方法
参考search_header.php的做法:
把
require($template->get_template_dir($column_box_default,
DIR_WS_TEMPLATE, $current_page_base,'common') . '/' .
$column_box_default);
改为
require($template->get_template_dir
('tpl_box_你自定义的文件名.php',DIR_WS_TEMPLATE, $current_page_base,'common').
'/tpl_box_你自定义的文件名.php');
在common目录下建立此文件名:tpl_box_你自定义的文件名.php
内
容:<?php echo $content; ?>
插入模块时参考写法:<?php
require(DIR_WS_MODULES . 'sideboxes/' . 'search_header.php'); ?>
或者osc的模板为例,其他的模板也是同样的方法。
1.
首先在你的模板目录下,建立一个新的模板,例如:/includes/templates/mytemplate/
复制/includes
/templates/template_default下的所有目录和文件到新的目录中
2.
用文本编辑器修改/includes/templates/mytemplate/template_info.php,修改其中的名称、版本、作者等内
容。
3. 在后台打开新的模板,然后再工具-外观控制中,点击重置
4. 获取网站模板的图片
用整站下载软件实现,例如
Teleport Pro,下载全站的所有图形文件,要保留原站的文件结构。
图片通常都在/images目录下,将下载到的/images下的图
形文件都复制到zen cart的/images目录下。
5. 获取网站模板的按钮
也可以用Teleport
Pro下载所有按钮,通常是英文的,osc的按钮图片在/includes/languages/english/images/buttons目录下。
将
下载的按钮保存到zen cart的按钮目录/includes/templates/mytemplate/buttons/english/ 和
/includes/templates/mytemplate/buttons/schinese/
中,在schinese目录中的按钮,可以自己用图像处理软件转换成中文。
6.
获取网站模板的CSS文件。osc的stylesheet.css文件在根目录下。stylesheet.css文件的具体路径在查看页面源代码时能看
到。
打开获得的stylesheet.css文件,剪贴到/includes/templates/mytemplate/css
/stylesheet.css文件中,追加在原来的css文件后,不要覆盖原有的内容。
7. 打开需要复制的zen
cart或者osc网站,查看源代码。(有些网站不允许你查看源代码,要一些技巧,这里就不详细讨论这个问题了)
8. 在源代码中复制
<!--
header //--> 到 <!-- header_eof //-->
之间的内容作为/includes/templates/mytemplate/common/tpl_header.php,删除该文件内原来的内容。
<!--
footer //--> 到 <!-- footer_eof //-->
之间的内容作为/includes/templates/mytemplate/common/tpl_footer.php,删除该文件内原来的内容。
(有
些模板把边框部分的显示也放到header.php中,那么你需要找出属于边框的部分并删除)
9.
现在,整个网站的外观已经基本出来了。需要替换上面的这两个文件内的链接,这里是模板转换的关键。根据下面的模式替换,第一行是需要替换的类似链接,第二
行是正确的代码:
还有一些必须的代码包括,
用户登录、登出的代码:
<a href="/<?php
echo zen_href_link(FILENAME_LOGOFF, '', 'SSL');
?>"></a> |
<a
href="/<?php echo zen_href_link(FILENAME_ACCOUNT, '', 'SSL');
?>">
} else {
if (STORE_STATUS == '0') {
?>
<a
href="/<?php echo zen_href_link(FILENAME_LOGIN, '', 'SSL');
?>"><?php echo HEADER_TITLE_LOGIN; ?></a>
<?php }
} ?>
货币选择方框的代码:
<?php
if (isset($currencies) &&
is_object($currencies)) {
reset($currencies->currencies);
$currencies_array
= array();
while (list($key, $value) =
each($currencies->currencies)) {
$currencies_array[] = array('id'
=> $key, 'text' => $value['title']);
}
$hidden_get_variables
= '';
reset($_GET);
while (list($key, $value) = each($_GET)) {
if
( ($key != 'currency') && ($key != zen_session_name())
&& ($key != 'x') && ($key != 'y') ) {
$hidden_get_variables
.= zen_draw_hidden_field($key, $value);
}
}
}
$content =
zen_draw_form('currencies',
zen_href_link(basename(ereg_replace('.php','', $PHP_SELF)), '',
$request_type, false), 'get');
$content .=
zen_draw_pull_down_menu('currency', $currencies_array,
$_SESSION['currency'], 'on
change="this.form.submit();" style="width: 100%"') .
$hidden_get_variables . zen_hide_session_id();
$content .=
'</form>';
echo $content;
?>
语言选择的代码:
<?php
if
(!isset($lng) || (isset($lng) &&
!is_object($lng))) {
$lng = new language;
}
$lng_cnt = 0;
while
(list($key, $value) = each($lng->catalog_languages)) {
$content
.= '<a href="' . zen_href_link($_GET['main_page'],
zen_get_all_get_params(array('language', 'currency')) . 'language=' .
$key, $request_type) . '">' . zen_image(DIR_WS_LANGUAGES .
$value['directory'] . '/images/' . $value['image'], $value['name']) .
'</a> ';
$lng_cnt ++;
if
($lng_cnt >= MAX_LANGUAGE_FLAGS_COLUMNS) {
$lng_cnt = 0;
$content
.= '<br />';
}
}
echo $content;
?>
经过以上的替
换,tpl_header.php和tpl_footer.php中所有的外部链接都应该替换为你自己的链接了。
如果还有类似 http://www.domainname.com/osc/index.php?cPath=37_28
的链接,这是单个商品的链接,可以删除,或改成你自己的商品链接。
10.
下一步,将tpl_header.php和tpl_footer.php这两个文件中的文字,替换为PHP代码,以支持多语言。如果你只用单一语言,直接
修改为你需要的文字即可。例如,
类似 “创建帐号” 改为 <?php echo
HEADER_TITLE_CREATE_ACCOUNT; ?>
类似 “商品分类” 改为 <?php echo
HEADER_TITLE_CATALOG; ?>
类似 “登出” 改为 <?php echo
HEADER_TITLE_LOGOFF; ?>
类似 “我的帐号” 改为 <?php echo
HEADER_TITLE_MY_ACCOUNT; ?>
类似 “登录” 改为 <?php echo
HEADER_TITLE_LOGIN; ?>
类似 “购物车中的货品” 改为 <?php echo
HEADER_TITLE_CART_CONTENTS; ?>
类似 “结帐” 改为 <?php echo
HEADER_TITLE_CHECKOUT; ?>
类似“搜索”改为 <?php echo
BOX_HEADING_SEARCH; ?>
类似“高级搜索”改为 <?php echo
BOX_SEARCH_ADVANCED_SEARCH; ?>
类似 “特价商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_SPECIALS; ?>
类似 “新进商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_WHATS_NEW; ?>
类似 “推荐商品” 改为 <?php echo
CATEGORIES_BOX_HEADING_FEATURED_PRODUCTS; ?>
类似 “所有商品” 改为 <?php
echo CATEGORIES_BOX_HEADING_PRODUCTS_ALL; ?>
类似 “联系我们” 改为
<?php echo BOX_INFORMATION_CONTACT; ?>
类似 “货币” 改为 <?php echo
BOX_HEADING_CURRENCIES; ?>
类似 “语言” 改为 <?php echo
BOX_HEADING_LANGUAGES; ?>
还有一些可能用到的代码:
引文:
<?php echo
TEXT_YOUR_IP_ADDRESS . ' ' . $_SERVER['REMOTE_ADDR']; ?>
<?php
echo FOOTER_TEXT_BODY; ?>
<div>Parse Time: <?php echo
$parse_time; ?> - Number of Queries: <?php echo
$db->queryCount(); ?> - Query Time: <?php echo
$db->queryTime(); ?></div>
经过以上的十步操作,基本形成了网站的外观,下面要调整边框的模
板了。待续。
-------------------------------------------------------------------------------
补
充:sideboxes里的模块随意插入到网页任意位置方法
参考search_header.php的做法:
把
require($template->get_template_dir($column_box_default,
DIR_WS_TEMPLATE, $current_page_base,'common') . '/' .
$column_box_default);
改为
require($template->get_template_dir
('tpl_box_你自定义的文件名.php',DIR_WS_TEMPLATE, $current_page_base,'common').
'/tpl_box_你自定义的文件名.php');
在common目录下建立此文件名:tpl_box_你自定义的文件名.php
内
容:<?php echo $content; ?>
插入模块时参考写法:<?php
require(DIR_WS_MODULES . 'sideboxes/' . 'search_header.php'); ?>
相关文章推荐
- 整理VS2005模板丢失解决方法
- 织梦dedecms模板制作时,循环递增autoindex使用方法整理
- Tomcat运行php的简单方法 原创 2013年10月24日 15:48:08 标签:php /tomcat /执行 26287 整理自其他人的帖子: Quercus是Caucho公司采用纯Java
- 复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
- TP5项目中模板文件html的更新及php写入、删除与复制文件的方法
- zen cart复制盗用网站模板的方法
- 逗B少年搞程序07 模板方法模式——思路可以相同,但思路不会被复制
- 复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
- 整理VS2005模板丢失解决方法
- 《您的设计模式》(CBF4LIFE)之“模板方法模式”【整理】
- SQL处理表结构的基本方法整理(创建表,关联表,复制表)
- 来自damon的zencart二次开发教程-3.2复制模板(仿站)操作教程
- 设计模式——模板方法模式(TemplateMethod Pattern)
- javascript 二种数组复制方法
- 设计模式之模板方法
- 设计模式简单介绍(java语言)-- 模板方法模式
- 模板方法模式(Template Pattern)
- Java: 复制文件最快方法
- WordPress中用于获取文章作者与分类信息的方法整理
- 重构(组合查询)-模板方法