Я только начал играть с использованием Dojo в Zend Framework , и до недавнего времени все было хорошо.Сейчас я хотел бы иметь возможность создать простой графический интерфейс с использованием BorderContainer и ContentPanes , однако я обнаружил, что это немного неудобно.
заставить работать элементы контейнера Dojo, я обнаружил, что мне нужно поместить их в скрипт вида, чтобы Dojo работал.Однако для меня было бы разумно поместить некоторые элементы в мой основной файл макета (layouts / scripts / default.phtml), поскольку отдельные сценарии представления должны заполнять панели, а не всю страницу.
КакНапример, это работает, если я вставляю его в представление, отображающее также Dojo_Form:
<?php
$this->borderContainer()->captureStart('main-container',
array('design' => 'headline'),
array(
'style'=>'height:100%;width:100%',
'align' => 'left'
));
echo $this->contentPane(
'menuPane',
'This is the menu pane',
array('region' => 'top'),
array('style' => 'background-color: gray; color:white')
);
echo $this->contentPane(
'navPane',
'This is the navigation pane',
array('region' => 'left', 'splitter' => 'true'),
array('style' => 'width: 200px; background-color: lightgray;')
);
echo $this->contentPane(
'mainPane',
$this->form,
array('region' => 'center'),
array('style' => 'background-color: white;')
);
echo $this->contentPane(
'statusPane',
'Status area',
array('region' => 'bottom'),
array('style' => 'background-color: lightgray;')
);
echo $this->borderContainer()->captureEnd('main-container');
?>
Но если я пытаюсь поместить какие-либо элементы в макет, он перестает работать.
Итак,Я уверен, что знаю, почему это происходит.Я предполагаю, что это потому, что, помещая помощники вида dojo в скрипты вида, элементы dojo анализируются до того, как скрипт макета достигнет $ this-> dojo () .Но, если я помещаю элементы dojo в скрипт макета, то после эхо-вызова элементы анализируются $ this-> dojo () .
Мне интересно посмотреть, что все остальные делают собойти эту проблему?