关于织梦dedecms在频道下属栏目列表里调用某篇文章内容的问题。为什么[field:body]无效?
1、建议尝试arcpagelist 标签,示例如下:
<ul class="c1 ico2">{dede:arclist flag='c' titlelen=42 row='16' tagid='dedecms' pagesize='8'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>{/dede:arclist}
</ul>
<div>{dede:arcpagelist tagid='dedecms'/}</div>
2、使用php语句编写
3、一次读取20条-100条,数目不超过1000条,基本资源影响不大,用js做分页。
arclist支持 noflag 属性,可以在那个不想显示的栏目里,为每一篇新闻加上:自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b],选取其中一个在系统中不用的,做为隔离属性。
这样就能“曲线”实现你的效果了。
在列表页不能直接使用{dede:fieldbody/},这个是在内容页使用的标签。在列表页有其他的用法:
{dede:arclist typeid='' titlelen='' limit='' orderby='' addfields='body' channelid='1'}
[field:body/]
{/dede:arclist}
重点就是addfields='body' channelid='1'这部分,意思为调用ID为1的内容模型中的附加字段body。因此除了在列表页中加入上述代码外,还需要进入Dedecms后台--核心--频道模型--内容模型管理--普通文章,点击进入后,在“列表附加字段”这个项目中添加字段:body,这样就可以了。
(不给采纳就不科学了)
1,[field:click/]
2,用css控制浮动,float:right
3,用arclist调用指定栏目的id,{dede:arclist typeid='栏目ID'}{/dede:arclist}
{dede:sql sql='Select utitle,uurl from dede_archives as a left join dede_uploads as u on aid=uarcid where alitpic <> uurl and aid=~id~'}
<li><a href="javascript:void(0);" ><img src="[field:url/]" alt="[field:title function='html2text(@me)'/]" width="110" height="76"/></a></li>
{/dede:sql}
联合查询dede_archives和dede_uploads两个表,读取该文章id下的文件
alitpic <> uurl这个语句是去除缩略图
根据这个sql语句套用就可以了,而且可以根据这语句在首页、列表、频道首页调用某篇文章的所有,做个相册特效、幻灯特效都很简单,比使用织梦自带的图集模型感觉要方便些
不过在首页、列表页调用所有,需要在commonfuncphp中写一个函数,根据文章id查询这两个表,返回一长串的<li><a href="javascript:void(0);" ><img src="[field:url/]" alt="[field:title function='html2text(@me)'/]" width="110" height="76"/></a></li>,语句和这个差不多
比如我们在首页需要调用指定栏目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:fieldclick/}只能在文章页调用,且是静态数值,手动更新文章这个阅读数才会更新。
列表页动态更新阅读数调用:
<script src="/plus/countphpview=yes&aid=[field:id/]&mid=1" type='text/javascript' language="javascript"></script>
列表页调用文章关键词:
[field:id runphp=yes]
global $dsql;
$tags = '';
$query = "SELECT keywords FROM `dede_archives` WHERE id='@me' ";
$dsql->Execute('keywords',$query);
while($row = $dsql->GetArray('keywords'))
{
$keywords1=$row['keywords'];
}
@me=$keywords1;
[/field:id]
0条评论