Я использовал свой собственный макет для управления загрузкой страниц внутри страницы индекса.
<div id="content">
<ul>
<li><a href="<?php echo $this->url(array('module' => 'visits', 'controller' => 'visit', 'action' => 'index', 'page' => 'view'), NULL, TRUE); ?>" class="showVisists">Display all visits</a></li>
<li><a href="<?php echo $this->url(array('module' => 'visits', 'controller' => 'visit', 'action' => 'index', 'page' => 'add'), NULL, TRUE); ?>" class="addVisit">Add new visit</a></li>
</ul>
<span class="result"><?php echo $this->message ?></span>
<div id="innerpage">
<?php include_once($this->pageToInclude . ".phtml") ?>
</div>
</div>
Когда я выбираю привязку в навигации, параметр принимается через действие индекса контроллера, которое выбирает страницу.Я должен включить и вернуть его на страницу индекса, чтобы можно было просматривать страницу.
public function indexAction() {
$status = $this->getRequest()->getParam('page');
switch ($status) {
case 'view':
$pageToInclude = 'get-visits';
break;
case 'add':
$pageToInclude = 'add';
break;
default:
$pageToInclude = 'get-visits';
}
$this->view->pageToInclude = $pageToInclude;
}
Теперь я хочу использовать макеты, поддерживаемые Zend Framework.
Я включилмакет и скопировал все содержимое индекса в layout.phtml.
Когда я включил страницы в макет, произошла ошибка.Я знаю, что не должен использовать includes
или даже require
в Zend Framework, но я не знаю, как отобразить представление «получить все посещения», когда я нажимаю на якорь «Показать все посещения» внутримакет страницы.
Я хочу сделать что-то вроде этого:
<div id="innerpage">
<?php echo $this->layout()->content; ?>
</div>
но как мне указать содержимое динамически?
Примечание: я новичок в Zend Framework,и пока не знаком с тем, как эффективно с ним работать.