技術(shù)資訊
dede頁面隨機(jī)調(diào)用欄目顯示
2012-07-02 22:34:15
DEDECMS自帶的{dede:channelartlist}標(biāo)簽只能獲取當(dāng)前欄目的子欄目的內(nèi)容列表,在首頁模板中就是頂級欄目的內(nèi)容列表,在做垃圾站的時(shí)候表現(xiàn)不夠靈活。假如我要在一個(gè)沒有下級欄目的欄目中使用{dede:channelartlist}標(biāo)簽的話就不會(huì)獲得任何內(nèi)容。有時(shí)候我們會(huì)發(fā)現(xiàn)網(wǎng)站在列表頁和內(nèi)容頁內(nèi)容不夠充實(shí),又怕麻煩去手動(dòng)添加一些內(nèi)容列表(所添加的常見內(nèi)容也不過是最新、熱門、推薦文檔等這些全局標(biāo)簽),又不想去制作多個(gè)列表和內(nèi)容頁模板使其內(nèi)容豐富起來,如果你非要做的話,其做法不過就是使用arclist標(biāo)簽讀取一些指定欄目的內(nèi)容,這種做法的缺點(diǎn)就是如果你要鏈接到你指定的欄目就要手動(dòng)在HTML代碼里寫出來,不夠機(jī)動(dòng)。
假如有一個(gè)全局標(biāo)簽,能用于網(wǎng)站模板的任意位置,隨機(jī)列出指定數(shù)目的網(wǎng)站欄目及內(nèi)容列表,豈不使你的垃圾站內(nèi)容更加豐富多彩哈。
于是我自制的全局標(biāo)簽{dede:randomartlist}誕生了
它可以在任意模板位置列出你指定數(shù)目(標(biāo)簽里的row參數(shù))的隨機(jī)欄目,并且這些只能非隱藏、文章模型、不是封面和外鏈的欄目(既此欄目會(huì)有實(shí)實(shí)在在的文章內(nèi)容),且排除自身(如果用于欄目列表和文章內(nèi)容顯示頁面)。不過如果你要在首頁調(diào)用欄目內(nèi)容列表的話還是推薦使用{dede:channelartlist}標(biāo)簽。
使用方法:
一、在任意模板位置中切入標(biāo)簽:
{dede:randomartlist row=3}
<h3><a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">{dede:field name='typename'/}</a></h3><span><a href="{dede:field name='typeurl'/}">更多</a></span>
<ul>
{dede:arclist titlelen=40 row='8'}
<li><a href="[field:arcurl/]" title="[field:fulltitle/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
{/dede:randomartlist}
復(fù)制代碼
標(biāo)簽唯一的一個(gè)參數(shù)row為要隨機(jī)顯示的欄目數(shù)目
標(biāo)簽里面的內(nèi)置html代碼可以自行修改,里面的其他標(biāo)簽相信用過DEDE的都很熟悉,如果該標(biāo)簽沒有內(nèi)置模板的話(即用法為:{dede:randomartlist row=3}{/dede:randomartlist})將會(huì)使用{dede:channelartlist}標(biāo)簽的系統(tǒng)默認(rèn)模板(模板目錄/system/part_channelartlist.htm),因?yàn)檫@個(gè)標(biāo)簽我是從{dede:channelartlist}修改過來的,所以也就沒有重新配置,建議大家都自己定義。
二、在 include/taglib目錄里添加如下標(biāo)簽代碼文件randomartlist.lib.php:
<?php
if(!defined('DEDEINC')) exit('Request Error!');
require_once(DEDEINC.'/arc.partview.class.php');
function lib_randomartlist(&$ctag,&$refObj)
{
global $dsql,$envs,$_sys_globals;
//處理標(biāo)記屬性、innertext
$attlist = 'typeid|0,row|10';
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = trim($ctag->GetInnerText());
if($innertext=='') $innertext = GetSysTemplets('part_channelartlist.htm');
$totalnum = $row;
if(empty($totalnum)) $totalnum = 20;
//獲得類別ID總數(shù)的信息
$typeids = array();
//只讀取內(nèi)容模型為文章的欄目[且欄目不是封面和外部鏈接,非隱藏欄目]
$tpsql = "id<>".$_sys_globals['typeid']." AND ispart=0 And ishidden<>1 And channeltype=1";
$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from `dede_arctype` where $tpsql order by rand() limit $totalnum");
$dsql->Execute();
while($row = $dsql->GetArray()) {
$typeids[] = $row;
}
if(!isset($typeids[0])) return '';
$artlist = '';
$GLOBALS['itemindex'] = 0;
$GLOBALS['itemparity'] = 1;
for($i=0;isset($typeids[$i]);$i++)
{
$GLOBALS['itemindex']++;
$pv = new PartView($typeids[$i]['id']);
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
$pv->SetTemplet($innertext,'string');
$artlist .= $pv->GetResult();
$GLOBALS['itemparity'] = ($GLOBALS['itemparity']==1 ? 2 : 1);
}
//注銷環(huán)境變量,以防止后續(xù)調(diào)用中被使用
$GLOBALS['envs']['typeid'] = $_sys_globals['typeid'];
$GLOBALS['envs']['reid'] = '';
return $artlist;
}
?>
復(fù)制代碼
當(dāng)然你也可以在DEDECMS后臺(tái) -> 模板 -> 標(biāo)簽源碼管理添加這個(gè)新的標(biāo)簽,然后你就可以在任意模板位置使用{dede:randomartlist}標(biāo)簽調(diào)用隨機(jī)欄目了
近期更新
- [2023-07-26 14:17:28] 為品牌賦能,海外官網(wǎng)品牌數(shù)字化
- [2023-05-06 10:32:26] 青島網(wǎng)站建設(shè)公司,高端網(wǎng)站定制,一站式網(wǎng)站服務(wù)——力圖數(shù)字科技
- [2023-04-27 13:47:54] 高端定制網(wǎng)站建設(shè)——從滿足預(yù)期到走向卓越
- [2023-04-11 09:17:49] H5頁面設(shè)計(jì)開發(fā)——移動(dòng)端傳播利器
- [2022-11-16 10:11:43] windows2012程序在哪
- [2022-04-14 11:01:47] 力圖數(shù)字科技配套網(wǎng)站服務(wù)支持
- [2021-05-18 10:14:11] 青島網(wǎng)站建設(shè)的流程
- [2021-04-29 10:14:38] 企業(yè)定制化官網(wǎng)建設(shè)項(xiàng)目
- [2021-03-05 10:34:45] 移動(dòng)互聯(lián)時(shí)代房地產(chǎn)行業(yè)的微信小程序解決方案
- [2021-01-22 17:29:38] 微信小程序有哪些優(yōu)勢?為什么要開發(fā)微信小程序?
- [2021-01-08 17:28:04] 網(wǎng)站建設(shè)最容易忽略的人性化設(shè)計(jì)
- [2020-12-16 16:55:32] 建設(shè)一個(gè)常規(guī)的公司網(wǎng)站建設(shè)成本大概是多少?
延伸閱讀
- [2014-09-02 02:16:19] JS日期顯示在title中
- [2012-07-22 19:04:16] dede列表字段有則顯示無則不顯示
- [2013-04-19 16:11:51] dede當(dāng)前父欄目高亮
- [2012-05-19 21:26:07] dede增加欄目圖片banner
- [2015-12-28 11:21:21] 登陸網(wǎng)站后臺(tái)驗(yàn)證碼不顯示的解決方案
- [2014-07-25 12:40:12] dede:sql 調(diào)用flag att文檔屬性 翻頁
- [2012-05-19 00:20:42] dede調(diào)用子欄目縮略圖
- [2008-09-08 14:46:00] 緩解全站導(dǎo)航和欄目導(dǎo)航的矛盾
- [2012-12-05 12:11:39] DEDE計(jì)數(shù)器不顯示
- [2014-06-02 13:24:53] dede 調(diào)用當(dāng)前欄目頂級欄目
- [2016-04-27 12:03:00] 織夢欄目或者title標(biāo)題超出一定長度后顯示特定樣式
- [2014-01-10 00:16:32] 如何在DEDE列表頁中調(diào)用下載地址(已解決)
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計(jì)解決方案 機(jī)械行業(yè)網(wǎng)站設(shè)計(jì)解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 科技企業(yè)網(wǎng)站設(shè)計(jì)解決方案 電子家電網(wǎng)站設(shè)計(jì)解決方案 食品行業(yè)網(wǎng)站設(shè)計(jì)解決方案 集團(tuán)公司網(wǎng)站設(shè)計(jì)解決方案 企事業(yè)單位網(wǎng)站設(shè)計(jì)解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 健身運(yùn)動(dòng)網(wǎng)站設(shè)計(jì)解決方案 美容與化妝品網(wǎng)站設(shè)計(jì)解決方案 建筑設(shè)計(jì)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 物流行業(yè)網(wǎng)站設(shè)計(jì)解決方案
TAGS關(guān)鍵字
網(wǎng)站品牌 網(wǎng)站設(shè)計(jì) 頁面設(shè)計(jì) 營銷型網(wǎng)站 平面設(shè)計(jì) 青島輪胎網(wǎng)站設(shè)計(jì) 中小型企業(yè)網(wǎng)站建設(shè) GOOGLE 企業(yè)網(wǎng)站 網(wǎng)站優(yōu)化 青島網(wǎng)站案例 企業(yè)網(wǎng)站設(shè)計(jì) 程序開發(fā) 舒適的界面 海信網(wǎng)絡(luò)科技 css 青島開發(fā)區(qū)建站公司 交互設(shè)計(jì) 審美 青島網(wǎng)站建設(shè)基礎(chǔ)知識(shí) H5專題頁面 力圖數(shù)字科技 力圖 青島做網(wǎng)站多少錢 微信小程序 SEO優(yōu)化 青島網(wǎng)絡(luò)公司 HTML5 青島輪胎網(wǎng)站設(shè)計(jì)公司 網(wǎng)站策劃