Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cake]Element Menu + array
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam,

jak mogę zrobić menu bez użycia bazy danych

np: model zawiera tablice menu
controller pobiera menu z modelu
view petla foreach wyświetla zawartość tablicy

Nikt nie jest w stanie mi pomóc ?
Turson
Tablicę możesz stworzyć w kontrolerze albo bezpośrednio w widoku. Model niepotrzebny, który de facto służy do komunikacji z bazą.
phpion
@Turson:
Brednie. Nie siej takich herezji. Model równie dobrze może korzystać z danych tablicowych, API, plików itd.
Turson
Owszem, ale dane tablicowe, pliki to też jakaś baza danych. Poza tym, nie napisałem że model to tylko baza danych mysql i się z Tobą zgadzam.
Tylko się zastanawiam, czy jest sens zaprzęgać do jakiejś małej tablicy model, pobierać go w kontrolerze i przesyłać do widoku. Czy to kwestia gustu, czy konieczność zachowania standardów MVC, nie wiem i chętnie również poznam odpowiedź. Z drugiej strony, do pobrania choćby jednego rekordu z bazy mysql też przecież używamy modelu, więc się pewnie mylę.
phpion
Cytat(Turson @ 5.03.2014, 10:53:53 ) *
Owszem, ale dane tablicowe, pliki to też jakaś baza danych. Poza tym, nie napisałem że model to tylko baza danych mysql i się z Tobą zgadzam.

Cytat(Turson @ 5.03.2014, 10:37:59 ) *
Tablicę możesz stworzyć w kontrolerze albo bezpośrednio w widoku. Model niepotrzebny, który de facto służy do komunikacji z bazą.

Napisałeś, że model służy do komunikacji z bazą (zapewne bazą danych) co nie jest prawdą. Piszesz również, że tablicę można potraktować jako bazę danych więc dlaczego nie miałby stworzyć modelu dla takich danych? Sam sobie przeczysz smile.gif
ghastblood
Dalej nie wiem jak mógł bym to zrobić

Przykład tablicy oraz view

  1. <?php
  2.  
  3. $menus = array(
  4. 'Products' => array(
  5. 'name' => 'Products',
  6. 'child' => array(
  7. 'cname' => 'Products List',
  8. 'Link' => '#'
  9. ),
  10. 'cname' => 'Add Product',
  11. 'Link' => '#'
  12. ),
  13. )
  14. ),
  15. 'Categories' => array(
  16. 'name' => 'Categories',
  17. 'child' => array(
  18. 'cname' => 'Categories List',
  19. 'Link' => '#'
  20. ),
  21. 'cname' => 'Add Categorie',
  22. 'Link' => '#'
  23. ),
  24. )
  25. ),
  26. 'Pages' => array(
  27. 'name' => 'Pages',
  28. 'child' => array(
  29. 'cname' => 'Pages List',
  30. 'Link' => '#'
  31. ),
  32. 'cname' => 'Add Page',
  33. 'Link' => '#'
  34. ),
  35. )
  36. ),
  37. );?>
  38. <ul>
  39. <?php foreach($menus as $menu): ?>
  40. <li><?php echo $menu['name']; ?>
  41. <ul>
  42. <?php foreach($menu['child'] as $cmenu): ?>
  43. <li><?php echo $cmenu['cname']; ?></li>
  44. <?php endforeach; ?>
  45. </ul>
  46. </li>
  47. <?php endforeach; ?>


pozostaje tylko kwestia kontrolera

  1. $this->set('menus', "ODWOŁANIE DO ARRAY Z MODELU");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.