Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1284 Просмотров
*

designcenter

  • Новичок
  • 1
  • 0 / 0
Доброе время суток!
Учусь писать компоненты и столкнулся с таким вот Invlid token, причем вроде он совпадает с тем что посылаю в урл-е ссылки.
Что я мог напартачить?)

Компонент:
Код
jimport('joomla.application.component.controller');
$jinput = JFactory::getApplication()->input;
$jview = $jinput->getVar('view', 'cpanel' );
$jtask = $jinput->getVar('task', 'display');

require_once( JPATH_COMPONENT.DS.'controllers'.DS.$jview.'.php' );
$controllerClass = 'CsvsynchController'.ucfirst($jview);
$controller = new $controllerClass;
$controller->execute($jtask);
$controller->redirect();
Контроллер:
Код
class КомпонентControllerProduct extends КомпонентController {
public function display($cachable = false, $urlparams = false) {
$jinput = JFactory::getApplication()->input;
$_layout = $jinput->getCmd('layout', 'default');
$model = &$this->getModel('product');
$view = &$this->getView('product','html');
$view->setModel( $model, true );
$view->setLayout($_layout);
$view->display();
}
public function edit() {
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$model = &$this->getModel('product');
$view = &$this->getView('product', 'html');

$view->setModel( $model, true );
$view->setLayout('edit');
$view->display();
} ...

В темплейте product формируеться ссылка <a href="index.php?option=com_компонент&view=product&task=edit&<?php echo JSession::getFormToken()?>=1"...

Ну а уж в темлейте edit собственно и аукивается Invlid token

Заранее спасибо.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
ну и код..
зачем вы делаете в контроллере
Код: php
public function display($cachable = false, $urlparams = false) {
$jinput = JFactory::getApplication()->input;
$_layout = $jinput->getCmd('layout', 'default');
$model = &$this->getModel('product');
$view = &$this->getView('product','html');
$view->setModel( $model, true );
$view->setLayout($_layout);
$view->display();
}
у класса контроллера от которого вы наследуетесь уже есть метод display который сам без вас это сделает..
По поводу токена. Зачем вы формируете токен в ссылке? Токен служит для защиты форм от CSRF атак!
Во всех остальных случаях, особенно при переходе по ссылке никто токен не использует!
Опишите подробно что вы хотите сделать, скорее всего ваша задача решается по другому!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Оптимизация вложености в компоненте

Автор kaksdelat

Ответов: 11
Просмотров: 2286
Последний ответ 16.07.2015, 23:55:15
от z3l
[Решено] Не сохраняются HTML тэги в самописном компоненте

Автор evgen777

Ответов: 5
Просмотров: 1243
Последний ответ 04.03.2014, 15:40:47
от evgen777
[Решено] Удаление ID из материалов в своём компоненте

Автор n_drey

Ответов: 9
Просмотров: 1435
Последний ответ 25.12.2013, 16:46:54
от n_drey
Кнопка "Я ИДУ" в компоненте EventList

Автор kichik

Ответов: 5
Просмотров: 2524
Последний ответ 30.05.2013, 12:53:24
от dagolovach
Дерево категорий в компоненте

Автор slav

Ответов: 7
Просмотров: 2595
Последний ответ 15.05.2013, 23:20:59
от slav