dedecms跳轉標籤

咱們在使用織夢dedecms製做網站的時候,有時會遇到利用arclist和list標籤調用redirecturl屬性。可是,dedecms的arclist和list標籤不支持redirecturl。不少網站採用的是直接跳轉的地址 雖然也可使用[field:arcurl/] 可是那樣會產生一箇中轉的跳轉過程,幾天青島作網站就跟你們分享一下如何在織夢的arclist和list標籤中調用跳轉網址。
第一:如何讓織夢的arclist標籤支持redirecturl屬性,實現文章直接調用跳轉網址
思路是:因爲跳轉網址的字段redirecturl是存放在附加表dede_addonarticle中的,因此只須要調用附加表中的該字段便可。
但根據織夢官方的說法,在模板中用arclist調用附加表字段只需指定channelid屬性和要得到的字段便可。
示例代碼以下:
{dede:arclist typeid=’1’ row=’1’ flag=’j’ addfields=’redirecturl’ channelid=’1’ orderby=’pubdate’}
<a href="[field:redirecturl/]" target="_blank">[field:title/]</a>
{/dede:arclist}
也能夠根據redirecturl是否爲空,實現直接跳轉仍是跳轉到站內, 示例代碼以下:
{dede:arclist typeid=’1’ row=’1’ flag=’j’ addfields=’redirecturl’ channelid=’1’ orderby=’pubdate’}
<a href="[field:array runphp=’yes’] if(@me[’redirecturl’]==’’) @me=@me[’arcurl’];
else @me=@me[’redirecturl’];[/field:array]" target="_blank"> [field:title/]</a>
{/dede:arclist}
addfields這個屬性是什麼?有哪些值,起什麼做用呢?
答:添加附加字段查詢。
具體使用方法:
自定義字段也就是添加了一個附加的表,要獲取附加表的內容,必須符合兩個條件:
一、指定channelid屬性;
二、指定要得到的字段addfields=’字段1,字段2’
第二:如何讓織夢的list標籤支持redirecturl屬性,實現文章直接調用跳轉網址
如今dedecms的LIST標籤不支持redirecturl 網站不少採用的是直接跳轉的地址,那麼如何如何讓織夢的list標籤支持redirecturl屬性,實現文章直接調用跳轉網址呢?
修改方法
很簡單隻要在 $addField後加上咱們要查詢的附加表字段的名稱就好
打開 include/arc.listview.class.php 找到
//若是不用默認的sortrank或id排序,使用聯合查詢(數據量大時很是緩慢)
        if(preg_match(’/hot|click|lastpost/’, $orderby))
        {
            $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,
           tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
           $addField
           FROM `#@__archives` arc
           LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id
           $addJoin
           WHERE {$this->addSql} $ordersql LIMIT $limitstart,$row";
        }

在這個的上面添加一行
$addField .= ’,’.$addtable.’.redirecturl’;
示例代碼以下:
{dede:list row=’1’  addfields=’redirecturl’ orderby=’pubdate’}
<a href="[field:redirecturl/]" target="_blank">[field:title/]</a>
{/dede:list}
也能夠根據redirecturl是否爲空,實現直接跳轉仍是跳轉到站內, 示例代碼以下:
{dede:list row=’1’ addfields=’redirecturl’ orderby=’pubdate’}
<a href="[field:array runphp=’yes’] if(@me[’redirecturl’]==’’) @me=@me[’arcurl’];
else @me=@me[’redirecturl’];[/field:array]" target="_blank"> [field:title/]</a>
{/dede:list}
相關文章
相關標籤/搜索