此处将为大家介绍关于dedecms织梦源码用array调用多个自定义字段并判断的详细内容,并且为您解答有关织梦源代码的相关问题,此外,我们还将为您介绍关于dedeCMS怎么使用arclist标签调用自
此处将为大家介绍关于dedecms织梦源码用array调用多个自定义字段并判断的详细内容,并且为您解答有关织梦源代码的相关问题,此外,我们还将为您介绍关于dedeCMS怎么使用arclist标签调用自定义字段、dedecms用array调用多个自定义字段并判断、dedecms织梦advancedsearch页面显示自定义字段的方法、dedecms织梦dede:arclist按照自定义字段的条件调用相关文章的有用信息。
本文目录一览:- dedecms织梦源码用array调用多个自定义字段并判断(织梦源代码)
- dedeCMS怎么使用arclist标签调用自定义字段
- dedecms用array调用多个自定义字段并判断
- dedecms织梦advancedsearch页面显示自定义字段的方法
- dedecms织梦dede:arclist按照自定义字段的条件调用相关文章
dedecms织梦源码用array调用多个自定义字段并判断(织梦源代码)
首页、栏目页增加多字段判断用[field:array runphp='yes']标签,这个标签可以获取任意字段的值。
比如,有两个字段分别为:tishi,leibie,先判断 tishi 这个字段是否为空,同时判断 leibie 是否是指定字符,如果条件都满足,就只调用tishi字段内容,就可以这样写(和平时用的@me不同,这里的字段按照 @me['tishi'] 如下面橙色部分)。
{dede:arclist row='5'}
[field:array runphp='yes']
if(@me['tishi'] !='' && @me['leibie'] == '类别1')
@me='提示信息不为空,类别1的信息如下:' . @me['tishi'];
if(@me['tishi'] !='' && @me['leibie'] == '类别2')
@me='提示信息不为空,类别2的信息如下:' . @me['tishi'];
if(@me['tishi'] !='' && @me['leibie'] == '类别3')
@me='提示信息不为空,类别3的信息如下:' . @me['tishi'];
[/field:array]
{/dede:arclist}
&&是逻辑且的意思,有不明白的可以网上找找相应的资料,就不重复了。
内容详细页增加多字段判断
办法稍微复杂点,主要有两种办法,都介绍一下吧,
使用{dede:field.xx}写php调用
{dede:php}$GLOBALS['tishi']=$arc->Fields['tishi']{/dede:php} <!--把tishi字段放到数组-->
{dede:field.leibie runphp="yes"}
if(@me=='类别1' && $GLOBALS['tishi']!='')
@me = "提示信息不为空,类别1的信息如下:".$GLOBALS['tishi'];
elseif(@me=='类别2' && $GLOBALS['tishi']!='')
@me = "提示信息不为空,类别2的信息如下:".$GLOBALS['tishi'];
elseif(@me=='类别3' && $GLOBALS['tishi']!='')
@me = "提示信息不为空,类别3的信息如下:".$GLOBALS['tishi'];
else @me='无';
{/dede:field.leibie}
使用{dede:field name='array'}写php调用
这个办法和首页、列表的相似。写一个两个字段都能调用的参考下
查看模板打印代码帮助
{dede:field name='array' runphp='yes'}
if(@me['tishi'] !='' && @me['leibie'] == '类别1')
@me='提示信息不为空,' . @me['leibie'] . '的信息如下:' . @me['tishi'];
if(@me['tishi'] !='' && @me['leibie'] == '类别2')
@me='提示信息不为空,' . @me['leibie'] . '的信息如下:' . @me['tishi'];
if(@me['tishi'] !='' && @me['leibie'] == '类别3')
@me='提示信息不为空,' . @me['leibie'] . '的信息如下:' . @me['tishi'];
{/dede:field}
总的来说array功能还是很强大的,推荐用这个功能,非常是对多种判断条件的情况下,可以减少不必要的开发时间。 本文章网址:http://www.ppssdd.com/code/10052.html。转载请保留出处,谢谢合作!
dedeCMS怎么使用arclist标签调用自定义字段
本文实例讲述了dedeCMS使用arclist标签调用自定义字段的方法。分享给大家供大家参考。具体分析如下:
推荐学习:织梦cms
其实方法非常的简单我们只要使用addfields就可以实现增加自定自段了,不过有一点需要注意的是如果你在在后面加的我们需要把底层给选中,否则是可能调用不到字段的.
语法代码如下:
代码如下:
{dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'} [field:textlink /] [field:附加字段1/] [field:附加字段2/]< [field:附加字段3/]< {/dede:arclist}
实例代码如下:
代码如下:
{dede:arclist flag='c' typeid='23' channelid='1' addfields='tpic2' limit='0,8'} <div> <a title="[field:title /]" href="#"> @@##@@ </a> </div> {/dede:arclist}
要求:
1、指定 channelid 属性
2、指定要获得的字段 addfields=''字段1,字段''
3、必须选择 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择),这个可以用来做普通的文字类型,如果要是图片的类型的话会出现.代码如下:
代码如下:
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img} 这明显不是我们想要的,这个时候我们弄一个自定函数,代码如下:</p> <p>function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ //var articleUrl = https://www.jb51.net $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img .= $imgurl; } else{ $img .= '@@##@@'; } } } } } $dtp->Clear(); return $img; } }
调用代码如下:
代码如下:
[field:tpic2 function='GetOneImgUrl(@me,1)'/]
这样即可.
以上就是dedeCMS怎么使用arclist标签调用自定义字段的详细内容,更多请关注php中文网其它相关文章!
dedecms用array调用多个自定义字段并判断
首页、列表页增加多字段判断
用[field:array runPHP='yes']标签,这个标签可以获取任意字段的值。
比如,有两个字段分别为:tishi,leibie,先判断 tishi 这个字段是否为空,同时判断 leibie 是否是指定字符,如果条件都满足,就只调用tishi字段内容,就可以这样写(和平时用的@me不同,这里的字段按照 @me['tishi'] 如下面橙色部分)。
{dede:arclist row='5'} [field:array runPHP='yes'] if(@me['tishi'] !='' && @me['leibie'] == '类别1') @me='提示信息不为空,类别1的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '类别2') @me='提示信息不为空,类别2的信息如下:' . @me['tishi']; if(@me['tishi'] !='' && @me['leibie'] == '类别3') @me='提示信息不为空,类别3的信息如下:' . @me['tishi']; [/field:array] {/dede:arclist} |
&&是逻辑且的意思,有不明白的可以网上找找相应的资料,就不重复了。
内容页增加多字段判断
方法稍微复杂点,主要有两种方法,都介绍一下吧,
使用{dede:field.xx}写PHP调用
{dede:PHP}$GLOBALS['tishi']=$arc->Fields['tishi']{/dede:PHP} |
dedecms织梦advancedsearch页面显示自定义字段的方法
在DEDE织梦系统下,高级搜索advancedsearch结果页默认不能显示自定义字段,我们可以通过修改程序来实现:第一步:找到/plus/advancedsearch.PHP文件,在第224行附近找到以下代码:
$query = "select main.id as aid,main.*,main.description as description1,type.*
from $maintable main
left join dede_arctype type on type.id=main.typeid
left join $addontable addon on addon.aid=main.id
$where $orderby";
第二步:修改第一步中的查询语句,添加自定义字段查询内容,加上“,addon.* ”如下:
$query = "select main.id as aid,type.*,addon.*
from $maintable main
left join dede_arctype type on type.id=main.typeid
left join $addontable addon on addon.aid=main.id
$where $orderby";
dedecms织梦dede:arclist按照自定义字段的条件调用相关文章
Dedecms织梦dede:arclist按照自定义字段的条件调用相关文章,这对于想要在首页调用某个自定义字段的文章的同学来讲,非常不错
打开 \include\taglib\arclist.lib.PHP 找到
//关键字条件
在它的上面加入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//自定义字段关键字条件
if($ctag->GetAtt('addk')!='')
{
$addkeywords = explode(',' , trim($ctag->GetAtt('addk')));
$addf = $ctag->GetAtt('addf') ? $ctag->GetAtt('addf') : "body";
$filtersql = '';
$n = 1;
foreach($addkeywords as $k)
{
if(trim($k)=='') continue;
else $k = addslashes($k);
$filtersql .= ($filtersql=='' ? " find_in_set('$k', addf.$addf) " : " OR find_in_set('$k', addf.$addf) ");
$n++;
}
$orwheres[] = $filtersql;
}
|
模板调用标签写法
1
2
3
4
5
6
7
8
9
|
{dede:arclist typeid='1' row='10' channelid='1' addfields='jiage,dengji,shangdao,canyin' addk='奢华6星' addf='dengji'}
|
channelid='1' //模型id号
addfields='jiage,canyin' //自定义字段
addk='奢华6星' //要调用的自定义字段值
addf='dengji' //要调用的自定义字段
关于dedecms织梦源码用array调用多个自定义字段并判断和织梦源代码的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于dedeCMS怎么使用arclist标签调用自定义字段、dedecms用array调用多个自定义字段并判断、dedecms织梦advancedsearch页面显示自定义字段的方法、dedecms织梦dede:arclist按照自定义字段的条件调用相关文章的相关信息,请在本站寻找。
本文标签: