当前位置: 首页 > 工具软件 > CakePHP > 使用案例 >

几个CakePHP知识点

阳念
2023-12-01

下午用CakePHP做了几个页面,发现自己对视图还是不太熟,记录一下:

如何禁止布局?

如果需要禁止布局功能的动作或控制器比较多的话,那么可以在控制器中统一设置autoLayout为false,如果只是个别的模板的话,那么最好是直接 在模板文件里设定$this->autoLayout = false,而不要在控制器里设定,毕竟使用布局与否是一个视图逻辑。

视图助手的一些注意事项?

在模板里使用图片的时候,最好是使用助手的方式,如:echo $html->image('pic.gif'),而不是直接手动编写<img>标签,因为如果硬编码的话,一旦网站目录结构出现变 化,问题就严重了。同样的情况还出现在链接上,应该使用助手的方式,如:echo $html->url(array('action' => 'foobar'),原因同上。

分页助手一般使用的都是文字链接,但实际上也可以使用图片链接,方法如下:
echo $paginator->prev($html->image('prev.gif', array('border' => 0)), array('escape' => false));
类似的,表单提交按钮如果想使用图片的话,方法如下:
$form->submit(‘pic.gif’)
注意所有文件都被认为是存放在webroot目录下的img文件夹内的。

有时候分页时需要通过URL传递一些查询参数,此时应该在模板文件里按如下设置:
$paginator->options(array('url' => $this->passedArgs));
具体的可以参考文档

表单助手缺省创建的input会有div包裹,还有label等等修饰,很多时候这和美工设计的页面结构不同,这时:
$form->input('password', array('div' => false, 'label' => false, 'error' => false))

输出记得转义,CakePHP提供了h()方法,很简单,但是总容易忘。

 类似资料: