博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
discuz 模板中如何使用方法和语言标签?
阅读量:6614 次
发布时间:2019-06-24

本文共 1383 字,大约阅读时间需要 4 分钟。

第一个问题:如何调用方法?

关于模板中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' => '取消收藏',

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

转载地址:http://elhso.baihongyu.com/

你可能感兴趣的文章
SCOM 2012 R2_自动恢复服务脚本
查看>>
离现在的半年内
查看>>
Heartbeat+DRBD+NFS高可用实例配置
查看>>
Linux Iptables 简析
查看>>
设计模式(创建型模式)——工厂方法模式
查看>>
我的友情链接
查看>>
CPU个数、核数、逻辑个数
查看>>
浅谈运维必备技能
查看>>
Go 并发非阻塞缓存
查看>>
过时的广东省教育技术中级培训题答大全
查看>>
happyhbase 基本操作和增量操作
查看>>
JAVA API集
查看>>
开源类型
查看>>
onSaveInstanceState() 什么时候调用
查看>>
双十一高并发场景背后的数据库RDS技术揭秘
查看>>
数据流被污染?数据质量不高?蚂蚁金服数据资产管理平台了解一下
查看>>
我的友情链接
查看>>
DES 算法报告
查看>>
iscsiadm命令使用方法
查看>>
双机热备篇 VGMP招式详解.2
查看>>