Thank you Tim, worked like a charm. I'll definately read the info you've given me about MVC, and hopefully will understand it in no time :)
Have a nice day! Tristan 2012. december 6., csütörtök 5:03:14 UTC+1 időpontban tim a következőt írta: > > Hi Tristan, > > You should implement this as a Helper. I recommend this one as an example > (I've used it myself): http://nooclear.com/content/cakephp-2x-menuhelper > > Place this class in a file called MenuHelper.php in your > /app/Views/Helpers directory. Then add the following to > /app/Controllers/AppController.php: > > class AppController extends Controller{ > public $helpers = array('Menu'); > } > > Then inside of your views, whether it be your default layout, an > individual view, or a nested view, add this: > > $menu = array( 'options' => array('class' => 'nav-style'), 'items' => > array( array('title' => 'List Users', 'url' => array('controller' => > 'users', 'action' => 'index')), array('title' => 'Add User', 'url' => > array('controller' => 'users', 'action' => 'add')), ) ); print > $this->Menu->render($menu); > > I recommend reading this for a better understanding of MVC ( > http://book.cakephp.org/2.0/en/cakephp-overview/understanding-model-view-controller.html). > > It might be worthwhile searching for some other MVC tutorials as well until > you're comfortable with your understanding of the concept. > > Cheers, > Tim > > > On Thu, Dec 6, 2012 at 5:53 AM, Trisztán Thar <[email protected]<javascript:> > > wrote: > >> Hello >> >> Please bear with my noobness, I am super new to CakePHP, and don't really >> understand it yet. >> >> So, I was messing around with default.ctp, of course to make a layout for >> my site. I followed the Blog Tutorial, and I am planning to build my site >> on that. >> I'd like to add a navigation menu, which would look like this in plain >> HTML: >> <div class='menubar'> >> >> <div class='menuitems'><a href='url_to_that_page'>First Page</a></div> >> >> <div class='menuitems'><a href='url_to_that_page2'>Second Page</a></div> >> <div class='menuitems'><a href='url_to_that_page3'>Third Page</a></div> >> <div class='menuitems'><a href='url_to_that_page4'>Fourth Page</a></div> >> >> </div> >> >> I saw that the layout file uses lots of CakePHP's built in function to >> add divs and links, and I'd like to make this myself as well. >> I have the following code in my default.ctp file: >> >> foreach ($menu as $Menu): >> echo $this->Html->div('grid_12 menubar', $this->Html->div('menuitems >> grid_3', $this->Html->link($menu['Menu']['item'], array('controller' => >> 'Menu', 'action' => 'loadmenu')))); >> endforeach; >> unset ($menu); >> >> If i'm right, this would list my 4 menu items from my MySQL database. (I >> didn't find a way to add multiple child items in the div() 'helper(?)', >> this is why I have choosen to do it this way) >> So, from my experiences of the Blog tutorial I made a model named >> Menu.php: >> >> class Menu extends AppMenu{ >> } >> >> And i made a controller for that (MenuController.php) >> (I actually don't understand a bit of this whole Model and Controller >> thing, even thought I read the CookBook and documentation.. guess it'll >> come in time) >> >> class MenuController extends AppController{ >> public function loadmenu(){ >> $this->set('Menu', $this->Menu->find('all')); >> } >> } >> >> Ok so i got all this, let's check how it works. Going to >> localhost/website/posts i find this: >> >> *Notice* (8): Undefined variable: Menu [*APP\View\Layouts\default.ctp*, line >> *44*] >> >> *Warning* (2): Invalid argument supplied for foreach() >> [*APP\View\Layouts\default.ctp*, line *44*] >> >> >> If i understand right, it does not pass the variable Menu from >> MenuController to the layout file. >> >> Could someone please explain me how to do this, and why it didn't work? >> Also, if you've got some free time, and could explain me (the simplest way) >> how models and controller work (with views), i'd be really thankful. >> >> >> Thanks a lot folks, >> >> Tristan >> >> -- >> Like Us on FaceBook https://www.facebook.com/CakePHP >> Find us on Twitter http://twitter.com/CakePHP >> >> --- >> You received this message because you are subscribed to the Google Groups >> "CakePHP" group. >> To post to this group, send email to [email protected]<javascript:> >> . >> To unsubscribe from this group, send email to >> [email protected] <javascript:>. >> Visit this group at http://groups.google.com/group/cake-php?hl=en. >> >> >> > > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en.
