织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性
来源:本站原创|时间:2021-08-05|栏目:dedecms|点击: 次
织梦DedeCMS自带有自定义属性:头条[h],推荐[c],幻灯[f]等,可以非常自由地进行调用,在首页或列表中调用方法如下:
{dede:arclist typeid='1' flag='c'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
如果在文章内容页把自定义属性调用出来用,试试用
{dede:field.flag/}
显示出来的是不是文字,而是
c,p
这是正常的,因为他只是调用数据表里的内容,如果要把指定的文字调用出来就需要array处理一下,用到PHP的strstr函数,下面给出方法
{dede:field name='array' runphp='yes'}
if(@me['typeid']=='1' && strstr(@me['flag'],'c')=='c') @me='[推荐]'.@me['title']';
else @me=@me['title'];
{/dede:field}
注意这个例子增加了栏目的ID判断条件,如果不需要判断就直接用
{dede:field name='array' runphp='yes'}
if(strstr(@me['flag'],'c')=='c') @me='[推荐]'.@me['title'];
else @me=@me['title'];
{/dede:field}
php判断字符串是否包含方法
方法一、使用strstr,strstr返回需要判断是否被包含的字符开始到结束的字符串,如果没有返回值,则不包含。
举例,判断是否包含字符“#”:
<?php
$str='abc#defg';
$in=strstr($str,'#');
echo $in;//输出结果为:#defg
?>
方法二、使用stristr,它的用法和strstr的完全一样。唯一的区别是stristr不区分大小写,而strstr区分大小写。可以根据实际情况是否区分大小写来使用。
方法三、使用strpos,但它对中文件的支持不是很好,它的返回值为boolean型,也就是true和false(真和假)。执行速度比stristr和strstr都快,strpos函数中有一个参数用于指定判断的位置,默认为空,即判断整个字符串。
下面看例子:
<?php
$str='bde';
$in='b';
$output=strpos($str,$in);
?>
方法四、将字符串用explode来拆分数组再判断。如下:
方法四、将字符串用explode来拆分数组再判断。如下:
function chstr($str,$in){
$tmparr = explode($in,$str);
if(count($tmparr)>1){
return true;
}else{
return false;
}
}
$str='abc#defg';
$in='#';//判断是否包含#这个字符
$bh=chstr($str,$in);
if($bn){
echo '字符串'.$str.'包含'.$in;
}else{
echo '字符串'.$str.'不包含'.$in;
}
栏 目:dedecms
本文标题:织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性
本文地址:https://www.xiuzhanwang.com/a1/dedecms/13979.html
您可能感兴趣的文章
- 08-05dede:channel currentstyle 失效问题,调用子级栏目后就无效
- 08-05Dedecms文件目录结构解说(能知道织梦每个文件有什么用)
- 08-05织梦DedeCMS获取当前栏目文章数量
- 08-05织梦模板如何添加和调用自定义字段的方法
- 08-05DedeCMS自定义字段图片调用的问题{dede:img ...}解决方法
- 08-05织梦DedeCMS调用显示discuz里面主题的方法
- 08-05限制织梦会员每天投稿数量方法
- 08-05常用的织梦dedecms安全设置集合整理
- 08-05织梦教程:后台编辑器添加中文字体方法
- 08-05织梦修改文章排序到第一位如何解决?