discuz模板方法与语言标签调用技巧

发布时间:2019-08-14编辑:脚本学堂
有关discuz模板中方法与语言标签的用法,discuz模板中如何调用方法,discuz语言标签怎么使用和调取,包括了网站标签与手机标签的调用方法等。

discuz模板如何调用方法与语言标签?

一、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来引用:
 

<!--{eval $fav = C::t('home_favorite')->fetch_by_id_idtype($_G[tid], 'tid', $_G['uid']);}--> 其中tid是帖子,如果是版块需要改成fid

模板viewthread_node需要替换的代码:
 

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

替换后的代码:
 

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

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

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

1、论坛标签:
 

sourcelanguageforumlang_template.php
'thread_favorite' => '收藏',

2、家园标签:
 

source/language/home/lang_template.php
'favorite' => '收藏',

3、手机标签:
 

source/language/mobile/lang_template.php
'favorite' => '收藏',
'favorite_delete' => '取消收藏',

关于多语言包如何使用,需要再研究。