Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MVC] fuzja Joomla + Smarty = MVC
atomp3
post 3.07.2008, 11:25:23
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 1
Dołączył: 31.03.2006

Ostrzeżenie: (0%)
-----


Witam


Jest to dość dziwne połączenie. Pytałem na innych forach (joomla, smarty) ale nikt nie potrafi odpowiedzieć.

Jak połączyć model MVC z Joomla używając smarty? Udało mi się ogolnie odpalić Smarty w Joomla, ale wersja 1.5 używa MVC. Wiem że jest dużo przeciw ale mimo wszystko lubie uzywac smarty smile.gif Jest czytelny i przejrzysty.

Przykladowy controler z joomla:

  1. <?php
  2. // no direct access
  3. defined( '_JEXEC' ) or die( 'Restricted access' );
  4.  
  5. jimport('joomla.application.component.controller');
  6.  
  7. /**
  8.  * Greetings Component Controller
  9.  */
  10. class GreetingsController extends JController
  11. {
  12.  
  13.  /**
  14.  * Method to display the view
  15.  *
  16.  * @access public
  17.  */
  18. function display()
  19. {
  20.  $viewName= JRequest::getVar( 'view', 'list' ); //This sets the default view (second argument)
  21.  $viewLayout= JRequest::getVar( 'layout', 'listlayout' ); //This sets the default layout/template for the view
  22.  
  23.  $view = & $this->getView($viewName);
  24.  
  25. // Get/Create the model
  26.  if ($model = & $this->getModel(&#8216;greetings’)) {
  27. // Push the model into the view (as default)
  28.  $view->setModel($model, true);
  29.  }
  30.  
  31.  $view->setLayout($viewLayout);
  32.  $view->display();  
  33. }
  34. }
  35. ?>


tutaj jest tutorial http://www.joomladevuser.com/tutorials/com...-i-the-frontend



Dzieki za wszelka pomoc!

Ten post edytował atomp3 3.07.2008, 11:26:39
Go to the top of the page
+Quote Post
John
post 5.08.2008, 00:20:55
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 11
Dołączył: 1.08.2007
Skąd: Poland,Warsaw

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function display()
  3. {
  4.  $viewName= JRequest::getVar( 'view', 'list' ); //This sets the default view (second argument)
  5.  $viewLayout= JRequest::getVar( 'layout', 'listlayout' ); //This sets the default layout/template for the view
  6.  
  7.  $view = & $this->getView($viewName);
  8.  
  9. // Get/Create the model
  10.  if ($model = & $this->getModel(&#8216;greetings’)) {
  11. // Push the model into the view (as default)
  12.  $view->setModel($model, true);
  13.  }
  14.  
  15.  $view->setLayout($viewLayout);
  16.  $view->display();  
  17. }
  18. ?>


jak na mój gust to na zadane przez Ciebie pytanie odpowiedziałeś sobie w przykładowym kodzie, angielskie komentarze wskazują na to, że klasa JRequest a konkretniej metoda getVar jest odpowiedzialna za przypisywanie szablonów. Na twoim miejscu grzebałbym właśnie w tej metodzie, i zmusił ją, aby zamiast swoich szablonów przypisywała szablony smartowe :-). Potem jeszcze chwila walczenia z display co by odwoływał się do smartowego display i powinno działać. Ponieważ nie słyszałem jeszcze o takim pomyśle to życzę powodzenia.

Ten post edytował John 5.08.2008, 00:23:00


--------------------
Odpowiedź na wszystko : manual,appendix. Ulubiona książka : PHP 5 for Dummies.
Studia uh ? ;-).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 17:53