yii2 smarty php,Yii2-smarty的一些小坑
在写本文前我不得不说一句,其实我是不想用smarty的,我想尝试一下twig,但是phpstorm的Twig插件真要命,卡成翔,所以我只能用smarty。为什么不用prado了呢?官方说不支持了,我晶啊 在使用smarty的时候官方的代码和例子看上去很美,不过要注意几点 1、用yii
在写本文前我不得不说一句,其实我是不想用smarty的,我想尝试一下twig,但是phpstorm的Twig插件真要命,卡成翔,所以我只能用smarty。为什么不用prado了呢?官方说不支持了,我晶啊
在使用smarty的时候官方的代码和例子看上去很美,不过要注意几点
1、用yii2-smarty,还是必须得用layout,如果你不支持layout文件,默认就是/layouts/main.php,天啊,为什么是PHP?而且在这里面也还真的能用PHP代码。整个都崩溃了
2、你可以指定layout文件,比如:main.tpl,OK你必须得象PHP文件一样,得写{$this->head()},{$this->startBody()}{$this->endPage()}等,否则 ClientScript功能就无法使用
3、如果你指定layout=false,那么,就不支持ClientScript了。因为你incude file='xxx.tpl',在每一个独立的文件里都必须要象2中一个个的this->head(),this->endPage全写上
4、再来一个bug:{registerJsFile url=''},这个函数有BUG
原来是:
public function functionRegisterJsFile($params, $template)
{
if (!isset($params['url'])) {
trigger_error("registerJsFile: missing 'url' parameter");
}
$url = ArrayHelper::remove($params, 'url');
$key = ArrayHelper::remove($params, 'key', null);
$depends = ArrayHelper::remove($params, 'depends', null);
if (isset($params['position']))
$params['position'] = $this->getViewConstVal($params['position'], View::POS_END);
Yii::$app->getView()->registerJsFile($url, $depends, $params, $key);
}
改成为:/**
* Smarty function plugin
* Usage is the following:
*
* {registerJsFile url='http://maps.google.com/maps/api/js?sensor=false' position='POS_END'}
*
* Supported attributes: url, key, depends, position and valid HTML attributes for the script tag.
* Refer to Yii documentation for details.
* The position attribute is passed as text without the class prefix.
* Default is 'POS_END'.
*
* @param $params
* @param \Smarty_Internal_Template $template
* @return string
* @note Even though this method is public it should not be called directly.
*/
public function functionRegisterJsFile($params, $template)
{
if (!isset($params['url'])) {
trigger_error("registerJsFile: missing 'url' parameter");
}
$url = ArrayHelper::remove($params, 'url');
$key = ArrayHelper::remove($params, 'key', null);
$params['depends'] = ArrayHelper::remove($params, 'depends', null);
if (isset($params['position']))
$params['position'] = $this->getViewConstVal($params['position'], View::POS_END);
Yii::$app->getView()->registerJsFile($url, $params, $key);
}
其实就是$params['depends']这个参数。registerJsFile只能接受3个参数,但事实上用了4个参数,所以调整一下即可
yii2 smarty php,Yii2-smarty的一些小坑相关推荐
- php smarty变量调节器,Smarty模板变量与调节器实例详解
本文实例讲述了Smarty模板变量与调节器.分享给大家供大家参考,具体如下: Smarty中assign说明 可能有人在学习smarty的时候已经学习了一些php框架,如tp.laravel.Yii等 ...
- smarty mysql demo_PHP Smarty模版简单使用方法
本文实例讲述了PHP Smarty模版简单使用方法.分享给大家供大家参考,具体如下: Index.php: require('../libs/Smarty.class.php'); $smarty = ...
- Smarty中文手册,Smarty教程,Smarty模板的入门教材
Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...
- php smarty安装,php smarty 安装 、配置、使用 及缓存cache的配置使用
cache 使用: cache配置: $smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true; ...
- php smarty 分页类,Smarty分页类Smartypaginate
不罗嗦了,直接上范例 function.paginate_first.php.function.paginate_last.php.function.paginate_prev.php.functio ...
- php yaf smarty,Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty)
Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty) 来源:互联网 作者:佚名 时间:2015-08-06 07:55 对完成某个任务进行计时可使用progress_tim ...
- php smarty模板配置,Smarty模板简单配置与使用方法示例
这篇文章主要介绍了Smarty模板简单配置与使用方法,涉及Smarty模板的基本配置与缓存文件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了Smarty模板简单配置与使用方法.分享给大家供大家参 ...
- php smarty php函数,smarty中使用php函数的方法
本节内容: 如何在smarty中使用php函数? 例子: 复制代码 代码示例: /** * smarty模板引擎中使用php函数 * by www.jbxue.com */ require 'libs ...
- PHP Smarty 模板,PHP Smarty模板引擎
前言:概念上的东西就简单过一下,细节上的东西就不深究了.作下读书笔记,且该知识点是后续学习MVC框架的一部分. 1.什么是模板引擎 1.1.网站页面模板:即每个页面仅是一个板式,包括结构.样式和页面布 ...
- php的smarty模板,PHP Smarty模板的安装
最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...
最新文章
- Java图形化界面设计——容器(JFrame)
- android service 学习(上)
- [转]关于int整形变量占有字节问题
- #pragma pack
- C#学习笔记——数据库篇(1)
- python程序设计与应用教程鄂大伟_鄂大伟-从零进阶的Python教学与开发之路.pdf
- 3、mybatis主配置文件之settings
- Element Tree型控件
- 【OpenCV 例程200篇】63. 图像锐化——Laplacian 算子
- java高级语言特性_Java语言高级特性——注解
- java 打印_剑指Offer面试题20(Java版):顺时针打印矩阵
- 48. Rotate Image java solutions
- Cmder安装使用篇
- 教你编写一份高质量的软件测试报告
- 计算模型的GFLOPs和参数量 举例VGG16和DETR
- Customer-exit总结
- web漏洞类型概述(owasp top10笔记)
- VMware下载,安装及创建虚拟机
- AUTOSAR OTA升级
- 蓝彩影视V73-安卓/苹果/网页/TV端/有教程
热门文章
- Python字符串函数说明(菜鸟教程里面的)
- Kroneker Tensor:克罗内克张量
- DPDK 跟踪库tracepoint源码实例分析
- 2021年二月下旬文章导读与开源项目仓库 | scatter-gather DMA,SR-IOV,ARP欺骗,中断,Lockdep,virtio,vhost
- 2019.04.13 - 19:34
- python修饰符的理解_python函数修饰符@的使用方法解析
- windows ce6.0系统 支持双网卡吗_MacBook双系统不求人,自己来
- 64位 int 占几个字节_面试常考,项目易错,长文详解C/C++中的字节对齐
- mysql并发插入死锁_MySQL: 并发replace into的死锁问题分析-阿里云开发者社区
- mysql 分区 导出_mysql普通表变成分区表导入导出