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

Тема в разделе "Создание расширений для Joomla", создана пользователем vesy, 26.10.2010.

  1. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    В моем компоненте 3 шаблона. Как установить в контроллере, какой шаблон необходимо отобразить, если я использую пункты меню ( Из темы )? То есть, если &view=order то загрузился шаблон из components\com_mycomp\views\order\tmpl\default.php
    Joomla 1.5
     
    Последнее редактирование модератором: 31.03.2014
  2.  
  3. progmist
    Offline

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

    Регистрация:
    18.05.2009
    Сообщения:
    155
    Симпатии:
    10
    Пол:
    Мужской
    установить в контроллере переменные массива $_REQUEST
    JRequest::setVar('view', [название вида]); //(в вашем случае это order)
    JRequest::setVar('layout', [шаблон]); //(в вашем случае это default)

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

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    Спасибо за развернутый ответ! Но вот здесь и заключается проблема.
    Дело в том, что при view=order страница абсолютно пустая. Но я попробую Ваш метод с setVar
     
  5. Tureckiy
    Offline

    Tureckiy специалист

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    Код (PHP):
    1. JRequest::setVar('layout',  'default');
     
  6. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    уже решил. Страница пустой была, потому что правильно имена классов в Виде надо указывать. В com_contact подсмотрел;)
     
    Последнее редактирование: 26.10.2010

Поделиться этой страницей

Загрузка...