2016-08-17 85 views
1

如何在新模型中实现这种布局?

@dektrium/user/views/admin/_account.php 
@dektrium/user/views/admin/_info.php 
@dektrium/user/views/admin/_profile.php 

<?php $this->beginContent('@dektrium/user/views/admin/update.php', ['user' => $user]) ?> 
'the rest codes' 
<?php $this->endContent() ?> 

@dektrium/user/views/admin/update.php那里是

<div class="col-md-9"> 
    <div class="panel panel-default"> 
     <div class="panel-body"> 
      <?= $content ?> 
     </div> 
    </div> 
</div> 

$content将通过代码 'beginContent' 和 'endContent' 之间如何进行更换在我的新后端模型'Rayon'中实现这种布局?我试着编写一个类似的CRUD代码,但不断收到错误'未定义的变量内容'。

谢谢你的帮助。

回答

1

与代码行

<?php $this->beginContent('@dektrium/user/views/admin/update.php', ['user' => $user]) ?> 

告诉到“查看”,这是,从参考取码并将其添加到其中呼叫被调用的地方..

它执行在“内容”中更多地使用“包含”变量的等价动作

然后您应该创建要重用的视图部分..以及要调用的视图添加这种类型的电话

您可以直接在视图内重复使用render()函数,并指出哪个(其他)视图以及要使用的变量。

为(简单)例如

视图container_view.php在yourapp/views

<div>my container test</div> 
<?= $content ?> 

然后 你想在container_view代码被放置的方式,内部的

的beginContent和endContent代码

create.php yourapp/views/是放在同一个地方,你有在容器中的内容

<?php $this->beginContent('yourapp/views/container_view.php', ['model' => $model]) ?> 
<div>this code is placed in $container</div> 
<div>and the value of the var model is passed</div> 
<br /> 
<?= $model->name '> 
<?php $this->endContent() ?> 
+0

你可以给我的 一个例子“那么你应该创建的要重用..查看的部分,要在其中调用添加这种类型的呼叫的意见” 我还是不要不知道如何将变量$内容从这些文件传递到update.php – exneval

+0

我已经更新了一个基本示例..希望是有用的..无论如何可能是基于这种类型的yii2 obejct的方法有点复杂。在这种情况下,你可以尝试寻找布局.. – scaisEdge

+0

谢谢....它帮助。 – exneval