ThinkPHP - 6 - 学习笔记(2015.5.4)

解决:OneThink 站点无法被友言uyan后台识别

打开友言uyan插件功能,但OneThink站点无法被友言uyan后台检测到。页面生成的uyan代码为:

1 <!-- UY BEGIN -->
2 <div id="uyan_frame"></div>
3 <script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid="></script>
4 <!-- UY END -->

你会发现uid并没有被设置。查看\Addons\SocialComment\comment.html中加载友言uyan的代码。

1 <!-- UY BEGIN -->
2 <div id="uyan_frame"></div>
3 <script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid={$addons.config.comment_uid_youyan}"></script>
4 <!-- UY END -->

你会发现变量 $addons.config 错误,应为 $addons_config。

解决方案:将 $addons.config 改为 $addons_config。

参考资料

onethink插件是如何具体运行的 http://jingyan.baidu.com/article/8275fc86b4226146a03cf6d7.html

OneThink里面的钩子初始化到运行的流程 http://www.thinkphp.cn/topic/13867.html

onethink beta1 插件完整文档 http://www.thinkphp.cn/topic/7058.html



模板渲染(更改VIEW模板文件)

模板定义后就可以渲染模板输出,系统也支持直接渲染内容输出,模板赋值必须在模板渲染之前操作。

渲染模板输出最常用的是使用display方法,调用格式:

display(‘[模板文件]‘[,‘字符编码‘][,‘输出类型‘])

如果没有按照模板定义规则来定义模板文件(或者需要调用其他控制器下面的某个模板),可以使用:

1 $this->display(‘Member:read‘);

表示调用Member模块下面的read模板。渲染输出不需要写模板文件的路径和后缀,确切地说,这里面的控制器和操作并不一定需要有实际对应的控制器和操作,只是一个目录名称和文件名称而已。

参考资料:模板渲染 http://document.thinkphp.cn/manual_3_2.html#template_display



OneThink中默认左侧Navigation

页面左侧Navigation是在\Application\Home\View\default\Public\body.html中定义的:

1 <div class="span3 bs-docs-sidebar">
2     <block name="publish"></block>
3     <ul class="nav nav-list bs-docs-sidenav">
4         {:W(‘Category/lists‘, array($category[‘id‘], ACTION_NAME == ‘index‘))}
5     </ul>
6 </div>

其中 {:W(‘Category/lists‘, array($category[‘id‘], ACTION_NAME == ‘index‘))} 是调用一插件(Widget),其在\Application\Home\Widget\CategoryWidget.class.php中定义。

ACTION_NAME 是ThinkPHP一常量,表示“当前操作名”。

参考资料:OneThink前台模板展现的几种方式 http://www.7ak8.com/a/wangzhankaifa/PHP/2015/0109/1176.html

时间: 2024-10-25 00:31:29

ThinkPHP - 6 - 学习笔记(2015.5.4)的相关文章

ThinkPHP - 4 - 学习笔记(2015.4.12)

ThinkPHP D方法 D方法用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型','模型层名称')方法的返回值是实例化的模型对象. 参考资料:ThinkPHP函数详解:D方法 http://www.thinkphp.cn/info/122.html ThinkPHP自定义模板标签 参考资料:ThinkPHP自定义模板标签详解 http://w3note.com/web/124.

ThinkPHP - 5 - 学习笔记(2015.4.15)

ThinkPHP __construct()和__initialize() 1.__initialize()不是php类中的函数,php类的构造函数只有__construct().2.类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化.3.当子类和父类都有__construct()函数的时候,如果要在初始化子类的时候同时调用父类的__constrcut(),则可以在子类中使用parent::__constru

HTML第一天学习笔记2015 10 01

如需在 HTML5 中显示视频,您所有需要的是: <video src="movie.ogg" controls="controls"> </video> <html> 与 </html> 之间的文本描述网页 <body> 与 </body> 之间的文本是可见的页面内容 <h1> 与 </h1> 之间的文本被显示为标题 <p> 与 </p> 之间的

路冉的JavaScript学习笔记-2015年1月23日

1.JavaScript的数据类型 A.原始类型:包含数值.字符串.布尔值.空值(null)和未定义值(undefined). Js原始类型均为不可改变类型.对不可变类型调用任何自带方法都不会改变原始值,除非重新赋值.例如: var s="Hello,World"; s.toUpperCase();//将字串全部大写 console.log("s的值为:"+s); 在Firefox Firebug控制台内执行结果为: B.对象类型:对象为Js类的实例,使用“构造函数

Linux学习笔记——2015/7/21

4.1.4 Linux常用命令-文件处理命令-链接命令 ln 生成链接文件 -s创建软链接 软链接:类似Windows快捷方式 注: 生成软链接文件  l开头   所有权限都是3个 rws 硬链接:   不能跨分区.不能针对目录使用.通过i节点识别 用户分三类 u g o 权限分三类 读 写 4.2.1 Linux常用命令-权限管理命令-权限管理命令chmod chmod  改变文件或目录权限 执行权限:所有用户.管理员root 语法:chmod [{ugoa}{+-=}{rwx}][文件或目录

selenium2 webdriver学习笔记2015.10.18

以下程序实现126邮箱的写信.存草稿及预览验证 package email;import static org.junit.Assert.fail; import java.util.concurrent.TimeUnit; import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.*;import org.openqa.selenium.WebDriver.*;

OpenGL 学习笔记-2015.4.18——立方体纹理映射-天空盒子-环境映射

立方体映射(cube-map)纹理是一种特殊类型的纹理,用于环境映射,使用一组图像并把他们作为立方体的面.立方体映射的6个面用正方形并且大小相同的6个子纹理表示.要从立方体纹理中采样的时候,使用的纹理坐标是3维,并且被看做来自原点的方向!方向指向用来读取纹理的立方体映射表面的位置.在这里例子中,有关于环境映射的代码,主要思想是通过观察向量和表面的法向量反射来确定采样的纹理坐标. 通过将一个新的纹理名绑定到GL_TEXTURE_CUBE_MAP纹理目标,然后调用glTexStorage2D()以G

OpenGL学习笔记-2015.3.24——transform feedback缓存&amp;粒子系统示例分析

transform feedback是OpenGL中比较酷炫的特性之一,他让客户端应用程序可以获取到渲染流水线上的顶点数据.基于这一特性实现了基于z-pass场景决策渲染技术,当然在此并没有去了解何为z-pass场景决策渲染技术,总之是一个可以有效减少渲染数据的输送.这里只是通过一个简单的例子系统,去了解transform feedback对象的使用方法. 正文: 1.transform feedback: transform feedback是OpenGL渲染管线中,顶点处理阶段结束之后,图元

thinkPHP框架学习笔记

class ZhuantiAction extends Action { public function index() { $name = trim($this->_get('name'));//获取http://www.XXXXX.com/home.php/Zhuanti/index/name/20140530的name值,注意URL重写 $this->display();//不写的时候默认时间index.html(后缀在配置中配置) $this->display($name);//