ThinkPHP

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航