Hi,
I get a similar error.
I've done an action helper that build the container for all my menu.
$view->topMenu = $this->_helper->menu('top');
$view->headerMenu = $this->_helper->menu('header');
Then, I pass the containers to the view script
echo $this->navigation($this->topMenu)->menu();
echo $this->navigation($this->headerMenu)->menu();
and I get the first one twice.
If I do the dump of the data on the view script
Zend_Debug::dump($this->topMenu->toArray());
Zend_Debug::dump($this->headerMenu->toArray());
I get the correct data of my containers.
I suppose there is an issue in the navigation view helper,
did you fix it?
Sergio Rinaudo
Date: Thu, 21 May 2009 18:54:12 +0200
From: [email protected]
To: [email protected]
Subject: Re: [fw-general] Concept of Zend Framework
Hello,
Great tips.
Now I feel I am getting started here. I have now setup a $pages array
in Bootstratp _initViewHelpers
What I want to do know is to make several different containers
available to the layout, I do this by:
$container = new Zend_Navigation($pages);
$right = $container->findBy('id', 'right', true);
$view->right = $container->setPages($right);
$container = new Zend_Navigation($pages);
$bottom = $container->findBy('id', 'bottom', true);
$view->bottom = $container->setPages($bottom);
When I render this in layout.phtml, each one of them works fine
<?= $this->navigation($this->right); ?>
or
<?= $this->navigation($this->bottom); ?>
But when I try to render both (in different places) the last one is
rendered twice..
Is there are simple explanation for this?
Regards,
Joakim
Sergio Rinaudo wrote:
Hi,
I advice you to start from here:
http://akrabat.com/zend-framework-tutorial/
If you have to create a class named 'My_Navigation_Page', you must save it at
library/My/Navigation/Page.php, where library is the same directory
where your Zend Framework dir is saved.
- library
-- Zend
-- My ( you can call it as you like )
-- ThirdParty ( for example )
The second part of your code, this
$page = Zend_Navigation_Page::factory(array(
'type' => 'My_Navigation_Page',
'label' => 'My custom page',
'foo_bar' => 'foo bar'
));
can be used where you need it, for example in a controller or inside an action
helper.
A 'page' object is used to be added to a container object, then, from a
controller, you can
assign the container to the view
$this->view->mymenu = $container;
After this, from your view script, you can use the property you created and
pass it to the navigation view helper:
<?php echo $this->navigation($this->mymenu)->menu();?>
This is not the best explaination you can have, but I advice you again
to go to the link at the beginning
of this message and download the pdf.
Bye!
Sergio Rinaudo
Date: Wed, 20 May 2009 22:36:32 +0200
From: [email protected]
To: [email protected]
Subject: [fw-general] Concept of Zend Framework
Hi all,
A really simple question for you guys.
In my effort to learn the framework I run into a lot of examples of the
different components. For example, when reading about the
zend_navigation I see the following,
-----------------
Example 37.9. Creating a custom page type using
the
page factory
To create a custom page type using
the factory, use the option type to specify
a class name to instantiate.
class My_Navigation_Page extends Zend_Navigation_Page
{
protected $_fooBar = 'ok';
public function setFooBar($fooBar)
{
$this->_fooBar = $fooBar;
}
}
$page = Zend_Navigation_Page::factory(array(
'type' => 'My_Navigation_Page',
'label' => 'My custom page',
'foo_bar' => 'foo bar'
));
----------------
How do I know where in the project structure
this
class/file should be created? All examples are like this and I don't in
any case understand where to create things.
Regards,
Joakim
Chiamate gratis da PC a PC? Provale
da Messenger!
_________________________________________________________________
Più di 30 stazioni. Ascolta la Radio su Messenger!
http://messenger.it/radioMessenger.aspx