頻道頁顯示獨立的友情鏈接,分站和二級域名提必定要用到這個功能.
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>
鏈接位置:這里推薦使用,然后去語言文件里增加對應的字段,這里調用分類,到這里基本上實現了.
新聞熱點
疑難解答