最近在学thinkphp3.2.3 关于该3.2.3的widget使用方法,视频教程讲的不是这个版本的,搜遍网络没有找到个能解决问题的,本人摸索了3天,总算了有了个结果。(说到底还是手册没有完全看懂)
首页,模块下建立Widget文件夹。在此文件夹里建一个诸如RmWidget.class.php的文件。在View里新建和插件同名的文件夹,如Rm,在Rm文件夹里建一个和插件里方法同名的对应模板,如index.html
第一种情况:
<?php
namespace Home\Widget;
use Think\Controller;
class RmWidget extends Controller{
public function index(){
return "您好的";
}
}
?>[code]这种情况,不需要在对应模板里写代码。其他任意模板,如果需要调用该插件,这些写:[code]{:W('Rm/index')}
第二种情况,传参数的一类: <?php
namespace Home\Widget;
use Think\Controller;
class RmWidget extends Controller{
public function index($url,$str){
echo "<a href='".$url."'>$str</a>";
}
}
?>
插件对应模板(Rm/index)里不需要写代码其他任意模板如需调用:
{:W('Rm/index',array('http://www.thinkphp','php框架'))}
第三种情况,也是最重要的:<?php
namespace Home\Widget;
use Think\Controller;
class RmWidget extends Controller{
public function index(){
$rm_data=M('Article')->select();
$this->assign('rm_data',$rm_data);
$this->display('Rm:index');
}
}
?>
插件对应模板(Rm/index)里: <ul>
<volist name="rm_data" id="row">
<li><a href="{:U('/a/'.$row['id'])}">{$row.title}</a></li>
</volist>
</ul>
其他模板如需调用: {:W('Rm/index')}
最佳答案
