ThinkPHP3.2中Widget实例的使用
Widget类的实现可以作为分层控制器的另外一个典型实例。
在menu.html模版文件中的用法:
举个例子,我们在页面中实现一个分类菜单的Widget,首先我们要定义一个Widget控制器层 MenuWidget,如下:
namespace HomeWidget; class MenuWidget extends ThinkController { public function index(){ echo "menuWidget"; } }
类文件位于 Home/Widget/MenuWidget.class.php。
然后,我们在需要显示分类菜单的模版中通过W方法调用这个Widget。
{~W("Menu/index")}执行后的输出结果是: menuWidget
如果需要在调用Widget的时候传入参数,可以这样定义:
namespace HomeWidget; class MenuWidget extends ThinkController { public function index($id,$name){ echo $id.":".$name; } }在需要显示分类菜单的模版中添加如下的Widget调用代码如下:
{~W("Menu/index",array(5,"thinkphp"))}
则会输出 5:thinkphp
来一个复杂一点的例子:
namespace HomeWidget; class MenuWidget extends ThinkController { public function index(){ $menu = M("Cate")->getField("id,title"); $this->assign("menu",$menu); $this->display("Widget/menu"); } }CateWiget类渲染了一个模版文件
Home/View/Widget/menu.html
, 在menu.html模版文件中的用法:
<foreach name="menu" item="title"> {$key}:{$title} </foreach>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Java进行3DES加密解密
- 下一篇: Python的str强转int时的小问题