接触CMS没多久,最近用织梦CMS做一个公司的宣传网站,首页安排了公司简介板块,公司简介同时也是一个顶级栏目。我希望首页公司简介的内容能直接调用该栏目中的内容或是栏目高级选项中的栏目描述内容。由此引发以下故事
一开始我尝试使用{dede:field name='description' function='html2text(@me)'/}这个标签,却一点效果都没有。找过教程,教程里调用栏目描述都是用这个标签的。我就纳闷了,是不是我什么没设置好所以调用不出来?可是同样式栏目高级选项中的SEO标签选项内容 我是可以调用到的,没有设置好应该是栏目高级选项中所有的选项都调用不出来才对,故排除没设置系统选项。这让我更加郁闷了。。。。
找不到答案誓不罢休,在网上找了几天,终于看出了些端倪。{dede:field name='description' function='html2text(@me)'/}这个标签是用在列表页和文章页以调用栏目描述的,但首页不能用!寻找的方向开始向正确的方向了,找了一下首页调用栏目描述的方法一下子就找到了!~这个方法有点绝。。。
用sql语句来直接调用数据库的内容
{dede:sql sql='Select description from dede_arctype where id=20'}[field:description /]
{/dede:sql}
注:id=20 为公司简介栏目ID
"dede_arctype"为安装系统时的表名
如果需要还可以限制在首页中显示的字数
{dede:sql sql='Select description from sh_arctype where id=20'}
[field:descriptiont function="cn_substr('@me',200)" /]
{/dede:sql}
以上表示调用栏目ID为20的栏目内容,仅调用200字节长度。
如果想调用栏目内容只需把description 改成content
{dede:sql sql='Select content from dede_arctype where id=20'}[field:content /]
{/dede:sql}
限制在首页中显示的字数
{dede:sql sql='Select description from sh_arctype where id=20'}
[field:descriptiont function="cn_substr('@me',200)" /]
{/dede:sql}
真相只有一个!我之前的疑问解开了~之所以能调用SEO标签的内容是因为我是在封面页调用的,教程里能成功用{dede:field name='description' function='html2text(@me)'/}调用栏目描述页是在封面页调用,就我傻傻地在首页用 囧。
做一个项目受益良多,很多是在书上看不出来的。这个事情让我再次感慨:想进步,做项目!