我正在 Zend 之上构建一个 cms,只是为了练习和娱乐。我希望能够将布局脚本和视图脚本存储在数据库中,并从那里检索它们,以便在我的 CMS 中轻松编辑它们。有人能指出我正确的方向吗?我现在做的是这样的:
// Disable view
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout()->disableLayout();
$pageDB = new Application_Model_DbTable_Page();
$page = $pageDB->fetch($identifier);
// Display the page or a 404 error
if ($page !== null) {
$this->view->headTitle($page->title);
// Get the layout from the DB
$layoutDB = new Application_Model_DbTable_Layout();
$layout = $layoutDB->fetch($page->layout);
$layout = str_replace('{LCMS:title}', $page->title, $layout->content);
$layout = str_replace('{LCMS:content}', $page->content, $layout);
$this->getResponse()->setBody($layout);
} else {
$this->_forward('notfound', 'error');
}
但这显然意味着我在 rega 中失去了 Zend 的所有优势