php-Yii-方法包括在此视图中的另一个视图

我的版面页面

<html>
 <body>
  <div id="container">
   <ul id="list"></ul>
  </div>
  <input id="update" value="update" />
 </body>
</html>

其中ul列表是部分列表,将在以下情况下呈现

>整个页面被加载
>单击更新按钮时,将发出ajax请求,并且将使用响应ul列表更新容器层的innerHTML

我是Yii的新手,不确定在两种情况下都如何重用ul部分,我用Google搜索了一下,小部件似乎是解决方案,不确定.有任何想法吗?

谢谢.

解决方法:

如果我正确理解您的问题,您可以做一些事情…

(我假设您有一个局部视图文件,例如views / model / _list.PHP.)

您可以在初始页面加载时渲染renderPartial(‘/ model / _list’),然后在AJAX操作中再次调用renderPartial(‘/ model / _list’).

或者,您可以仅执行AJAX操作(包含renderPartial(‘/ model / _list’)),然后使用jQuery在页面加载时调用它,而不是在视图中呈现它(只需调用Yii :: app()-> getClientScript( )-> registerScript在您要加载的视图中,并使用$.ajax()或其他名称进行调用).

要做的第三件事是在控制器中创建一个函数(不是一个动作,只是一个常规的公共方法),该函数返回renderPartial的输出(返回$this-> renderPartial(‘/ model / _list’,array() ,是的)我认为).然后,鉴于初始负载,我回显了该函数,并且在ajax操作中,在调用Yii :: app()-> end();之前回显了该函数.

当您要在整个站点上渲染一些部分代码时,即使在来自不同控制器的页面上,小部件也很有用.因此,如果该列表位于整个站点侧边栏中,则最好用它制作一个小部件,否则我将只使用您正在使用的模型的控制器.使用窗口小部件将执行的操作与使用常规视图相同—在窗口小部件中构建数据并呈现partialView,或通过AJAX调用它.您可能会对AJAX进行的操作是POST到要从中获取数据的控制器,因此您仍然需要AJAX操作.窗口小部件将使其更容易放置在网站的不同位置.

祝好运!

相关文章

1、将Yii2.0advanced版中应用主体frontend或backend应用复制...
Yii2restfulAPI文档一、配置模块:1.Config/main.php:  2...
Yii在framework/i18n/data/%lang%.php文件中有很多翻译.这...
在Yii2中,官方的页面多语言解决方案有两个:方案1,使用Yii...
Yii2.0对数据库查询的一些简单的操作1234567891011121314151...
数据查询User::find()->all();此方法返回所有数据;User:...