Thinkphp5使Html5实现动态跳转的例子

1.从数据库取数据

在application/模块名/controller/控制器名/方法名中对数据库进行获取,这里为了方便,举例为application/modulea/controller/x/test

$result = Db::name('data')->where('uid',session('xx.uid'))->select();

数据传递

这里可以是标题栏的数据,然后就通过

$this->assign('data', $result);

这种方式可以传递到

application/modulea/view/x/test.html

volist数据分解

这个test.html可以通过volist进行处理:

{volist name="data" id="item_data"}
 <h3>{$item_data}</h3>
{/volist}

此时,$i为默认索引,可以这样用:

{volist name="data" id="item_data"}
 <h3>{$i.'='.$item_data}</h3>
{/volist}

action交还控制器

如果html界面需要某种处理,可以直接写个action交给控制器进行跳转就行了。

<form action="/modulea/x/login"></form>

部分跳转

如果需要部分跳转,则需要使用iframe,比如iframe的src为某个相对网址(首次加载地址),的name是fr

<iframe src='/modulea/x/test2' name='fr'></iframe>

点击旁边的某个按钮以后,需要进行跳转,所以,要写一个超链接:

<a href="{:url($item_data['url'])}" rel="external nofollow" target="fr"></a>

注意,此处的target必须要与前面的name一致,此处url也是相对网址,格式为:/模块名/控制器名/方法名。

过程总结:

控制器取数据,取完用assign传给视图,视图用volist进行展示,视图通过action来进行页面跳转。

ps:过滤非法网址:

$this->user = session('xx');
if(!this->user['uid']){
 return $this->redirect('/modulea/x/login');
}
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的