Как установить в контроллере, какой шаблон необходимо отобразить

Discussion in 'Создание расширений для Joomla' started by vesy, Oct 26, 2010.

  1. vesy
    Offline

    vesy Недавно здесь => Cпециалист <=

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    В моем компоненте 3 шаблона. Как установить в контроллере, какой шаблон необходимо отобразить, если я использую пункты меню ( Из темы )? То есть, если &view=order то загрузился шаблон из components\com_mycomp\views\order\tmpl\default.php
    Joomla 1.5
     
    Last edited by a moderator: Mar 31, 2014
  2.  
  3. progmist
    Offline

    progmist Недавно здесь

    Joined:
    May 18, 2009
    Messages:
    155
    Likes Received:
    10
    Gender:
    Male
    установить в контроллере переменные массива $_REQUEST
    JRequest::setVar('view', [название вида]); //(в вашем случае это order)
    JRequest::setVar('layout', [шаблон]); //(в вашем случае это default)

    а вообще, если у вас контроллер - потомок класса JController, то его метод display сам получает необходимый вид и шаблон из $_REQUEST
    поэтому если вы укажите в url-e: view=order и в своем контроллере в методе display вызовете parent::display();, то шаблон отобразиться тот что вам нужен.
     
    vesy likes this.
  4. vesy
    Offline

    vesy Недавно здесь => Cпециалист <=

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    Спасибо за развернутый ответ! Но вот здесь и заключается проблема.
    Дело в том, что при view=order страница абсолютно пустая. Но я попробую Ваш метод с setVar
     
  5. Tureckiy
    Offline

    Tureckiy Недавно здесь => Cпециалист <=

    Joined:
    Apr 11, 2009
    Messages:
    423
    Likes Received:
    30
    Gender:
    Male
    Код (PHP):
    1. JRequest::setVar('layout',  'default');
     
  6. vesy
    Offline

    vesy Недавно здесь => Cпециалист <=

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    уже решил. Страница пустой была, потому что правильно имена классов в Виде надо указывать. В com_contact подсмотрел;)
     
    Last edited: Oct 26, 2010

Share This Page

Loading...