频道页显示独立的友情链接,分站和二级域名提必定要用到这个功能.
PHPCMS论坛上,有一个变通的办法,不同的栏目根据ID号引入文件,方法可行不可加起链接来比较麻烦,小项目管理可能还要编辑推广人员去FTP写链接比较麻烦,所以分析了一下需求,用自己这点皮毛写改了几行代码.
方法一,引入HTML
建立一个links-1.html,”分频道友情链接”就都添加到这里,在频道模板中加载这个模板,例:{template ‘phpcms’,'links-1′},你可以判断当前栏目的ID来加载不同的”友情链接模板”,例如:
- {if $catid=n}
- {template 'phpcms','links-1'}
- {elseif $catid=N}
- {template 'phpcms','links-2'}
- {/if}
方法二,需要改动源文件和数据库,先在link表里增加一列 catid 用来同步栏目的catid 用PHPMYADMIN 或者命令行运行:
ALTER table v9_link ADD catid smallint(5) unsigned NOT NULL DEFAULT '0';
然后找到 /phpcms/modules/link/link.php 75行:
public function add() {
下面增加:
$categorys =$this->catdb->select(array(siteid=>1,parentid=>0),'catid,catname');
调用所有顶级栏目的ID和name字段,第9行:
$this->db2 = pc_base::load_model('type_model');
增加:
$this->db2 = pc_base::load_model('type_model');
引入分类模块,然后再找到 /phpcms/modules/link/templates 19行左右:
<table cellpadding="2" cellspacing="1" width="100%">
增加:
- <tr>
- <th width="20%">链接位置:</th>
- <td><select name="link[catid]" id="">
- <option value="0">网站首页</option>
- <?php
- $i=0;
- foreach($categorys as $catid=>$cat){
- $i++;
- ?>
- <option value="<?php echo $cat['catid'];?>"><?php echo $cat['catname'];?></option> //Vevb.com
- <?php }?>
- </select></td>
- </tr>
链接位置:这里推荐使用,然后去语言文件里增加对应的字段,这里调用分类,到这里基本上实现了.
新闻热点
疑难解答