dedecms 自定义模型 sql怎么调用
看来你也在这个问题上迷茫了啊,给你我的笔记,你参考下。
dedecms后台添加的新内容模型,首页调用自定义字段的方法
{dede:arclist addfields='sjdz,yysj' channelid='1' row='10' orderby='sendate'}
<td>商家地址:[field:sjdz/]</td>
<td>营业时间:[field:yysj/]</td>
{/dede:arclist}
addfields='sjdz,yysj' channelid='1'
关键是addfields和channelid,addfields里面是你的自定义字段,channelid如果是普通文章就是1
如图
如果有帮助,望采纳!谢谢
普通文章列表调用内容多张不能用图集模型的办法,需要自己写一个函数,在include/extendfuncphp 增加函数
function Getpic($body){
$getpic = '';
preg_match_all("/(src)=[\"|'| ]{0,}([^>]\(gif|jpg|bmp|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
if(count($img_array)>0)
{
foreach($img_array as $key=>$value)
{
$picname = preg_replace("/[\"|'| ]{1,}/", '', $value);
$getpic ="<p><img src='"$picname"' border=0 /></p>";
}
}
else
{
$getpic="<p>没有</p>";
}
return $getpic;
}
列表页模版使用标签
{dede:list pagesize='10' addfields='body'}<li><a href='[field:arcurl /]' target='_blank'>
<span class="title">[field:title /]</span>
[field:body function='Getpic(@me)'/]
</a></li>
{/dede:list}
同时到网站后台-内容模型管理,修改普通文章模型附加列表字段增加body
保存后,就可以更新列表了,这样就能在列表页显示文章正文内所有
$dsql->SetQuery("Select aaid,atypeid,aimg_up,aimg_link,bid,bchannel,btypeid From dede_addonarticle a LEFT JOIN dede_archives b on btypeid=atypeid where bchannel=17 and atypeid=14 order by bid desc limit 0,5");
试试吧
调用方法:
{dede:channelartlist typeid='top'}
这里是typied='top',这个top值可以换为你想要的上级栏目ID,但绝对是不可以为空的。
比如我们在首页需要调用指定栏目ID为6的栏目下的文章,而该栏目下有一个ID为12的子栏目,通常我们在首页的调用代码如下:
<ul>
{dede:arclist typeid='8' row='10' col='1' orderby='hot'}
<li><a href='[field:arcurl/]'>[field:shorttitle/]</a></li>
{/dede:arclist}
</ul>
但是调用后,此栏目下的ID为12的子栏目里面的内容也会出现在列表里,如果不想要子栏目的内容出现在列表里很简单,这个在后台就有设置,具体设置如下:
登录织梦管理后台,在“系统基本参数”——“性能选项”——“上级列表是否包含子类内容:”这个选项选择“否”就行了。
当然这个是有前提的,这个只能说是调用列表页,如果你调用的栏目是封面页,那么肯定会取子栏目的数据,如果你调用的是列表页,那么肯定是可以的。
DedeCMS(织梦内容管理系统)是织梦团队开发的一套网站管理系统(CMS)。
这个系统把一个网站的内容(文字,,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。
{dede:arclist typeid='' orderby='pubdate' titlelen=34 row=10}
<li><a target="_blank" href="[field:arcurl /]">[field:title/]</a></li>
{/dede:arclist}
orderby='pubdate' 按出版时间排列
orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。
orderby='hot' 或 orderby='click' 表示按点击数排列
typeid='' 为空 表示调用当前栏目最新文章
楼主可以试试看看 行就给分吧 更多请关注百度空间:http://wwwbaiducom/p/疯子小组
0条评论