以前一直用公司的一个JSP的CMS系统,用了好久,那个CMS又没经历大的更新,功能比较落后,最近有个小项目,工期不紧,于是自己换了个PHP的CMS(DEDECMS)来研究一下,脑中有点CMS的概念,所以上手DEDECMS还算比较顺利,但是遇到很多小问题,很困扰人,这个日志做些记录吧,方便以后使用。

        DEDECMS功能确实比较强大,但是毕竟是个人作品,文档不是很完善,使用起来很多情况要靠自己摸索,加了些QQ的群,都是不说话的,好郁闷……

       

         问题一:取全站点热门文章及最新文章的方法                

         默认模板里带的标签是这样的:

         {dede:arclist row=10 orderby=pubdate titlelen=36}
            <li><span class="date">[field:pubdate function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl/]">[field:title/]…</a></li>

         {/dede:arclist}

           我想在列表页面也使用热门文章的时候就遇到一个问题,生成好HTML后,栏目页面里的热门文章只显示本栏目下。

           解决方法:在标签里加上typeid='all'

           typeid代表栏目ID,all这个属性我查文档的时候并没有查到,QQ群里,论坛里泡了好几天,才再一个问题贴里看到这个值,测试了一下,还真解决了问题,希望官方的文档能做的更完善一些。

 

         问题二:修改友情链接标签的默认输出

         系统标签是这样的:

         {dede:flink row='24'/}

          这种方式出来的效果,系统会自动根据底层模板里定义好的方式输出:<li><a>友情链接</a></li>

          我要达到的效果是直接输出a,而不需要外层的Li。

          解决方法:自己写标签的InnerHtml,覆盖底层模板的输出: {dede:flink row='24'}[field:link /]{/dede:flink}

          经过了这个CASE,我也算是对DEDECMS模板机制有了一点了解了。

 

 问题三:在首页调用自定义内容模型字段的值

 自建的内容模型有字段:zbld,采用DEDE的arclist 无法直接调用到该字段的值;

 解决方法:       

            {dede:arclist titlelen=30 row=1 typeid='59' channelid='17' addfields='zbld'}
             <h2>
                       [field:zbld/]
                </h2>
            {/dede:arclist}

 在调用标签里添加channelid、addfields属性。channelid表示自定义内容模型的ID,addfields表示要添加的字段名称。

 

       问题四:在首页调用指定栏目的相关信息

       由于需要在首页里调用指定栏目的信息,研究过官方的手册,发现使用channel标签或使用channelartlist都无法获取到,在设置了typeid后情况依旧;

        解决方法:使用channelartlist标签,在设置typeid的时候,后面添加一个固定参数“1”:谢谢这篇文章的作者:http://www.webjx.com/web/cms-11050.html

            {dede:channelartlist typeid='89,1'}
                  {dede:field.content/}
             {/dede:channelartlist}

      

 

待续……

posted on 2009-03-25 14:19  Sunshine08  阅读(348)  评论(1编辑  收藏  举报