dede:php 中写的方法,怎么在其他织梦标签怎么调用

dede:php 中写的方法,怎么在其他织梦标签怎么调用,第1张

织梦TAG静态化需要插件,需要修改的文件还蛮多的!网上很多人把插件改来改去,都改的不成样子了!

一、说明:本修改适用56,57 GBK,可以生成网站所有TAG列表的静态网页文件,还有生成tag的首页静态文件。

      修改前,请备份相关的原始文件。

二、修改步骤:

1、在DEDE网站根目录,建立“tag”目录(小写)

2、在DEDE后台SQL运行器里,执行以下一条SQL:

   ALTER TABLE `#@__tagindex` ADD `maketime` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';

3、增加文件:

templets/default/list_taghtm  //可从文章列表页复制修改

templets/default/index_taghtm  //可从taghtm复制

dede/makehtml_tag_action_listphp

dede/makehtml_tag_action_indexphp

dede/makehtml_tagphp

dede/templets/makehtml_taghtm

include/arctaghtmlclassphp

4、修改文件:

 dede/inc/inc_menuphp 

    143行,插入 

 <m:item name='更新TAG静态' link='makehtml_tagphp' rank='sys_MakeHtml' target='main' />

 include/taglib/taglibphp  61行屏蔽,62行插入 (参考附带的文件,也可以直接覆盖)

 include/extendfuncphp   把里面的代码,都复制到你的extendfuncphp文件里     

 

三、使用说明:

  1、进入后台“生成”,即可看到左边的“更新TAG静态”(就在更新主页、栏目、文档等功能的下方)

  

  2、自行编辑TAG列表页模板list_taghtm、TAG首页模板index_taghtm,都放在你站点模板所在目录即可(和首页模板、列表页模板、内容页模板等在一起)

  

  3、生成有个选项“是否强制全部生成”,它是为了节约资源设计的

     如果是“重新生成全部TAG列表”,它会更新所有的TAG的列表页;

     如果是“仅更新上次生成后有变化的TAG”,它则会只更新上次更新之后有变化及新增加的TAG的列表页,这个比较节约时间

  

  4、生成的TAG首页,放在根目录,叫做tagshtml

  5、如果你的模板里,还有TAG需要指向到它的静态地址,则用参考这个函数去处理其标签即可:

     {dede:tag type='current'}

          [field:id function="nic_tag_url(@me)" /] 

     {/dede:tag} 

     其中的id就是这个TAG的ID号

  

  6、在内容页模板,如果想指向该文TAG的列表页,用以下标签即可:

     {dede:fieldid function='nic_arc_tag_link(@me)'/}

      在文章列表页、arclist标签等,使用一下代码调用文章TAG列表

     [field:id function='nic_arc_tag_link(@me)'/]

  

高级补充说明:

1、TAG这个目录可以改,修改arctaghtmlclassphp的146行和extendfuncphp的15行,里面的tag/字样

2、文件名里的id号不能去掉,举例说因为“作业”和“昨夜”的拼音都一样,如果没有ID,他们的文件名就重复了。

3、生成速度和普通列表页一致的,因为是从哪里修改过来的。 你有1万个TAG,假定你每个TAG对应有30个文章吧,列表页10篇为一页,那就有3万篇了。

     你可以到后台的sql运行工具里,执行这一句看看,就知道TAG对应文章之后,数量就远大于TAG数量本身:

      select count() as c from #@__taglist

4、如果需要在发布新文章的时候,同时更新相关的TAG列表页,可以参考附带的inc_archives_functionsphp,修改你DEDE后台目录dede/inc/inc_archives_functionsphp

   增加 741行、758~765行

   

5、部分网站因曾经做过静态化处理,可能会出现代码冲突!

6、因CSS路径以及命名规则不同以及新手细节不会处理!可能会导致生成的TAG列表以及TAG首页布局很乱。或者某些模板调用不出来!

7、如果新人站长不会处理。可以来 安心赚吧 看相关问题的处理方法教程!也可以留言,站长会帮助你处理!

一、时间样式(2014年12月22日 12时10分01秒)

{dede:arclist}

[field:pubdate function="MyDate('Y年m月d日 H时i分s秒',@me)"/]

{/dede:arclist}

MyDate里面的参数:

Y全年,y年的末两位,H24小时制,h12小时制

二:扩展:不同格式的时间标签调用方式:

{dede:arclist row='2'}

<p>[field:pubdate function="MyDate('Y年m月d日 H时i分s秒',@me)"/]</p>

{/dede:arclist}

{dede:arclist row='2'}

<p>[field:pubdate function="MyDate('y年m月d日 H时i分s秒',@me)"/]</p>

{/dede:arclist}

{dede:arclist row='2'}

<p>[field:pubdate function="MyDate('Y年m月d日 h时i分s秒',@me)"/]</p>

{/dede:arclist}

{dede:arclist row='2'}

<p>[field:pubdate function="MyDate('Y/m/d H:i:s',@me)"/]</p>

{/dede:arclist}

{dede:arclist row='2'}

<p>[field:pubdate function="MyDate('Y-m-d H:i:s',@me)"/]</p>

{/dede:arclist}

浏览器中展示的样式:

不少朋友需要在DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。

第一步:打开"/include/commonfuncphp",

然后在该文件中加入一个函数,代码如下:

function pasterTempletDiy($path)

{

require_once(DEDEINC"/arcpartviewclassphp");

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/下新建一个headhtm文件,然后在headhtm里面加入你需要的标签和标签属性:

{dede:arclist titlelen='100' row='15' orderby='rand'}

<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>

{/dede:arclist}

第三部,自定义yourfilephp文件,内容如下

<php

require_once("//include/commonincphp");

>

想读取公共文件,如:{dede:include filename=''headhtm/}就使用<php pasterTempletDiy("cdqx/headhtm");>

大功告成!

即可使用<php pasterTempletDiy("default/headhtm");>

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede:php 中写的方法,怎么在其他织梦标签怎么调用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情