后台一共需要修改下面的四个文件
admin/template.php
admin/includes/lib_template.php
languages/zh_cn/admin/template.php
themes/default/libs.xml
1、 首先做模板文件 help.dwt 和 help.php
见下面的 7 和 8 的文件内容
2 、修改 C:/Program Files/ShopEx/shop/docroot/ecshop/languages/zh_cn /admin/template.php
追加如下内容
$_LANG['template_files']['help'] = ' 用户定义帮助 ';
3 、后台就可以显示出用户定义的模板文件了
4 、修改下面一个文件的 bug
C:/Program Files/ShopEx/shop/docroot/ecshop/admin/includes/lib_template.php
将 while ($vals[++$i]['tag'] != 'FILE' || !isset($vals[$i]['attributes']))
修改成
$i++; while ($vals[$i]['tag'] != 'FILE' || !isset($vals[$i]['attributes'])) // 读出可编辑区库文件名称,放到一个数组中
{
…… $i++; }
5 、【每个模板允许设置的库项目】做成
C:/Program Files/ShopEx/shop/docroot/ecshop/admin/includes/lib_template.php
在 $page_libs = array(…… 中加入下面代码
'help' => array( '/library/ur_here.lbi' => 0, '/library/search_form.lbi' => 0, '/library/member.lbi' => 0, '/library/new_articles.lbi' => 0, '/library/category_tree.lbi' => 0, '/library/top10.lbi' => 0, '/library/invoice_query.lbi' => 0, '/library/recommend_best.lbi' => 3, '/library/recommend_new.lbi' => 3, '/library/recommend_hot.lbi' => 3, '/library/recommend_promotion.lbi' => 4, '/library/group_buy.lbi' => 3, '/library/auction.lbi' => 3, '/library/brands.lbi' => 3, '/library/promotion_info.lbi' => 0, '/library/cart.lbi' => 0, '/library/order_query.lbi' => 0, '/library/email_list.lbi' => 0, '/library/vote_list.lbi' => 0 ),
6 、编辑可否设定
C:/Program Files/ShopEx/shop/docroot/ecshop/themes/default/libs.xml
加入下面代码,这些区域就变成可指定的了,以外的部分就不能被设定。如果不在这个文件中加入任何信息,所有的项目都是可编辑的
<file name="help.dwt"> <region name=" 左边区域 "> <lib>cart</lib> <lib>category_tree</lib> <lib>top10</lib> <lib>promotion_info</lib> <lib>order_query</lib> <lib>invoice_query</lib> <lib>vote_list</lib> <lib>email_list</lib> </region> <region name=" 站内快讯上广告位(宽: 210px ) "/> <region name=" 右边主区域 "> <lib>recommend_best</lib> <lib>recommend_new</lib> <lib>recommend_hot</lib> <lib>auction</lib> <lib>group_buy</lib> </region> </file>
7 、模板文件 help.dwt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- TemplateBeginEditable name="doctitle" --> <title>{$page_title}</title> <!-- TemplateEndEditable --><!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable --> <meta name="Keywords" content="{$keywords}" /> <meta name="Description" content="{$description}" /> <link rel="shortcut icon" href="favicon.ico" /> <link rel="icon" href="animated_favicon.gif" type="image/gif" /> <link href="{$ecs_css_path}" rel="stylesheet" type="text/css" /> </head> <body> <!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem --> <div class="AreaR"> <!-- 焦点图和站内快讯 START--> <div class="box clearfix"> <div class="box_1 clearfix"> <div class="f_l" id="focus"> <!-- #BeginLibraryItem "/library/index_ad.lbi" --><!-- #EndLibraryItem --> </div> <!--news--> <div id="mallNews" class="f_r"> <div class="NewsTit"></div> <div class="NewsList tc"> <!-- TemplateBeginEditable name=" 站内快讯上广告位 " --> <!-- #BeginLibraryItem "/library/cat_goods.lbi" --><!-- #EndLibraryItem --> <!-- TemplateEndEditable --> <!-- #BeginLibraryItem "/library/new_articles.lbi" --><!-- #EndLibraryItem --> </div> </div> <!--news end--> </div> </div> <!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem --> </body> </html>
红色背景部分是可编辑区域,如下图
8 、 help.dwt
<?php define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); assign_template('c', array($cat_id)); $position= assign_ur_here(0, 'asdfasdfaadsfasd'); $smarty->assign('ur_here', $position['ur_here']); // 当前位置 $smarty->display('help.dwt'); ?>
9 、最终效果