О боги! А поддерживать потом как, с гадалкой?
Да вынесите вы все это в отдельный специально созданный виджет. Логику разместите в методах класса виджета и формируйте вывод непосредственно во вьюхе виджета. Это же в разы проще и понятнее...
Используем созданный виджет в нужной вьюхе:
<?= \path\to\widget\MyWidget::widget( [ 'list' => $treeList ] ); ?>
Виджет в себе содержит все необходимые методы:
class MyWidget extends \yii\bootstrap\Widget
{
public $list = [];
public function someMethod () {}
public function run () {
return $this->renderFile( '...' );
}
}
И собственно вьюха виджета:
<?php
use path\to\widget\MyWidget;
use yii\web\View;
/**
* @var View $this
* @var MyWidget $widget
*/
$widget = $this->context;
?>
<!-- Тут мы используя циклы и методы виджета формируем отображение -->
<?php foreach( $widget->... as $value ) { ?>
<!-- Делаем что нужно и как нужно -->
<?php } ?>