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

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Добрый день, проблема заключается в следующем, есть сторонний компонент написанный мною, при открытии нужной страницы URL имеет следующий вид "index.php?option=com_characters&view=readmore&id=1", вопрос! как можно взаимодействовать со встроенным функционалом Joomla 3 и выше что бы URL был таким "index.php/characters/readmore/podrobnaya-informatsiya-ob-fishkakh"? Пробовал пользоваться гуглом но толкового не чего не нашел. может кто сталкивался с подобным вопрос или знает что нибудь.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если сами написали свой компонент, то вам не составит труда написать свой роутер.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Собственно да. уже разобрался. Есть функция которая должна находится в роутере компонента.

Код: php
function CharacterschipsBuildRoute(&$query) {
    $segments = array();

    if (isset($query['task'])) {
        $segments[] = implode('/', explode('.', $query['task']));
        unset($query['task']);
    }
    if (isset($query['view'])) {
        $segments[] = $query['view'];
        unset($query['view']);
    }
    if (isset($query['id'])) {
        $segments[] = $query['id'];
        unset($query['id']);
    }

    return $segments;
}
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Код: php
function CharacterschipsParseRoute($segments) {
    $vars = array();

    // view is always the first element of the array
    $vars['view'] = array_shift($segments);

    while (!empty($segments)) {
        $segment = array_pop($segments);
        if (is_numeric($segment)) {
            $vars['id'] = $segment;
        } else {
            $vars['task'] = $vars['view'] . '.' . $segment;
        }
    }

    return $vars;
}
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Если пишете под тройку, то роутер должен быть классом, который extends JComponentRouterBase:
Код: php
class CharacterschipsRouter extends JComponentRouterBase

В нем реализуете
Код: php
public function build(&$query)
public function parse(&$segments)

смотрите /components/com_content/router.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

com_ajax использование модуля

Автор Wertos

Ответов: 32
Просмотров: 4653
Последний ответ 24.11.2019, 18:33:57
от CB9T
Использование поля tag для кастомных тегов в компоненте

Автор Inoken

Ответов: 4
Просмотров: 968
Последний ответ 15.08.2017, 23:12:50
от fsv
Создание своих правил доступа

Автор john.deff

Ответов: 7
Просмотров: 855
Последний ответ 06.08.2016, 14:14:52
от Aleks.Denezh
Использование хлебных крошек, как?

Автор sesil

Ответов: 10
Просмотров: 1411
Последний ответ 25.05.2016, 00:25:57
от Aleks.Denezh
[Решено] Использование встроенной в J3 recaptcha в собственных формах

Автор AlekVolsk

Ответов: 4
Просмотров: 859
Последний ответ 16.03.2016, 01:19:36
от AlekVolsk