欧美乱伦图片区,国产日韩欧美一区二区三区四区五区,欧美性色爽,乱伦小说网站免费观看视频,啊用力啊好深啊H在线观看,男女做哎爱过程图片

信息動(dòng)態(tài)

網(wǎng)站設(shè)計(jì)是技術(shù)與創(chuàng)意的完美融合!

技術(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ī)欄目了

0532-85810878 473587358 掃碼添加微信

掃碼添加微信

掃碼關(guān)注公眾號(hào)

官方公眾號(hào)

2054585360
丰镇市| 马鞍山市| 化隆| 合阳县| 广南县| 疏勒县| 精河县| 赞皇县| 白城市| 辉县市| 罗城| 临海市| 奈曼旗| 淄博市| 深州市| 定襄县| 毕节市| 霍山县| 平塘县| 大同县| 乌苏市| 漯河市| 莫力| 应用必备| 大余县| 乌拉特后旗| 潜山县| 宝坻区| 容城县| 华池县| 汉源县| 石柱| 武清区| 尼木县| 商城县| 和顺县| 保靖县| 黔西县| 隆林| 呼伦贝尔市| 宁晋县|