• 织梦CMS让模块支持调用主站的模板


    dedecms织梦问答等模块支持arclist标签,实现随机调用其他栏目文章
    就是让模块模板文件支持调用主站的模板,因为调用主站下的/templets/default/模板,也就实现了支持调用所有标签和标签属性。下面是解决方法:
    不少朋友需要在DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。
    第一步:打开"/include/common.func.php",该文件5.7,5.6版本默认存在,5.5的不存在自己建一个。
    然后在该文件中加入一个函数,代码如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function pasterTempletDiy($path)
    {
    require_once(DEDEINC."/arc.partview.class.php");
    global $cfg_basedir,$cfg_templets_dir;
    $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path;//模版文件的路径
    $dtp = new PartView();
    $dtp->SetTemplet($tmpfile);
    $dtp->Display();
    }

    加上上面的函数之后,也就可以调用主站下的/templets/default/所有模板文件,比如要在问答模块的主页调用主站的随机文章,你可以在主站模板/templets/default/下新建一个suiji.htm文件,然后在suiji.htm里面加入你需要的标签和标签属性:
    1
    2
    3
    {dede:arclist titlelen='100' row='15' orderby='rand'}
    <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
    {/dede:arclist}

    最后在问答模块首页的模板里面加入:
    1
    2
    3
    <?php
    pasterTempletDiy("default/suiji.htm");
    ?>

    这样就实现了真正意义的随机文章,因为ask模块是动态页所以每刷新页面文章就会变化,还可以通过修改:系统--系统基本参数--性能选项--arclist标签调用缓存的值来控制随机文章的更新频率。
    这种方法还有很多扩展应用,比如让其他模块共用主站下的footer.htm,head.htm等文件。
  • 相关阅读:
    [置顶] 深入ResourceBundle
    关于libgdx中UI控件的旋转和缩放的备忘
    H面试程序(28):字符串处理转换
    uva 10271 Chopsticks(dp)
    Savitzky-Golay滤波器(2)
    README.android
    LCD1602
    照片宽252*高312像素是几寸照片
    arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
    Ubuntu 12.04下安装QQ 2012 Beta3
  • 原文地址:https://www.cnblogs.com/MichaelZhangX/p/2585255.html
Copyright © 2020-2023  润新知