login  Naam:   Wachtwoord: 
Registreer je!
 Forum

foreach() invalid argument suplied! (Opgelost)

Offline Wim - 04/09/2007 21:45
Avatar van WimCrew algemeen categoriesController:
  1. <?php
  2. class categoriesController extends Zend_Controller_Action
  3. {
  4.  
  5. public function init ()
  6. {
  7.  
  8. include ('./application/models/categories.php');
  9. $this->view->url = $this->_request->getBaseUrl();
  10. $this->view->stylesPath = $this->view->url . '/public/styles/';
  11.  
  12. }
  13.  
  14. public function indexAction ()
  15. {
  16.  
  17. $categories = new categories;
  18.  
  19. $this->view->categories = $categories->fetchAll();
  20.  
  21. $this->view->paginaTitel = 'Webshop :: Categoriën';
  22. $this->view->titel = 'Categoriën';
  23. $this->render();
  24.  
  25. }
  26.  
  27. }


models/categories.php
  1. <?php
  2. class categories extends Zend_Db_Table
  3. {
  4. protected $_name = 'webshop_categories';
  5. }


views/categories/index.phtml
  1. <?php echo $this->render('header.phtml'); ?>
  2. <?php echo $this->render('menu.phtml'); ?>
  3.  
  4.  
  5. <div id="pageContent">
  6. <h1><?php echo $this->titel; ?></h1>
  7. <p class="block">
  8. Welkom op deze webshop. Maak een keuze uit onderstaande categoriën:<br />
  9. <br />
  10. <?php foreach ( $this->categories as $categorie ) : ?>
  11. <a href="<?=$this->url ?>id/<?=$categorie->id ?>"><?=$categorie->title ?></a>
  12. <?php endforeach; ?>
  13. </p>
  14. </div>
  15.  
  16. <?php echo $this->render('footer.phtml'); ?>


De foreach werkt dus niet....

Warning: Invalid argument supplied for foreach() in *basepath*\application\views\scripts\categories\index.phtml on line 10


Het is dus weer gebaseerd op het Zend framework!

5 antwoorden

Gesponsorde links
Offline marten - 04/09/2007 22:04 (laatste wijziging 04/09/2007 22:05)
Avatar van marten Beheerder Probeer eens van je model dit te maken:

  1. <?php
  2. class categories extends Zend_Db_Table_Abstract
  3. {
  4. protected $_name = 'webshop_categories';
  5. }
  6. ?>


Ook is regel 11 niet goed lijkt me als ik naar de kleurtjes kijk.
Offline Stijn - 04/09/2007 22:10
Avatar van Stijn PHP expert class CategoriesController extends Zend_Controller_Action

en je bestand moet ook met een hoofdletter beginnen.

en in je init functie moet nog: $this->initView();
Offline Wim - 04/09/2007 22:13
Avatar van Wim Crew algemeen $this->initView(); deed het dus, ty

Qua hoofdletters: variabele zijn hoofdlettergevoelig, maar classes/functies naar mijn wete niet....
Offline Stijn - 04/09/2007 22:16 (laatste wijziging 04/09/2007 22:18)
Avatar van Stijn PHP expert Classes beginnen altijd met een hoofdletter en functies met een kleine letter. ZF codeer je volgens de Zend Coding Standard en dus hoort het ook zo (en daar mag jij aan zitten zeuren tot morgen, toch is het zo).

Normaal zou $this->render(); ook moeten werken omdat die ook $this->initView(); aanroept. Maar dan zouden die $this->view->{variable} niet werken omdat de Zend_View niet geladen is en de OO functie __get niet werkt. (voor als je toch meer info wilde weten).
Offline marten - 04/09/2007 22:16
Avatar van marten Beheerder Tis maar net wat je stijl van scripten is. 

Verplaatst naar object georienteerd.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s