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

关于模板中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 模板中如何使用方法和语言标签?的更多相关文章

  1. ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题

    ThinkPHP模板中使用U方法时无法嵌套大括号需要在control里面用U方法赋值给变量传到模版如:{:U('/Blog/comment/',array('id'=>$id)}$comment ...

  2. discuz 模板中使用方法和语言标签

    一.如何调用方法? 关于模板中eval的使用{eval php 语句} 比如:<!--{eval echo "Hello World!"}--> 例如在discuz的手 ...

  3. thinkphp 5 count()方法在控制器,模板中的使用方法

    thinkphp中关于count()方法的使用: 控制器中:echo count($arr)模板中:{$arr | count}模板中if判断语句中 <if condition="co ...

  4. Django模板语言 标签整理

    Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...

  5. Ember模板中的操作指向

    模板中的链接操作指向有三个地方,该模板对应的控制器和路由以及视图,默认是先跳转到控制器,如果控制器里没有定义模板中动作的方法,就去该模板对应的路由里找,如果还没找到,就去父级路由找,直到顶级路由,如果 ...

  6. [.NET WebAPI系列03] WebAPI Controller 中标准CRUD方法

    [因] WebAPI的Controller中,一般都是下面四种方法: 对应于数据操作是我们通常所说的CRUD. C对应post,R对应Get,U对应Put,D对应Delete. 直接模仿VS 2012 ...

  7. ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)

    1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...

  8. thinkPHP 模板中的语法

    一.导入CSS和JS文件   1.css link       js  scr        <link rel='stylesheet' type='text/css' href='__PUB ...

  9. Flask08 包含(include)、继承(extends)、宏???、模板中变量的来源、利用bootstrap构建自己的网页结构

    1 包含 直接把另一个文件的内容,复制粘贴过来 {% include "模板路径" %} 注意:模板都是放在 templates 这个文件夹下面的,可以在里面新建文件夹来进行分离: ...

随机推荐

  1. angular.js测试框架protracotr安装所需的node版本

    protractor内代码的语法是基于ES6的,比如:里面用到了展开运算符“...”,node.js 6.0以下是不支持该语法特性. 所以,安装protractor是不会报错,但运行webdriver ...

  2. HTML中Zen Coding

    嵌套运算符 嵌套运算符用于以缩写的方式安排元素在生成文档树中的位置:将其放在内部或成为相邻的元素. 子: > 可以使用 > 运算符指定嵌套元素在另一个元素内部: div>ul> ...

  3. django rest_framework入门

    1.rest_framework的作用 1)可以对orm和非orm资源序列化 2)支持restful风格编程(POST,PUT,PATCH) 3)使用类视图编写API的view,而不是函数视图,类视图 ...

  4. 10个超赞的jQuery图片滑块动画

    在网站开发过程中,特别是前端开发这块,经常会使用到很多图片滑块动画,也就是一些基于jQuery和HTML5的焦点图插件.本文将为大家收集10个超赞的jQuery图片滑块动画,这些现成的jQuery插件 ...

  5. Zabbix之Python发送邮件

    前言:继前篇zabbix邮件乱码问题解决,转码后,问题是解决了,但是又发现问题,有时候告警邮件没有邮件内容,只有标题,一直没找出原因,所以就换了Python脚本发送邮件,代码如下. 使用前当然是要先安 ...

  6. 调整图像的灰度级数C++实现

    图像灰度级数我们见得最多的就是256了,如果想调整它的灰度级数,我们可以使用图像库的imadjust函数来作出调整,比如讲256个灰度级变成2个灰度级(也就是二值图了).再举一个例子,原来一幅256个 ...

  7. JIRA REST java client API实际应用

    [本文出自天外归云的博客园] 前提 1.需要安装maven环境: 2.在本地创建maven项目并修改maven配置文件“pom.xml”,添加如下内容: <dependency> < ...

  8. 4. Stacked AutoEncoder(堆栈自动编码器)

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

  9. iOS同步后couldn't load project

    使用Cornerstone同步后,有时候出现下面的现象,点击运行,提示“couldn't load project” 解决方法: 1.鼠标右键点击工程“XX_Internal”,选择“show in ...

  10. ARKit从入门到精通(8)-ARKit捕捉平地

    转载:http://blog.csdn.net/hdfqq188816190/article/details/73360287 1.1-ARKit捕捉平地实现流程介绍 1.2-完整代码 1.3-代码下 ...