discuz 模板中使用方法和语言标签

一、如何调用方法?

  关于模板中eval的使用{eval php 语句}
  比如:<!--{eval echo "Hello World!"}-->

  例如在discuz的手机模板中,需要切换收藏和取消收藏。

  取消收藏,需要找到forum/viewthread.htm 、forum/viewthread_node.htm 模板,在viewthread_node模板中修改;

  取消收藏的 最低层代码 /source/include/spacecp/spacecp_favorite.php;

  方法是 $fav = C::t('home_favorite')->fetch_by_id_idtype($id, $idtype, $_G['uid']);

  要想在模板页面中应用的话,就需要通过eval来引用

1 <!--{eval $fav = C::t('home_favorite')->fetch_by_id_idtype($_G[tid], 'tid', $_G['uid']);}-->    

  其中tid是帖子,如果是版块需要改成fid

  模板viewthread_node需要替换的代码:

1 <!--{if !$_G[setting][mobile][mobilesimpletype] && $post['first']}-->
2 <a href="home.php?mod=spacecp&ac=favorite&type=thread&id={$_G[tid]}" class="fav">{lang favorite}</a>
3 <!--{/if}-->

  替换后的代码如下:

1 <!--{eval $fav = C::t('home_favorite')->fetch_by_id_idtype($_G[tid], 'tid', $_G['uid']);}-->
2 <!--{if $fav['favid']}-->
3 <a href="home.php?mod=spacecp&ac=favorite&op=delete&favid={eval echo $fav['favid']}" class="fav">{echo m_lang(delete_favorite)}</a>
4 <!--{else}-->
5 <a href="home.php?mod=spacecp&ac=favorite&type=thread&id={$_G[tid]}" class="fav">{lang favorite}</a>
6 <!--{/if}-->


二、discuz语言标签怎么使用和调取?

  要是引用手机标签,需要到mobile目录下找对应的语言标签

  论坛对应的是: source\language\forum\lang_template.php
'thread_favorite' => '收藏',

  家园对应的是:source/language/home/lang_template.php
'favorite' => '收藏',

  手机对应的是:source/language/mobile/lang_template.php
  'favorite' => '收藏',
  'favorite_delete' => '取消收藏',

posted on 2017-03-27 11:20  dudumao  阅读(1315)  评论(0编辑  收藏  举报

导航

阿里云