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目錄下找對應的語言標簽

論壇對應的是: source\language\forum\lang_template.php
'thread_favorite' => '收藏',

家園對應的是:source/language/home/lang_template.php
'favorite' => '收藏',

手機對應的是:source/language/mobile/lang_template.php
'favorite' => '收藏',
'favorite_delete' => '取消收藏',

關於多語言包如何使用,需要再研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 a標簽中的錨點使用方法 Struts2中 radio標簽的詳細使用方法 Maven中dependencyManagement標簽的正確使用方法 HTML中javascript的