让列表页和文章页显示自定义属性

  首先,这里定义了几个新文章属性:w-北镇,x-俪人,y-营口,z-海城,自定义文章属性的方法[参考这里],想要实现的效果如下:
列表页这里写图片描述
文章页这里写图片描述

  列表页自定义属性的实现方法:
  打开include/arc.listview.class.php文件,找到“//处理一些特殊字段”的部分,在这之中找到如下代码:

if(preg_match('/c/', $row['flag']))
{
$row['title'] = "<b>".$row['title']."</b>";
}//这段代码的意思是为“推荐”属性加粗

  在这之后添加以下代码:

//控制自定义属性显示
if(preg_match('/w/', $row['flag']))
{
$row['bzsk'] = "<span class='zdysx'>[北镇]</span>";
}
if(preg_match('/x/', $row['flag']))
{
$row['byqlr'] = "<span class='zdysx'>[俪人]</span>";
}
if(preg_match('/y/', $row['flag']))
{
$row['ykba'] = "<span class='zdysx'>[营口]</span>";
}
if(preg_match('/z/', $row['flag']))
{
$row['hcyg'] = "<span class='zdysx'>[海城]</span>";
}

  之后在{dede:list}标签中就可以使用[field:bzsk/][field:byqlr/][field:ykba/][field:hcyg/]调用了。
  文章页自定义属性的实现方法:
  文章页实现自定义标签的显示需要使用{dede:sql}标签,写法:

{dede:sql sql='SELECT * FROM article_archives where id =~id~'}[field:flag function='str_replace(array("w","x","y","z",","),array("&#91北镇&#93;","&#91俪人&#93;","&#91营口&#93;","&#91海城&#93;",""),@me)'/]{/dede:sql}

  SELECT:需要获取的数据,星号*表示获取所有;
  FROM:数据来自哪个表,_archives表里存储着所有文章的标题、ID及自定义属性,所以这里选择这个表;
  WHERE:获取的条件,id =~id~为读取当前文档的ID;
  str_replace() 函数替换字符串中的一些字符(区分大小写),array是创建一个数组。
  &#91、]:等同于“[”和“]”,为防止织梦后台误认为是标签,所以用字符编码表示;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值