简体   繁体   English

Yii2:如何在布局中使用模型数据

[英]Yii2:how to use model's data in layouts

I want to add my database's data in layouts ,how to do it?thanks. 我想在布局中添加数据库的数据,该怎么办? I know the way such as $this->params['params'] = "params",but in function like beforeAction 我知道这样的方式,例如$ this-> params ['params'] =“ params”,但是在像beforeAction这样的函数中

  <div class="sBox">
            <div class="subNav sublist-down">
                <span class="title-icon glyphicon glyphicon-chevron-right"></span>
                <span class="sublist-title">资源管理</span>
            </div>
            <ul class="navContent" style="display:none">
                <li class="nav-li">
                    <div class="showtitle" style="width:100px;">
                        <img src="__ADMIN_IMAGES__/leftimg.png" />
                    </div>
                    <a href="<?= UrlService::buildWwwUrl('source/index'); ?>" target="right_content">
                        <span class="sublist-icon glyphicon glyphicon-record"></span>
                        <span class="sub-title">资源列表</span>
                    </a>
                </li>
            </ul>
        </div>

The question isn't quite clear. 这个问题还不清楚。 Show your layout and data which you want to use. 显示您要使用的布局和数据。

Here are many different ways to use data in layout: 以下是在布局中使用数据的多种不同方式:

  • Using widgets . 使用小部件 You can create own widget, it's simple 您可以创建自己的小部件,这很简单
  • Using application components or application itself. 使用应用程序组件或应用程序本身。 For example \\Yii::$app->params (you mentioned this in question) 例如\\Yii::$app->params (您提到了这个问题)
  • Using $this variable (\\yii\\web\\View), for example it's common practice to use $this->title which can be assigned in controller 例如,使用$this变量(\\ yii \\ web \\ View),使用$this->title可以在控制器中分配该$this->title
  • Using View data. 使用查看数据。 Layout have access to all params passed to view. 布局可以访问传递给视图的所有参数。 This can be acceptable if you have some data format convention for all controllers 如果您对所有控制器都有某种数据格式约定,那么这可以接受

Which of them is the right one for you depens on the problem you solve. 其中哪一个最适合您,取决于您要解决的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM