// in controller
$this->_helper->layout()->varname = 'var';
In your layout script, you can access the variable like this:
// in layout
echo $this->layout()->varname;
--
Hector
--
Hector
On Sun, Feb 21, 2010 at 12:18 PM, Andy Daykin <daykinandy@gmail.com> wrote:
Hello,I used the batch file to setup my directory structure for the MVC application with version 1.10.1. So I have the same file structure as in the quick start demo on the framework site. In my controller I am trying to send variables to my layout, like so:$this->view->varname = "Var"and then echo them in my layout like:echo $this->varnameI am able to get this working in my files in the application/views/scripts/*/*.phtml files, but in my layout which is in application/layouts/layout.phtml, this does not work. In order to get variables to my layout I have to use:Zend_Layout::getMvcInstance()->assign(
'varname', 'Var');
How can I access the view data in my layout the same way I am in my view files?
In my bootstrap file I have the following:<?php
class
Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
protected function _initAutoload(){
$moduleLoader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH)); return $moduleLoader;}
protected function _initViewHelpers(){
$this->bootstrap('layout'); $layout = $this->getResource('layout'); $view = $layout->getView(); $view->doctype('XHTML1_STRICT'); $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); $view->headTitle()->setSeparator(' - '); $view->headTitle('Test');}
protected function _initDb(){
$dbResource = $this->getPluginResource("db"); $db = $dbResource->getDbAdapter();Zend_Registry::set(
"db", $db);}
}
Thanks,
-Andy Daykin
没有评论:
发表评论