Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos,segue uma duvida. Por padrao o zend framework usa somente o zend view para renderizar a interface. a estrutura padrao do diretorio fica /views/scripts/ e quando um metodo de um controlador é executado o zend view renderiza o view de /views/scripts/nome_do_controlador/nome_do_metodo.phtml . entao resolvi utilizar o zend layout para meu site:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img388.imageshack.us/img388/1671/semttulo1bb5.th.gif&key=2edb6b70b617cdc015938cc8d6ce2076988b79bdbd682dc9abf74cb439769e6a" alt="Imagem Postada" />
entao nesse layout a unica coisa q muda é o corpo. Para isso o layout ficou o seguinte:
<html>
<head>>
</head>
<body>
<div align="left">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="716" height="520">
<tr>
<td width="716" height="72">
<p align="center">TOPO</td>
</tr>
<tr>
<td width="716" height="363">
<p align="center"><?php echo $this->layout->corpo; ?></td>
</tr>
<tr>
<td width="716" height="80">
<p align="center">RODAPE</td>
</tr>
</table>
</div>
</body>
</html>
crio um view para ser renderizado dentro do corpo do layout, ele ficará em /views/scripts/index/index.phtml
<div>
<?php echo $this->teste; ?>
</div>
A minha intençao é renderizar o view corresponde ao controlador e ao action, neste exemplo meu sera /views/scripts/index/index.phtml
<?php
class indexController extends Zend_Controller_Action{
public function indexAction(){
$layout = Zend_Layout::getMvcInstance();
$this->view->teste = 'testando o view /scripts/views/index/index.phtml';
$this->layout->corpo = $this->render();
}
}
?><?php
//Define algumas variaveis locais
define('DS',DIRECTORY_SEPARATOR);
setlocale(LC_ALL,'pt_BR');
date_default_timezone_set('America/Sao_Paulo');
//Include automatico para as bibliotecas
set_include_path(getcwd().DS."Include");
include_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
//Carrega a camada de apresentação ( Views )
Zend_layout::startMVC()->setLayoutPath(getcwd().DS."Views".DS."Layouts");
//Carrega a camada controle ( Controllers )
$frontController = Zend_Controller_Front::getInstance()
->setControllerDirectory(getcwd().DS."Controllers")
->registerPlugin(new Zend_Controller_Plugin_ErrorHandler())
->setDefaultControllerName('Main');
// GO GO GO !!!
$frontController->dispatch();
?>Carregando comentários...