[Joomla 1.5] как получить params в контроллере из файла config.xml который лежит в папке компонента? Создал функцию в модуле для получения параметров конфига компонента. В view вызываю так: $this->cash = $this->params->get('pay_cash', ''); В представлении данные выводятся нормально, а в контроллере выдает ошибку.
потомучто в контроллере $this не доступен, точнее доступен, но он указывает на класс контроллера ) вам нужна переменная, которая содержит экземпляр класса модели/вьюва
Все решил вопрос, через хелпер Код (PHP): $component = JComponentHelper::getComponent( 'com_itorder' ); $params = new JParameter( $component->params ); $params->get('pay_cash');
эмм.. можно по подробнее. Как сделать этот файл файлом контроллера? из файла admin.itorder.php я обращаюсь так: Код (PHP): <?php defined('_JEXEC') or die('Restricted access'); require_once (JPATH_COMPONENT_ADMINISTRATOR . DS . 'controller.php'); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'tables'); $controller = new iTorderController(); $task = JRequest::getCmd('task'); switch (strtolower($task)) { case 'add' : iTorderController::addOrder(); break; case 'apply' : iTorderController::changeOrder(1); break; case 'cancel' : iTorderController::changeOrder('-1'); break; default : $controller->execute(JRequest::getVar('task', null, 'default', 'cmd')); $controller->redirect(); break; } В самом controller.php начало такое: Код (PHP): <?php defined('_JEXEC') or die ('Restricted access'); jimport('joomla.application.component.controller'); class iTorderController extends JController { //тут идут функции } ?>
Раз решил вопрос то не важно. Если только еще где не вылезет. Похоже что при обращении iTorderController::changeOrder(1); в входном файле в контроллере тоже нужно обращаться iTorderController::getView();. Класс контроллера не создается и $this не работает.