很久没有写技术类的文章了,这次这个标题写的… 呃, 有一点儿纠结。 事情是这样的,刚刚回答了一个百度问答上的问题,这个问题的大体意思是,有一个图片栏目,内含3个子栏目,分别为图片栏目1、2和3,另有三个分别带有子栏目的文章频道A、B和C,问题的要求就是在使用同一套文章模板的情况下,实现A对图片1、B对图片2、C对图片3的分别调用。
本来,我觉得可能dedeCMS里面的一个交叉调用功能或许可以实现这种调用,但是实际试验情况表示,这是不可行的… 据说是dedeCMS的程序写的有点小bug,所以不修改源码的情况下实现不了。那么怎么调用比较好呢。 小车想到了dedeCMS的自定义宏标记 。这个功能算是dedeCMS的一个小创新,其功能设计恰好可以用于实现如图所示的这一类调用。那么如何完成这种调用只需要三步骤:
【第一步】获得单独调用三个栏目所需的代码。
假设3个图片栏目id分别是 2、3、4,以第一个图片栏目的代码为例:
{dede:arclist row='10' titlelen='24' orderby='pubdate' typeid='2'} <li> <div>[field:imglink/]</div> [field:textlink/] </li> {/dede:arclist}
【第二步】创建自定义宏标记。
在自定义宏标记中, 点击 [增加一个标记]
在 所属栏目 中,点击选择 文章频道1
名称中,填入 pic01 (后边调用要用到,最好用英文)
正常显示内容中,粘贴入上边的代码。
其他默认即可。
现在第一个自定义宏标记创建成功。
按照上边的步骤,完成后边两个宏标签的创建。
【第三步】加入到文章列表页模板中的适当位置。
在列表模板里面将三个宏标记全部并列写入:
{dede:mytag name='pic01' ismake='yes'/} {dede:mytag name='pic02' ismake='yes'/} {dede:mytag name='pic03' ismake='yes'/}
切记,一定不要丢了 ismake=’yes’,否则,显示出来的是一堆调用代码
这样,它就会根据你选择的栏目分别调用指定的 图片栏目内容。
注意做好CSS,不要乱了布局哦。好,收功吃饭。
恩恩,我是提问题的。这个解决了!!谢谢~~~
我是30多个频道,要创建30多个标记,但我感觉比做N套模板,强大多了,对我来说,还有一种使用高级代码的优越感。。哈哈!!
谢谢~