Dodatkowy model w widoku, problem z drugim modelem
Strona 1 z 2 12 OstatniOstatni
Wyniki 1 do 10 z 17

Temat: Dodatkowy model w widoku, problem z drugim modelem

  1. #1
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny [J1.5]Dodatkowy model w widoku, problem z drugim modelem

    Witam wszystkich!

    Napisałem swego czasu komponent dla Joomla 1.5.x (1.5.26). Teraz pojawiła się potrzeba w kilku miejscach dopisania paru rzeczy i unowocześnienia komponentu pod joomla 2.5/3.x.
    Jednak zanim nastąpi unowocześnienie potrzebna jest funkcjonalność zaszyta w jednym z modeli.

    Niestety próby ładowania modelu innego niż nazwa widoku nie udaje się
    Dla uproszczenia posłużę się tylko wersjami uproszczonymi kodu

    Model:
    Kod PHP:
    defined('_JEXEC') or die();
    jimport'joomla.application.component.model' );
    class 
    KomponentModelObliczenia extends JModel {

            function 
    cos(){
                
    $test="Coś";
                return 
    $test;
            }
    // --- cut ---
    }// koniec JModel 
    W modelu w tej wersji nie ma nic wartego powielenia jednak prawdziwy model wykonuje cały proces biznesowy oczywiście można by do każdego modelu używającego wklepać całe 5000 linii kodu tylko po co. Również pielęgnacja takiego czegoś jest uciążliwa i stosunkowo drogie w utrzymaniu. Joomla oferuje taką usługę czyli import istniejącego modelu niestety u mnie coś nie wychodzi i nie bardzo wiem dlaczego.

    Widok:
    Kod PHP:
    defined'_JEXEC' ) or die( 'Restricted access' );

    jimport'joomla.application.component.view');

    class 
    KomponentViewPrezentacja extends JView
    {
        function 
    display($tpl null)
        {
            global 
    $mainframe;
             
    $model =& $this->getModel(); // natywny model - działa
                      
    var_dump($model); // zwraca obiekt jest ok.
             
    $model_zewnetrzny =& $this->getModel("Obliczenia");// w var_dump zwraca NULL
    //       $model_zewnetrzny =& $this->getModel( 'Obliczenia', 'KomponentModel' );
                      
    var_dump($model_zewnetrzny);// zwraca NULL
          
    parent::display($tpl);
         }
    }
    // koniec JView 
    Jakieś jeszcze pomysły na wywołanie modelu Obliczenia z widoku Prezentacja?
    Ostanio edytowane przez seeb : 21-10-2013 11:03 Powód: brak informacji o wersji joomla

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    W kontrolerze w którym wywołujesz widok "Prezentacja", musisz do tego widoku dodać model "Obliczenia" poprzez metodę setModel:
    Kod PHP:
    $view->setModel($model); 
    i później w widoku pobierasz model tak jak napisałeś:
    Kod PHP:
    $model $this->getModel("Obliczenia"); 

  4. #3
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Dla uproszczenia została metoda display
    Kod PHP:
    defined'_JEXEC' ) or die( 'Restricted access' );

    jimport('joomla.application.component.controller');

    /**
     *  Controller
     */

    class Komponent extends JController {

        function 
    display()
        {
            
    $view  $this->getView  'prezentacja''html'  );
         
    $view->setModel('Obliczenia');
            
    parent::display();
        }
    }
    // koniec 
    Niestety takie uruchomienie daje w wyniku białą stronę.
    Masz może jakis mały przykład typu helloworld z dwoma modelami tak najszybciej uda się rozwikłać problem.

  5. #4
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    Hmm... dopiero teraz zauważyłem że pytasz o J 1.5, więc chciałbym Ci pomóc lecz ona już jest niewspierana.

    Lecz jeżeli to jest błąd w temacie lub zmieniłeś wersję Joomla to włącz wyświetlanie błędów w konfiguracji globalnej.
    Powodem białej strony może być Fatal Error.

  6. #5
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Wersja obecna to j 1.5 musze to zakończyć jednak całość komponentu będę przepisywał na j 2.5 - 3.x. Aby móc również wspieranie j 1.5 muszę wykonać ostatni kawałek tak aby był funkcjonalny a ja będę mógł zająć się przesiadką na J 2 lub 3. Pozostawanie na J.5 nie jest już bezpieczne. W wersji dla 2.5-3.x będę musiał również użyć tego w podobny sposób.

  7. #6
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    Sprawdź czy klasa JView posiada metodę setModel i jakie parametry do niej przekazuje.
    Sprawdź również czy dobry widok Ci pobiera za pomocą getView, może zwraca Ci false, że nie może takiego widoku odnaleźć.

    Niestety nie mam żadnej wersji 1.5 aby Ci pomóc to sprawdzić.

  8. #7
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    A wersję dla joomla 2.5 lub wyżej masz?

  9. #8
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    Tak mam. W tych wersjach znajdują się metody getView() i setModel(). Sprawdź czy Ci pobiera dobry widok.

  10. #9
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    widok jest ok zaraz wrzuce var_dumpa

  11. #10
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    Jeżeli uważasz że jest ok i metoda zwraca instancje klasy JView, która Ciebie ma interesować to to można odrzucić jako problem.

    Chyba że model podpinasz pod zły widok.
    Popatrz w JController w metodzie display() jak ona pobiera widok i zrób tak samo

Strona 1 z 2 12 OstatniOstatni

Podobne tematy

  1. Dziwny komunikat: Model class usersModelUsers not found in file.
    przez DarioB na forum Administracja - ogólne
    Odpowiedzi: 1
    Ostatni post/autor: 10-10-2012, 13:02
  2. dziwne zachowanie model - > widok [panel administracyjny]
    przez seeb na forum Programowanie pod Joomla!
    Odpowiedzi: 1
    Ostatni post/autor: 10-08-2010, 12:02
  3. migracja nieudana, problem z model.php ?
    przez yakoo na forum Aktualizacje, migracje
    Odpowiedzi: 0
    Ostatni post/autor: 07-08-2009, 03:31
  4. model mvc w joomli
    przez wafcio na forum Programowanie pod Joomla!
    Odpowiedzi: 7
    Ostatni post/autor: 21-02-2009, 12:23
  5. Problem z wywołaniem metody widoku
    przez vego007 na forum Programowanie pod Joomla!
    Odpowiedzi: 16
    Ostatni post/autor: 27-07-2008, 16:10

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •