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' => '取消收藏',
关于多语言包如何使用,需要再研究。
discuz 模板中如何使用方法和语言标签?的更多相关文章
- ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题
ThinkPHP模板中使用U方法时无法嵌套大括号需要在control里面用U方法赋值给变量传到模版如:{:U('/Blog/comment/',array('id'=>$id)}$comment ...
- discuz 模板中使用方法和语言标签
一.如何调用方法? 关于模板中eval的使用{eval php 语句} 比如:<!--{eval echo "Hello World!"}--> 例如在discuz的手 ...
- thinkphp 5 count()方法在控制器,模板中的使用方法
thinkphp中关于count()方法的使用: 控制器中:echo count($arr)模板中:{$arr | count}模板中if判断语句中 <if condition="co ...
- Django模板语言 标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...
- Ember模板中的操作指向
模板中的链接操作指向有三个地方,该模板对应的控制器和路由以及视图,默认是先跳转到控制器,如果控制器里没有定义模板中动作的方法,就去该模板对应的路由里找,如果还没找到,就去父级路由找,直到顶级路由,如果 ...
- [.NET WebAPI系列03] WebAPI Controller 中标准CRUD方法
[因] WebAPI的Controller中,一般都是下面四种方法: 对应于数据操作是我们通常所说的CRUD. C对应post,R对应Get,U对应Put,D对应Delete. 直接模仿VS 2012 ...
- ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...
- thinkPHP 模板中的语法
一.导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='text/css' href='__PUB ...
- Flask08 包含(include)、继承(extends)、宏???、模板中变量的来源、利用bootstrap构建自己的网页结构
1 包含 直接把另一个文件的内容,复制粘贴过来 {% include "模板路径" %} 注意:模板都是放在 templates 这个文件夹下面的,可以在里面新建文件夹来进行分离: ...
随机推荐
- lua -- 商店的数据管理类
module (..., package.seeall) local ShopM = {} local SystemPrompt = require(__APP_PACKAGE_NAME__ .. & ...
- python--使用MySQL数据库
1.安装mysqlsudo apt-get install mysql-server Sudo apt-get install mysql-client 2.安装MySQL-python驱动sudo ...
- 每日英语:Boost Your Balance; Avoid Falls
If you find yourself needing to sit down to take off your shoes, it might be time to start paying at ...
- centos 7 min 编译安装php5.6+nginx1.7.5 笔记
1.安装mysql请参照 centos 7 min 编译安装mysql5.6.20 笔记 2.编译安装php5.6+nginx1.7.5 2.1.安装php5.6.0 首先添加依赖应用yum inst ...
- 对于iOS开发人工智能意味着什么
对于iOS开发人工智能意味着什么? 前言 近几年来人工智能的话题那是炙手可热.在国内很多大佬言必谈机器学习和大数据:在美国刚毕业的人工智能 PHD 也是众人追捧,工资直逼 NFL 四分卫.人工智能甚至 ...
- 【教程】Source Insight 关联 .S文件,汇编文件
加载.s汇编文件 做ARM嵌入式开发时,有时得整汇编代码,但在SI里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,默认只加了.inc和.asm后 ...
- JAVA开发的23种设计模式之 --- 桥接模式
桥接模式 概述:将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化.如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构. 应用场景 实现系统可能有多 ...
- Lintcode: Subarray Sum 解题报告
Subarray Sum 原题链接:http://lintcode.com/zh-cn/problem/subarray-sum/# Given an integer array, find a su ...
- 【论文笔记】Social Role-Aware Emotion Contagion in Image Social Networks
Social Role-Aware Emotion Contagion in Image Social Networks 社会角色意识情绪在形象社交网络中的传染 1.摘要: 心理学理论认为,情绪代表了 ...
- Kafka vs RocketMQ—— Topic数量对单机性能的影响
引言 上一期我们对比了三类消息产品(Kafka.RabbitMQ.RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务 ...