织梦仿站教程:dedecms各种调用自定义字段方法

查看付费资源请通过右侧购买区域进行购买!

织梦添加和调用自定义字段的方法

织梦自定义字段要想在任何位置任何模版中调用或者在{dede:list }和{dede:arclist }标签中调用,需要特殊设置。

自定义字段就是列表附加字段自定义的字段。

织梦仿站教程:dedecms各种调用自定义字段方法 织梦仿站教程 dedecms调用自定义字段 第1张

一,织梦如何添加自定义字段

网站后台》核心》频道模型》内容模型管理》选择要添加自定义字段的频道模型,这里以图片集频道举例

注意:创建字段,前台参数这里“使字段可以在列表的底层模板中获得”这个必须勾选

在字段管理》添加新字段中添加(价格属性)

在基本设置里》列表附加字段中添加jiage(可以在列表模板{dede:list}{/dede:list}中用[field:name /]调用)

二,织梦如何调用自定义字段

1、在{dede:list }中调用

{dede:list pagesize='5' addfields='jiage' channelid='2'}

<P>标题:[field:title/]</P>

<P>价格:[field:jiage/]</P>

  {/dede:list}

说明:addfields='jiage'指定要获得的字段 addfields='字段1,字段2'

channelid='2'指定 channelid 属性(内容模型的id值)图片模型的ID为2

2、在{dede:arclist }中调用

{dede:arclist typeid='3'  row='4'  addfields='jiage' channelid='2' }

<P>标题:[field:title/]</P>

<P>价格:[field:jiage/]</P>

{/dede:arclist}

3、单独调用

价格:{dede:field name='jiage'/} a

关于dedecms在内容页(详情页)调用内容模型自定义字段方法,前面试过了很多方法都不行,要不就是调用的数据都是一样的,就是以当前列表的形式显示出来,搞的很郁闷。。

网上最常见的方法是这样的 {dede:arclist addfields='name,sex,age'row='10' channelid='15'orderby='id' }  ,但是都行不通,这个方法只适合在列表页调用。。{dede:field.字段名'}其实没必要把问题想的那么复杂了,答案很简单的。。只需要在内容页相应的位置用{dede:field name='字段名'/}调用就可以了!前面的那些都不要。。

--------------------------------------------------

织梦DedeCMS自定义字段也就是添加了个附加的表,要调用附加表的内容,织梦官网给的解释文档说的是:

要获取附加表内容,必须符合两个条件

1、指定channelid属性,即channelid='内容模型id'

2、指定要获得的字段,即addfields='字段1,字段2'

如下面的调用代码:

{dede:arclist addfields="filetype,language,softtype" channelid='3'}

[field:textlink /] - [field:softtype /]

{/dede:arclist}

通过这个例子,很让人费解。

这样解释下就容易明白了

{dede:arclist addfields='附加字段1,附加字段2,附加字段3' channelid='内容模型id号'}

[field:textlink /] - [field:附加字段1/] - [field:附加字段2/] - [field:附加字段3/]

{/dede:arclist}

这样就能轻松实现在全站任意地方的列表调用文章的自定义字段了。

-----------------------------------

dedecms织梦首页调用自定义字段的方法

在仿站时,我们常常会自定义很多字段,那么如何在首页调用呢,下面给出方法:

一、指定 channelid 属性(channelid='17'   17是指内容模型里面指定的模型ID) 

二、指定要调用出来的字段 addfields='字段1,字段2' (字段1和字段2 中间请用字母的逗号 ,)

注意:必须要添加上面两个条件才可以。

例:

{dede:arclist typeid='7' row='7' orderby='pubdate' addfields='icons' channelid='17'}

<li><a href="[field:arcurl/]" target="_blank">

    <div class="icon a-[field:icons/]"></div>

    <h4>[field:title/]</h4>

</a>

</li>

{/dede:arclist} 

------------------------------------

DedeCMS搜索结果页面调用自定义字段的方法

有时候在我们需要在dedecms的搜索结果页面调用自定义字段,尤其是在做下载站的时候,需要在搜索结果页调用软件大小以及软件等级等等,但是我们发现在搜索结果页模板中使用“[field:字段名]”标签无法正确调用,就算添加了列表附加字段也不行。

这里,织梦58就教大家如何在搜索结果页调用自定义字段,具体方法及步骤如下:

找到并打开include目录下的extend.func.php文件,在文件末尾添加如下代码:

function Search_addfields($id,$result){

global $dsql; 

$dedejs = $dsql->GetOne("SELECT * FROM `dede_addonsoft` where aid='$id'");

$name=$dedejs[$result];

return $name;

}

其中addosoft是要调用自定义字段的附加表,在织梦后台核心->频道模型->内容模型管理可以看到,软件模型一般是addonsoft,普通文章一般是 addonarticle,这个根据具体的需要来更改,其他的不用修改。


接下来找到并打开 include目录下的arc.searchview.class.php文件,搜索“ //处理一些特殊字段”,在下面添加如下代码:

$row["softsize"]=Search_addfields($row["id"],"softsize");


其中的softsize是软件大小的字段名,如果有多个自定义字段则添加多行,但是一定要把softsize修改成字段名。添加之后就完成了,最后一步就是在搜索模板也调用了,在search.htm中 使用[field:softsize/]标签 就可以调用出来软件大小了。

----------------------------------------

首页调用自定义字段:

代码如下:

{dede:arclist addfields='自定义字段1,自定义字段2,.....' row='3' channelid='1'}

[field:自定义字段1/] [field:自定义字段2/]

{/dede:arclist}

注:此处channelid 是模型id号,一般都是普通文章。

列表页调用自定义字段

代码如下:

{dede:list pagesize='3'addfields='自定义字段1,自定义字段2,....'}

[field:自定义字段1/] [field:自定义字段2/]

{/dede:list}


搜索页调用自定义字段

打开 include/extend.func.php 文件,在文件末尾添加下面代码:

代码如下:

function Search_addfields($id,$result){

global $dsql;

$mnkj = $dsql->GetOne("SELECT * FROM `dede_addsoft` where aid='$id'");

$name=$mnkj[$result];

return $name;

}

其中 addosoft是要调用自定义字段的附加表,在织梦后台核心->频道模型->内容模型管理可以看到,软件模型一般是 addoshop,普通文章一般是 addonarticle,这个需要根据具体的情况来更改,其他的不用修改.

然后打开 include/arc.searchview.class.php 这个文件,搜索“ //处理一些特殊字段”,在下面添加如下代码:

码如下:

$row["自定义字段"]=Search_addfields($row["id"],"自定义字段");

如果有多个自定义字段这添加多行,添加之后就完成了,最后一步就是在搜索模板也调用了,在search.htm中 使用[field:自定义字段/] 就可以调用出来了.

内容页调用自定义字段

直接使用:

代码如下:

[field:自定义字段/]

希望本文所述对大家的dedecms建站有所帮助。

转载请说明出处内容投诉
仿站网 » 织梦仿站教程:dedecms各种调用自定义字段方法

发表评论

您需要后才能发表评论

仿站网专注帝国cms仿站,Zblog仿站,Wordpress仿站服务,专业+效率+售后保障

关于我们 联系客服
 
QQ在线咨询
客服热线
139-3511-2134