很久没有写技术类的文章了,这次这个标题写的… 呃, 有一点儿纠结。 事情是这样的,刚刚回答了一个百度问答上的问题,这个问题的大体意思是,有一个图片栏目,内含3个子栏目,分别为图片栏目1、2和3,另有三个分别带有子栏目的文章频道A、B和C,问题的要求就是在使用同一套文章模板的情况下,实现A对图片1、B对图片2、C对图片3的分别调用。
关于dedeCMS的指定栏目下的另一指定栏目文章调用
本来,我觉得可能dedeCMS里面的一个交叉调用功能或许可以实现这种调用,但是实际试验情况表示,这是不可行的… 据说是dedeCMS的程序写的有点小bug,所以不修改源码的情况下实现不了。那么怎么调用比较好呢。 小车想到了dedeCMS的自定义宏标记 。这个功能算是dedeCMS的一个小创新,其功能设计恰好可以用于实现如图所示的这一类调用。
那么如何完成这种调用只需要三步骤(dedeCMS的自定义宏标记):
【第一步】获得单独调用三个栏目所需的代码。
假设3个图片栏目id分别是 2、3、4,以第一个图片栏目(typeid是2)的代码为例:
{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,不要乱了布局哦。好,收功吃饭。
——其实这三步就是成功应用自定义宏标记
的过程,可以跨频道调用以及同频道调用: