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

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Здравствуйте, есть свой компонент, встал вопрос подключения пагинатора, подключил значит, и вижу вот такие вот урлы MySite/catalog?alias=CatName&start=0 вот "?alias=" то что в кавычках, это лишнее, как можно удалить?
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
это скорее вопрос вашего роутера, а не пагинатора
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AlekVolsk

  • Гуру
  • 6916
  • 411 / 4
покажите router.php из вашего компонента
*

dm-krv

  • Завсегдатай
  • 1027
  • 28 / 0
Здравствуйте, есть свой компонент, встал вопрос подключения пагинатора, подключил значит, и вижу вот такие вот урлы MySite/catalog?alias=CatName&start=0 вот "?alias=" то что в кавычках, это лишнее, как можно удалить?

Это GET-запросы к вашему плагинатору, без них работать не будет. Но можно эту штуку замаскировать, используя JavaScript. Написать вам код?
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
покажите router.php из вашего компонента
Код
<?php
defined( '_JEXEC' ) or die; // No direct access

function CatalogBuildRoute( &$query )
{
$segments = array();
if ( isset( $query['view'] ) ) {
$segments[] = $query['view'];
unset( $query['view'] );
}
if ( isset( $query['task'] ) ) {
$segments[] = $query['task'];
unset( $query['task'] );
}
    if (isset($query['id'])) {
        $segments[] = $query['id'];
        unset($query['id']);
    }
    if (isset($query['uid'])) {
        $segments[] = $query['uid'];
        unset($query['uid']);
    }
    if (isset($query['category'])) { // по аналогии с вышестоящим
        $segments[] = $query['category'];
        unset($query['category']);
    }
if ( isset( $query['limitstart'] ) ) {
unset( $query['limitstart'] );
}

return $segments;
}

function CatalogParseRoute( $segments ) {

    $id = (int)JRequest::getVar('id');
    $count = count( $segments );

    $vars = array();

    if ( $count == 1 ) {

        $db = JFactory::getDbo();
        $vars['alias'] = substr($segments[0], strpos('_', $segments[0])+0);
        $vars['filter'] = $segments[1];
        $vars['start'] = $segments[1];

        $alias = str_replace(":","-",$vars['alias']);

        //Проверка на существующий ID карты товара
        $db->setQuery("SELECT id FROM #__categories WHERE alias = '{$alias}' ");
        $db->query();
        $testObject = $db->loadObject();

        if ($testObject->id == null){
            require_once ($_SERVER['DOCUMENT_ROOT']."/cli/err404.php"); echo $html; die();
        }
        //Проверка на существующий ID карты товара
    }

    if ( $count == 2 ) {

        $db = JFactory::getDbo();
        $vars['id'] = $segments[1];

        //Проверка на существующий ID карты товара
        $db->setQuery("SELECT id FROM #__main_catalog WHERE id =".$vars['id']);
        $db->query();
        $testObject = $db->loadObject();
        if ($testObject->id == null){
            require_once ($_SERVER['DOCUMENT_ROOT']."/cli/err404.php"); echo $html; die();
        }
        //Проверка на существующий ID карты товара
    }



    return $vars;
}
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Это GET-запросы к вашему плагинатору, без них работать не будет. Но можно эту штуку замаскировать, используя JavaScript. Написать вам код?
Вот так работает
Код
/catalog/rezki_co2?&start=12
а вот так
Код
/catalog?alias=rezki_co2&start=12
не работает вот я и хочу заменить "?alias=rezki_co2" на слеш.
*

Physicist

  • Глобальный модератор
  • 973
  • 190 / 0
  • Рябов Денис
Скорее всего, параметр alias уже фигурирует при вызове JRoute::_(...), а CatalogBuildRoute его никак не обрабатывает и оставляет "как есть" (хотя, судя по CatalogParseRoute, подозреваю, что он должен добавляться в первый сегмент после знака подчеркивания).
*

sivers

  • Завсегдатай
  • 1773
  • 242 / 0
не работает вот я и хочу заменить "?alias=rezki_co2" на слеш.
ну так добавьте обработку алиаса в CatalogBuildRoute:
Код
    if (isset($query['alias'])) {
        $segments[] = $query['alias'];
        unset($query['alias']);
    }
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
ну так добавьте обработку алиаса в CatalogBuildRoute:
Код
    if (isset($query['alias'])) {
        $segments[] = $query['alias'];
        unset($query['alias']);
    }
Спасибо, все заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обработка AJAX в компоненте Joomla!3

Автор balancer

Ответов: 33
Просмотров: 8542
Последний ответ 23.07.2020, 07:45:53
от Dolphin4ik_1
Не видится файлы языкового пакета в созданном компоненте

Автор khachatur86

Ответов: 0
Просмотров: 367
Последний ответ 30.03.2019, 23:35:26
от khachatur86
Стандартная система рейтингов в custom компоненте

Автор platonische

Ответов: 1
Просмотров: 325
Последний ответ 12.02.2019, 16:55:03
от platonische
Изменения id для отображения названия в компоненте Joomla

Автор ice77

Ответов: 69
Просмотров: 3292
Последний ответ 21.05.2018, 17:32:46
от ice77
[Решено] Сотрировка drag-n-drop в компоненте в админке

Автор BakeevDR

Ответов: 9
Просмотров: 969
Последний ответ 21.11.2017, 13:24:38
от BakeevDR