【分享】如何编辑新模板的导航条

用于收藏精华贴子、网友共享的资料等。可以回复,不能发新贴。

版主: Jack

版面规则
本版面不能发新贴,可以回复

【分享】如何编辑新模板的导航条

帖子dedric » 2011-04-01 11:39

更新模板(比如Lite Blue之类)后,新显示的导航条上显示“HOME,NEW PRODUCTS,SPECIALS....."之类的格局,实际上这样的默认布局并不适合我们的需要,很多朋友都不知道怎么删除或者修改,我一开始也遇到这样的问题,很头疼,PHP代码也没学过,上ZEN-CART.CN论坛查,也没有答案,JACK大大提到了修改tpl_top_nav.php,也许他太忙,也没说怎么修改,这对像我一样的PHP盲来说简直是恶梦呀,还有的人则不负责任地说什么进admin页面修改(这根本行不通,根本就不了解问题所在。鄙视之),然后翻墙上zen-cart.com论坛查,也没有一个完整的解决方案,但有一些零星的解答给了我思路,结合JACK大大的tpl_top_nav.php修改建议,以下是我的解决方法:


我安装的是Lite Red模板,以此模板为例,假设我要在导航条的HOME和NEW PRODUCTS之间插入PRODUCT,以显示所有产品(链接到系统的products_all.php页面)。效果如下:
bar.JPG
bar.JPG (11.06 KiB) 被浏览 6134 次


1.先定义Product变量。

打开"目录/includes/languages/english/lite_red/header.php",找到

// top navigation menu text
define('TOP_MENU_NEW_PRODUCTS', 'New Products');
define('TOP_MENU_SPECIALS', 'Specials');
define('TOP_MENU_FEATURED_PRODUCTS', 'Featured Products');
define('TOP_MENU_VIEW_CART', 'View Cart');
define('TOP_MENU_MY_ACCOUNT', 'My Account');
define('TOP_MENU_HOME', 'Home');
define('TOP_MENU_PRODUCTS', 'Products');

分析可以得出这个部分是导航条各选项的变量是在此定义的,我新增一个语句(以上红字部分)

2.调用我新定义的PROCDUCT变量,放在HOME和New Product之间。

打开"目录\includes\templates\lite_red\templates\tpl_top_nav.php",

在在在在在在在在在在在

<?php
if ($current_page_base == 'products_new') { $active = 'tab_active';
} else { $active = '';
}?>
<li class="<?php echo $active;?>"><a href="index.php?

main_page=products_new"><?php echo TOP_MENU_NEW_PRODUCTS;?></a></li>

这一段表示new products的代码之前加入以下代码:


<?php
if ($current_page_base == 'products_all') { $active = 'tab_active';
} else { $active = '';
}?>
<li class="<?php echo $active;?>"><a href="index.php?

main_page=products_all"><?php echo TOP_MENU_PRODUCTS;?></a></li>

注意,在这段的新增代码中,我调用了在header.php中自己定义的TOP_MENU_PRODUCTS,然后指向products_all.php页面。

3.如果要删除不需要的选项,就在tpl_top_nav.php中删除相应的代码,如Specials,就删除以下代码:

<?php
if ($current_page_base == 'specials') { $active = 'tab_active';
} else { $active = '';
}?>
<li class="<?php echo $active;?>"><a href="index.php?main_page=specials"><?

php echo TOP_MENU_SPECIALS;?></a></li>





P.S 如果安装的是其他模板,有可能在"目录\includes\templates\lite_red\templates\"里是找不到tpl_top_nav.php的文件的,我之前就安装过denim的模板,它就不是以tpl_top_nav.php命名的,不同的模板,这个文件的名字是不一样的,可以一个个打开看里面的代码特征,如果是和tpl_top_nav.php特征一样的,或者是有NEW PRODUCTS,SPECIALS,FEATURED PRODUCTS字样的,应该没错,就是它了.

再P.S 为了做自己的网站,没有PHP基础,搞得头大死了,通过一系列解决问题的过程,也算是学到了点PHP,但不管是什么语言,基本的思路是一样的。

如果我写的这么多的文字帮了你的忙,别忘记通知我一下,让我也有点成就感嘛,哈哈
dedric
新手上路
新手上路
 
帖子: 7
注册: 2011-03-30 9:58

Re: 【分享】如何编辑新模板的导航条

帖子xiaojian » 2011-04-03 21:28

[img]非常好,支持你[/img]
头像
xiaojian
中级会员
中级会员
 
帖子: 79
注册: 2011-03-30 9:23
QQ 帐号: 616126367

Re: 【分享】如何编辑新模板的导航条

帖子tingting » 2011-04-04 20:44

这个帖子真的有用喔我是按照你说的改的,谢谢分享喔,太感谢了一直为导航的修改困扰着呢
头像
tingting
新手上路
新手上路
 
帖子: 5
注册: 2011-03-31 14:54

Re: 【分享】如何编辑新模板的导航条

帖子心如止水1 » 2011-04-07 9:37

呵呵。这也叫不会php?
头像
心如止水1
新手上路
新手上路
 
帖子: 11
注册: 2011-03-23 16:23
QQ 帐号: 527981259

Re: 【分享】如何编辑新模板的导航条

帖子dedric » 2011-04-07 13:31

的确是不会,以前用过ASP,但只是接触而已。这次要做ZENCART,才是从一个月前才开始看代码的。其实语言结构都差不多的。
dedric
新手上路
新手上路
 
帖子: 7
注册: 2011-03-30 9:58

Re: 【分享】如何编辑新模板的导航条

帖子fesric » 2011-04-07 22:25

这贴很给力!真的很给力,因为没有私心,自己会了,还不忘记和大家一起分享。
好样的!顶起来!我也是初学者,在过程中也遇到了种种问题,自己也查下资料,有时也问下高手们。
如果哪天我学有所成,我也会乐于助人的哦!
fesric
普通会员
普通会员
 
帖子: 25
注册: 2011-03-01 16:15

Re: 【分享】如何编辑新模板的导航条

帖子dragonbro » 2011-04-08 15:02

本人纯新手一个,没有PHP基础,看到此文,先内牛满面地膜拜一记啊。。就照你的操作了。。

照着楼主的,"contact us"估计能依葫芦画瓢弄出来,因为系统里有main_page=contact_us这个页面,可是about us该怎么弄呢,似乎没有main_page=about_us这个页面啊??
dragonbro
普通会员
普通会员
 
帖子: 21
注册: 2011-04-08 13:38

Re: 【分享】如何编辑新模板的导航条

帖子Jack » 2011-04-10 10:58

要通过工具-简易页面管理来创建一个新的页面,但网址无法是about_us,只能用系统生成的网址
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 【分享】如何编辑新模板的导航条

帖子dedric » 2011-04-10 20:49

搞定!通过GOOGLE找到的,有两个方法,一是安装ABOUT US插件,二是新建PHP文件。
新建PHP文件分6步,在GOOGLE前,我通过观察PAGE2/PAGE3....等代码只做到了4步。。。还是jack大大说的好,除了在论坛上查询外,GOOGLE百度也是还可缺少的。以下的解决办法:

1.在includes\languages\english\html_includes目录中新建文件define_about_us.php
这个文件可以通过后台的tool----define pages editor来编辑,很方便

2.在includes\templates\Your_template\templates目录中新建文件 tpl_about_us_default.php
并在此文件中增加如下代码:
<div id='aboutUs'>
<h1 id='aboutUsHeading'><?php echo HEADING_TITLE; ?></h1>
<div id='aboutUsMainContent'>
<?php
require($define_page);
?>
</div>
<div><?php echo zen_back_link() . zen_image_button(BUTTON_IMAGE_BACK, BUTTON_BACK_ALT) .

'</a>'; ?></div>
</div>
说实话,我还是不太明白为什么要建这么个文件


3.在includes\modules\pages目录中新建about_us目录
这个是必须的


4.在新建的about_us目录中新建文件header.php,并在文件中增加如下代码:
<?php
require(DIR_WS_MODULES . zen_get_module_directory(‘require_languages.php’));
$breadcrumb->add(NAVBAR_TITLE);
$define_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] .

‘/html_includes/’, FILENAME_DEFINE_ABOUT_US, ‘false’);
?>
这个header文件是其实是和page2 page3等文件的代码结构是一样的,


5.在includes/filenames.php文件增加如下代码:
define(‘FILENAME_DEFINE_ABOUT_US’, ‘define_about_us’);
这个文件还是很重要的,我之前观察PAGE2文件的时候,就觉得FILENAME_DEFINE_ABOUT_US是应该在哪里要定义一下的,但就是找不到在哪个文件里定义,原来在这里!!!


6.在includes\languages\english目录中新建文件about_us.php,并在文件中增加如下代码:
<?php
define(‘NAVBAR_TITLE’, ‘About Us’);
define(‘HEADING_TITLE’, ‘About Us’);

define(‘TEXT_INFORMATION’, ‘About Us information goes here.’);
?>
这个也是必须的


总结一下。
1.通过这个办法,在model----pages里新建了ABOUT US页面,URL链接也是和其他的连接一致,是index.php?main_page=about_us,如果做URL地址静态处理,也是没问题的。

2.这些代码是我从页面COPY来的,可能有的符号是全角符号,各位在自己写的时候要注意一下,全角的应该换成半角英文符号。我按上面的办法的确做到的,图我就不发了。

3.通过这种方法建立ABOUT US页面,可以通过后台进行HTML设计,十分方便,另外,可以用同样的思路做出其他任何你想要的页面。

4.ZENCART的代码的确不错,每一段都有//的代码解释,这样读起来方便很多了。
dedric
新手上路
新手上路
 
帖子: 7
注册: 2011-03-30 9:58

Re: 【分享】如何编辑新模板的导航条

帖子dragonbro » 2011-04-13 10:22

Thanks a lot! 待我慢慢研究,实践后向二位报告结果
dragonbro
普通会员
普通会员
 
帖子: 21
注册: 2011-04-08 13:38

下一页

  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 精华共享



在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客