LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 12:02:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Проблема с JRoute а имено с ParseRoute  (Прочитано 611 раз)
0 Пользователей и 1 Гость смотрят эту тему.
savenko
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 101


« : 10.09.2011, 12:24:54 »

Здравствуйте!
Не могу разобраться.
Создал ссылку <?php echo JRoute::_('index.php?option=com_voda&view=download&ext='.$ext[1].'&id='.$image->id); ?>
Затем положил в корень своего компонента файл router.php в который записал

Код:
function VodaBuildRoute( &$query ) {
$segments = array();
if(isset($query['view'])) {
$segments[] = $query['view'];
unset( $query['view'] );
}

if(isset($query['ext'])) {
$segments[] = $query['ext'];
unset( $query['ext'] );
};

if(isset($query['id'])) {
$segments[] = $query['id'];
unset( $query['id'] );
};

return $segments;
}

function VodaParseRoute ($segments){
$vars = array();
switch($segments[0]) {
case 'download':
$vars['view'] = 'downloadss';
break;
}
switch($segments[1]) {
case 'rar':
$vars['ext'] = 'rar';
break;
case 'zip':
$vars['ext'] = 'zip';
break;
}

return $vars;
}

Первая функция работает а вторая не хочет. Проверил путем

Код:
function VodaParseRoute ($segments){
    exit;
...
Что не вызывает прекращения работы скрипта. В чем может быть дело?
Записан
disperato
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 21


Разработчик расширений для Joomla 1.7, 2.5


« Ответ #1 : 10.09.2011, 12:33:44 »

Код
switch($segments[1]) {
case 'rar':
$vars['ext'] = 'rar';
break;
case 'zip':
$vars['ext'] = 'zip';
break;
   default:
var_dump($segments[1]); die;
       break;
 

Возможно у вас нет совпадения во втором методе.
Записан
savenko
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 101


« Ответ #2 : 10.09.2011, 12:38:32 »

Код
switch($segments[1]) {
case 'rar':
$vars['ext'] = 'rar';
break;
case 'zip':
$vars['ext'] = 'zip';
break;
   default:
var_dump($segments[1]); die;
       break;
 

Возможно у вас нет совпадения во втором методе.

Дело в том что функция VodaParseRoute не вызывается
Записан
disperato
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 21


Разработчик расширений для Joomla 1.7, 2.5


« Ответ #3 : 10.09.2011, 13:07:01 »

Может поможет, Как использовать BuildRoute в компоненте
Записан
savenko
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 101


« Ответ #4 : 10.09.2011, 13:27:45 »

 Нет с этим все нормально. Попробывал с малого:

function VodaBuildRoute( &$query ) {
$segments = array();
$segments[] = $query['view'];
unset( $query['view'] );
return $segments;
}

function VodaParseRoute ($segments){
    exit;
}

Так же не вызывется функция VodaParseRoute
Записан
Diiimonn
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264



« Ответ #5 : 10.09.2011, 13:42:03 »

Цитировать
Первая функция работает а вторая не хочет. Проверил путем

Код:

function VodaParseRoute ($segments){
    exit;
...

Что не вызывает прекращения работы скрипта. В чем может быть дело?
И что, при переходе в com_voda нет белого экрана?я к тому что эта функция парсит и работает когда переходишь по ссылке, а не когда она формируется.
Записан
savenko
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 101


« Ответ #6 : 10.09.2011, 14:00:00 »

И что, при переходе в com_voda нет белого экрана?я к тому что эта функция парсит и работает когда переходишь по ссылке, а не когда она формируется.
Аааа... вот в чем дело. Правильно я теперь понимаю BuildRoute отвечает зы вывод ссылки. У нас получается скажем вот так index.php/2011-09-01-17-26-54/download/pdf/2 В таком виде ссылка ведет нас в некуда. Теперь эту ссылку мы приводим в нормальное ее состояние путем функции ParseRoute и в мозках у Joomla появляется правильный путь такого вида index.php?option=com_voda&view=download&ext=rar&id=1 который сообщает что нужно обраться к виду download c такими-то параметрами?
Записан
Diiimonn
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264



« Ответ #7 : 10.09.2011, 14:03:35 »

именно
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet