ThinkPHP - 6 - 学习笔记(2015.5.4)
解决:OneThink 站点无法被友言uyan后台识别
打开友言uyan插件功能,但OneThink站点无法被友言uyan后台检测到。页面生成的uyan代码为:
<!-- UY BEGIN -->
<div id="uyan_frame"></div>
<script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid="></script>
<!-- UY END -->
你会发现uid并没有被设置。查看\Addons\SocialComment\comment.html中加载友言uyan的代码。
<!-- UY BEGIN -->
<div id="uyan_frame"></div>
<script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid={$addons.config.comment_uid_youyan}"></script>
<!-- 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('[模板文件]'[,'字符编码'][,'输出类型'])
如果没有按照模板定义规则来定义模板文件(或者需要调用其他控制器下面的某个模板),可以使用:
$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中定义的:
<div class="span3 bs-docs-sidebar">
<block name="publish"></block>
<ul class="nav nav-list bs-docs-sidenav">
{:W('Category/lists', array($category['id'], ACTION_NAME == 'index'))}
</ul>
</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
ThinkPHP - 6 - 学习笔记(2015.5.4)的更多相关文章
- ThinkPHP - 5 - 学习笔记(2015.4.15)
ThinkPHP __construct()和__initialize() 1.__initialize()不是php类中的函数,php类的构造函数只有__construct().2.类的初始化:子类 ...
- ThinkPHP - 4 - 学习笔记(2015.4.12)
ThinkPHP D方法 D方法用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型' ...
- thinkphp的学习笔记
# Thinkphp ## 什么是框架?(框架开发)> 框架就是通过提供一个开发Web程序的基本框架(比如提供了分页类.数据库操作类.文件操作类等),使用框架可以减少开发者代码的编写.> ...
- thinkPHP框架学习笔记
class ZhuantiAction extends Action { public function index() { $name = trim($this->_get('name')); ...
- 路冉的JavaScript学习笔记-2015年2月5日
1.为Js原始值创建临时对象,并进行属性引用 var s="text"; s.len=4;//这里Js调用new String(s)的方法创建了一个临时对象,用来属性引用 cons ...
- 路冉的JavaScript学习笔记-2015年1月23日
1.JavaScript的数据类型 A.原始类型:包含数值.字符串.布尔值.空值(null)和未定义值(undefined). Js原始类型均为不可改变类型.对不可变类型调用任何自带方法都不会改变原始 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- Dynamic CRM 2015学习笔记 系列汇总
这里列出所有 Dynamic CRM 2015学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址:Dynamic CRM 2015学习笔记 系列汇总 一 ...
- Visual Studio 2015 Owin+MVC+WebAPI+ODataV4+EntityFrawork+Identity+Oauth2.0+AngularJS 1.x 学习笔记
2016年,.net 会有很多大更新 ASP.NET 5 在此之前我都是用着古老的.net做开发的 (WebForm + IIS) 为了接下来应对 .net 的新功能,我特地去学习了一下基本的 MVC ...
随机推荐
- oo第二次总结作业
OO电梯作业总结 这三周的作业和课堂内容以及OS的课上内容都相同,都是关于多线程方面的知识.在这次作业中由浅入深布置了三项多线程电梯方面的作业,让我们在实践中感受了多线程的工作原理以及各项需要注意的要 ...
- 添加一个js扩展方法
String.prototype.repeatify=String.prototype.repeatify || function(times){ var str=''; for(var i=0;i& ...
- 随机获取指定范围内N个不重复数字
/// <summary> /// 随机获取指定范围内N个不重复数字 /// </summary> /// <param name="min"> ...
- c# Reverse()的两点用法
Rervese的基本用途是:反转数组中元素的顺序,常见的两种用法如下: 1.void Array.Reverse(Array array) static void Main(string[] args ...
- PTA(BasicLevel)-1012 数字分类
一 题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: = 能被 5 整除的数字中所有偶数的和: = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即 ...
- ajax渲染swiper问题
由于ajax异步请求的关系,所以之前将swiper初始化写在请求外面时总是不能达到效果.下面是能正常渲染的效果示例: $http({ method:"GET", url:" ...
- [Err] ERROR: wrong record type supplied in RETURN NEXT
在写GP 输出不定长列数据表 函数时,报了一个错,百思不得其解.在公司大佬帮助下,知道是什么鬼了.. 先看看例子吧: ---- 函数定义 CREATE OR REPLACE FUNCTION &quo ...
- SSM-CRUD入门项目——查询
查询 1.基础查询 分析:访问项目主页 index.jsp 时应该跳转到列表页 我们可以在index.jsp发出查询员工列表请求,来到 list.jsp 使用插件 pageHelper 完成分页功能— ...
- # C语言假期学习笔记——6
C语言假期学习笔记--6 数组 主要学习了一位数组和二维数组. 数组是一组具有相同类型的变量的集合.C语言程序通过元素的下标来访问数组中的元素.(下标从0开始) 一位数组 类型 数组名[元素个数] 二 ...
- 20145226夏艺华 EXP5 MSF基础应用
实践目标 · 掌握metasploit的基本应用方式. · 具体需要完成 (1)ms08_067; (2)ms11_050: (3)Adobe (4)成功应用任何一个辅助模块. 报告 本次实验一共用到 ...