Новости Joomla

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

Pencil

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • Pencil-box.ru
router.php и с чем его едят?
« : 25.05.2010, 22:23:15 »
Сколько не рыл, нормального описания на руском нигде не нашел, максимум машинный перевод с офсайта.
Думаю гуру смогут подсказать?

Собственно мой вопрос:
Есть такой компонент PUarcade, это флэш игры. Так в нем роутер просто отсутствует. Попытался почитать документацию по роутингу и написать свой вариант роутера. Ничего хорошего не получилось. Добился вывода крвсивой ссылки, но перехода по ней не происходит, открывается все та же главная страница сайта.
Нутром чую что загвоздка в переменных, но никак не могу сообразить что делать. Там фигурируют fid и gid, собственно получилось преобразовать ссылки:
http://domain.ru/index.php?option=com_puarcade&Itemid=78&fid=10000 >>> http://domain.ru/mults/10000.html
http://domain.ru/index.php?option=com_puarcade&Itemid=78&fid=10000&gid=6 >>> http://domain.ru/mults/10000/6.html
где mults - это алиас меню компонента. Прикол в том что не происходит перехода по новым ссылкам. Если использовать в роутере параметр Itemid, то ссылка включает в себя вместо алиаса еще и ...component/puarcade..., причем перехода так же не происходит.

Кто нибудь может подсказать в чем дело? А еще лучше расписать что в этом файле и за что отвечает? Почему где то пишется VIEW а где то CATEGORY или например TASK? И как правильно написать роутер для стороннего компонента? Ведь все примеры даны на основе com_conten, а на его основе мало что понятно...
Вот код который я использовал в роутере:
Код
<?php
function puarcadeBuildRoute( &$query )
{
       $segments = array();
       if(isset($query['fid']))
       {
                $segments[] = $query['fid'];
                unset( $query['fid'] );
       }
       if(isset($query['gid']))
       {
                $segments[] = $query['gid'];
                unset( $query['gid'] );
       };
       return $segments;
}
function puarcadeParseRoute( $segments )
{
       $vars = array();
       switch($segments[0])
       {
               case 'fid':
                       $vars['fid'] = 'fid';
                       break;
               case 'gid':
                       $vars['fid'] = 'fid';
                       $id = explode( ':', $segments[1] );
                       $vars['gid'] = (int) $id[0];
                       break;
       }
       return $vars;
}
?>
*

llektor

  • Захожу иногда
  • 214
  • 2 / 2
Re: router.php и с чем его едят?
« Ответ #1 : 08.02.2011, 01:33:50 »
Сколько не рыл, нормального описания на руском нигде не нашел, максимум машинный перевод с офсайта.
Думаю гуру смогут подсказать?

Собственно мой вопрос:
Есть такой компонент PUarcade, это флэш игры. Так в нем роутер просто отсутствует. Попытался почитать документацию по роутингу и написать свой вариант роутера. Ничего хорошего не получилось. Добился вывода крвсивой ссылки, но перехода по ней не происходит, открывается все та же главная страница сайта.
Нутром чую что загвоздка в переменных, но никак не могу сообразить что делать.

Получилось что не будь?
Если да,то подскажи как удалось,а то мне для компонента Remository нужно сделать что бы ссылки заканчивались .html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение SEF через правку router.php

Автор jouser

Ответов: 3
Просмотров: 1397
Последний ответ 05.12.2014, 11:27:25
от kitSS
Router SEF

Автор MadChild

Ответов: 0
Просмотров: 1048
Последний ответ 24.07.2014, 16:53:05
от MadChild
Router для компонента

Автор limon142

Ответов: 0
Просмотров: 1147
Последний ответ 19.06.2014, 18:42:00
от limon142
Как правильно заменить intval id на string id в router.php?

Автор jelenpivo

Ответов: 1
Просмотров: 1281
Последний ответ 10.05.2014, 14:33:13
от zomby6888
Альтернатива HP Router или как избавиться от индексов в урлах материалов?

Автор goga_pgasovav

Ответов: 1
Просмотров: 1904
Последний ответ 20.11.2012, 00:32:36
от goga_pgasovav