2016-08-17 97 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