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' => '取消收藏',
关于多语言包如何使用,需要再研究。
最新文章
- zoj 3820(2014牡丹江现场赛B题)
- 什么是Cookie对象,Session对象,Application对象。
- linux定时执行脚本
- 解决GitLab提交MergeRequest时,提示502 GitLab is not responding.的问题
- tcpdump抓SQL
- VS2005控制台程序修改nb0文件
- MVVM设计模式《网摘》
- grant授权“失败”的原因
- PHP imdb类多个跨站脚本漏洞
- Android中帧动画的创建
- day2作业
- 几种优化方法的整理(SGD,Adagrad,Adadelta,Adam)
- route 工具
- SSRF漏洞
- C++ leetcode::ZigZag Conversion
- Linux下的crontab定时执行任务详解
- Codeforces Round #544 (Div. 3) dp + 双指针
- JAVA io 包小结
- CSS外框高度自动适应
- 七、K3 WISE 开发插件《Update字段级更新触发器 - BOS单审核后反写源单》