Joomla 1.5 Передача данных(ошибок при обработке формы) из контроллера в модель

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

  1. Offline

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

    Регистрация:
    14.07.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте.

    Я пишу компонент "формы обратной связи". Соответственно в части "frontend" есть один контроллер и одна модель. Модель выводит форму, пользовательские данные из формы передаются в контроллер с определенным запросом, в контроллере данные обрабатываются функцией из модуля, в случае правильности введенных данных происходит редирект(тут без проблем), но в случае если данные неверны надо как то передать ошибки в модель, для их вывода на экран. Вот это и не получается, главный вопрос как правильно передать данные из контроллера в модель.

    Controller - function display()
    Код (PHP):
    1. function display()
    2. {
    3.     $model =& $this->getModel();
    4.        
    5.         if($model->post_set())
    6.         {
    7.             if($model->check_request())
    8.             {
    9.                 $link = 'index.php?option=com_mrequest&view=mrequest';
    10.                 $this->setRedirect($link, $msg);
    11.             } else {
    12.                 $error = $model->_errors;
    13.             }
    14.         }
    15.        
    16.     parent::display();
    17. }


    post_set() - проверяет введены ли необходимые данные для начала проверки, если опред. поля пустые - проверки не будет
    check_request() - проверяет уже введенные данные, если они верны возвращает true, если нет - false и записывает ошибки в переменную $model->_errors(эти данные и надо передать в модель для отображения)

    В принципе, победить эту "шнягу" можно и сессиями и через БД, временно передавая данные туда, но хочется узнать именно правильный joomla-вариант. Посмотрел дополнение для joomla artforms, так там принцип MVC отсутствует как таковой. Буду рад любым предложениям и идеям, заранее спасибо.
     
  2.  
  3. Offline

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

    Регистрация:
    17.07.2011
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    Привет,
    подскажите еще, как делается обработка формы в frontend? Там также надо чтобы форма передавал task, а в контроллере была бы функция с этим же названием? А таблица расширяющая JTable находилась бы в папке tables на одном уровне c папкой views и models?
    При обработке формы (я сделал для формы action="") выводится страница ошибкой "0 - Table register not supported. File not found.".
    У меня в компоненте task=register, файл модели тоже называется register и файл таблицы это register.php (а класс: TableRegister).
     
  4. Offline

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

    Регистрация:
    17.07.2011
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской

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

Загрузка...