Yes i do, this is the full init function of the BaseEndController

    public function init()
    {
        # Must be called
        parent::init();

        # Define public url
        $this->view->public_url =
Zend_Registry::get('config')->general->webhost .
$this->getRequest()->getBaseUrl() . '/' . $this->this_module . '/';

        # Add CSS & Js files required
        $this->view->headLink()->appendStylesheet( $this->view->public_url .
'css/all.css')->appendStylesheet( $this->view->public_url . 'css/ie.css',
'text/css', 'lt IE 7');
        $this->view->headScript()->appendFile( $this->view->public_url .
'js/tabs.js', 'text/javascript')->appendFile( $this->view->public_url .
'js/navigation.js', 'text/javascript')->appendFile( $this->view->public_url
. 'js/pngfix.js', 'text/javascript', array('conditional' => 'IE 6', 'defer'
=> null));

        # Clear old sessions
        $this->ClearOldSessions();

         # Did we change the language?
        $cookie_language = $this->GetCookie('end_language');
        if( $cookie_language )
        {
            $this->default_language = $cookie_language;
        }

        # Over ride using manual language switch
        if( $this->_getParam('setlang') ) # Do we change it now?
        {
            if(array_key_exists($this->_getParam('setlang'),
$this->_supported_languages)) # Language is available?
            {
                $this->default_language = $this->_getParam('setlang');
                $this->SetCookie('end_language', $this->default_language); #
Save cookie
            }
        }

        # Do we need to add the rtl css file?
        if( $this->default_language == 'he' )
        {
            $this->view->headLink()->appendStylesheet(
$this->view->public_url . 'css/rtl.css');
        }

        # Load Language & Cache It
        $this->LoadLanguage();

        # Set Title
        $this->view->headTitle( $this->lang->_('GL0') );

        # Check auth
        if(!$this->CheckLoggedInUser() && $this->_request->controller !=
'login')
        {
            $this->Boink('login/index');
        }

        # Load Member information
        $this->LoadMemberInfo();

        # Create the base breadcrumb
        $this->BB( $this->lang->_('GL1'), array('index', 'index', 'admin'));
    }

On Sun, Mar 15, 2009 at 2:17 PM, Matthew Weier O'Phinney
<[email protected]>wrote:

> -- vadim gavrilov <[email protected]> wrote
> (on Sunday, 15 March 2009, 12:07 PM +0200):
> > I have the following structure:
>
> <cut-n-paste>
>
> > but for some reason the $this->breadcrumbs array has only one element
> which was
> > added in the BaseEndController class. the element that was added in the
> > indexcontroller class was not actually added to the array and is not
> shown when
> > it prints it.
> >
> > Any idea why, Or how to solve it? any other approach for something
> similar?
>
> In your BaseEndController class' init() method, you're not calling
> parent::init().
>
> > class BaseMasterController extends Zend_Controller_Action
> > {
> >     public $view;
> >     public $breadcrumbs = array();
> >
> >     public function init()
> >     {
> >         # Define module path
> >         defined('MODULE_PATH')
> >         or define('MODULE_PATH', Zend_Controller_Front::getInstance()->
> > getModuleDirectory() . '/');
> >
> >         # Define controller path
> >         defined('CON_PATH')
> >         or define('CON_PATH', Zend_Controller_Front::getInstance()->
> > getModuleDirectory() . '/');
> >
> >         # Set layout and views directories
> >         Zend_Layout::startMvc( MODULE_PATH .'/layouts/scripts' );
> >
> >         # Init views object
> >         $this->view = Zend_Layout::getMvcInstance()->getView();
> >         $this->view->doctype(
> Zend_Registry::get('config')->layout->doctype );
> >         $this->view->setScriptPath( MODULE_PATH . 'views/scripts/' );
> >         $this->viewRenderer = $this->_helper->getHelper('viewRenderer');
> >         $this->viewRenderer->setView($this->view)->setViewBasePathSpec(
> > MODULE_PATH . 'views/scripts/' )->setViewScriptPathSpec(':controller
> > /:action.phtml');
> >
> >         # Build Helpers
> >         $this->view->addHelperPath( MODULE_PATH . 'views/helpers/',
> 'Helper');
> >
> >         # setting content type and character set
> >         $this->view->headMeta()->appendHttpEquiv('X-UA-Compatible','IE=
> > EmulateIE7')->appendHttpEquiv('Content-Type','text/html;
> charset=UTF-8')->
> > appendHttpEquiv('Content-Language', 'en-US');
> >
> >         # setting a separator string for segments:
> >         $this->view->headTitle()->setSeparator(' :: ');
> >
> >         # Load the DB Adapter
> >         $this->db =
> Zend_Db::factory(Zend_Registry::get('config')->production->
> > database);
> >
> >         # Clean Globals
> >         $this->input = new Input;
> >      }
> > }
> >
> > class BaseEndController extends BaseMasterController
> > {
> >     public function init()
> >     {
> >         # Set Up view properties
> >                 $this->view->breadcrumbs = array();
> >
> >               # Create the base breadcrumb
> >                 $this->view->breadcrumbs[] = $this->BB(
> $this->lang->_('GL1'),
> > array('index', 'index', 'admin'));
> >     }
> > }
> >
> > class Admin_IndexController extends BaseEndController
> > {
> >
> >     public function indexAction()
> >     {
> >         $this->view->breadcrumbs[] = "123";
> >         $this->viewRenderer->render('index');
> >     }
> > }
> >
> > then in the layout i am doing:
> >
> > <?php if( $this->breadcrumbs ): ?>
> >             <ul class="breadcrumbs">
> >                 <?php foreach($this->breadcrumbs as $crumb): ?>
> >                 <li><?php echo $crumb; ?></li>
> >                 <?php endforeach; ?>
> >             </ul>
> >         <?php endif; ?>
> >
> > but for some reason the $this->breadcrumbs array has only one element
> which was
> > added in the BaseEndController class. the element that was added in the
> > indexcontroller class was not actually added to the array and is not
> shown when
> > it prints it.
> >
> > Any idea why, Or how to solve it? any other approach for something
> similar?
> >
> > Thanks.
> >
> >
> > --
> > Vincent Gabriel.
> > Lead Developer, Senior Support.
> > Zend Certified Engineer.
> >
> >
> >
> >
>
> --
> Matthew Weier O'Phinney
> Software Architect       | [email protected]
> Zend Framework           | http://framework.zend.com/
>



-- 
Vincent Gabriel.
Lead Developer, Senior Support.
Zend Certified Engineer.

Reply via email to