База знаний

14.05.2015

Проблема

Возник вопрос с модернизацией "Страница пользователя". По умолчанию там отображается все содержимое заказа, а нам требуется выводить только "Дата, Номер". "Номер" должен быть ссылкой. При клике необходимо переадресовывать на страницу с отображением полного заказа.

Как выполнять обработку полученных параметров (например, ID заказа) и на основании этих данных формировать страницу с его содержимом.

Решение

Если адрес страницы пользователя site.ru/userpage/ То передавать id заказа можно в переменной $this->diafan->show так: site.ru/userpage/show13/. Чтобы в модуле можно было использовать эту переменную, нужно в контроллере (файл modules/userpage/userpage.php) указать:

public $rewrite_variable_names = array('show');

И там же в функции init() вызывать функцию модели, формирующие данные для страницы заказа:

if ($this->diafan->_route->show)
{
    
$this->model->id();
}
else
{
    
$this->model->show();
}

В функции id() (файл modules/userpage/userpage.model.php) закрашивайте данные о заказе, записывать их в переменную $this->result. В шаблоне эта перменная доступна как $result. Имя шаблона нужно указать в переменной $this->result["view"].

Например

$this->result["view"] = 'id';

подключит шаблон modules/userpage/views/userpage.view.id.php.

Пример можно посмотреть в модуле "Новости".