São várias as ocasiões em que um site necessita apresentar um layout diferente de acordo com o conteúdo ou seção sendo apresentado.

Se você está utilizando o Zend Framework, segue um exemplo de plug-in que possibilita a criação de alternador de layout de maneira fácil e rápida, baseado nos subdomínios de um website.

class App_Layout_Controller_Plugin_Layout extends Zend_Layout_Controller_Plugin_Layout {
public function preDispatch(Zend_Controller_Request_Abstract $request) {
$layout = $this->getLayout();
$filename = $layout->getLayoutPath() . '/' . $request->getModuleName() . '.' . $layout->getViewSuffix();
//check if the layout template exists, if not use the default layout set in application.ini
if (file_exists($filename)) {
$this->getLayout()->setLayout($request->getModuleName());
}
}
}

Certifique-se de que você configurou seu application.ini corretamente para incluir os elementos a seguir:

resources.layout.layout = “default”

resources.layout.layoutPath = APPLICATION_PATH “/layouts/scripts”

resources.layout.pluginClass = “App_Layout_Controller_Plugin_Layout”

No caso deste exemplo ele é utilizado com: default.phtml, admin.phtml, clients.phtml

Fique à vontade para alterar o exemplo de acordo com suas necessidades.

Boa programação …

Namastê !!


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Complete a fórmula para verificação * Time limit is exhausted. Please reload CAPTCHA.

Pin It on Pinterest

Share This

Share This

Share this post with your friends!