Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
[Решено] Jroute не ловит view !
« : 26.04.2011, 17:31:05 »
Добрый день!
Озадачился созданием SEF для своего компонента.
пишe такую строчку в шаблоне echo JRoute::_('index.php?option=com_mycomponent&view=changeuserdata',false);
в файле router.php функция как по документации:
Код
    function MycomponentBuildRoute(&$query){
    $segments = array();
    if ($query['view'] == 'changeuserdata') {
    $segments[] = $query['id'].'_'.$name;
    unset($query['view']); // удаление не нужных уже елементов массива
    unset($query['id']);
    }
    return $segments;
    }

Получаю ошибку - Notice: Undefined index: view in /usr/home/xxx/www/components/com_mycomponent/router.php on line 17

var_dump($query); говорит что вьюха есть. (((( SEF глобально на сайте включен.
Может я непрально его как то использую ? Доку читал вроде бы всё в порядке.
« Последнее редактирование: 27.04.2011, 18:24:31 от n_drey »
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute не ловит view !
« Ответ #1 : 27.04.2011, 12:30:49 »
Вообще не понимаю как это работает (((
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Jroute не ловит view !
« Ответ #2 : 27.04.2011, 13:30:35 »
Привет.

Вот хорошая дока:
http://kjoomla.com/lessons/35-lessons/53-sefurl.html

У Вас какой-то замут в роутере. Откуда там переменная $name?
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute не ловит view !
« Ответ #3 : 27.04.2011, 16:10:55 »
По этой доке я и делал всё. Переделал заново, но всё равно затупляю.
Расписываю всё подробно.
Вот ссылка echo JRoute::_('index.php?view=showuser&userid=72',false);
Название компонета com_mysocial


router.php - как я его понимаю
Код
function MysocialBuildRoute(&$query){
    $segments = array();  // создаём массив для передачи в MysocialParseRoute()

    if (isset($query['view'])) { // проверяю наличие элемента массива (вьюшки)
    $segments[] = $query['view']; //добавление первого элемента в массив  $segments[]
    unset($query['view']);  // удаление не нужных уже елементов массива
    }
   

    if (isset($query['userid'])) { // по аналогии с вышестоящим
    $segments[] = $query['userid'];   
    unset($query['userid']);
    }
    return $segments;
    //
}
 
// Получаю кривую ссылку - /social/showuser/72.html

 function MysocialParseRoute($segments){
         $vars = array(); //создание массива
         
         switch($segments[0]) { //ловим view и передаём параметры
         case 'showuser':
         $vars['view']  = 'showuser';
         $vars['userid'] = $segments[1];
         break;
          }
         
         return $vars;
}

В конечном итоге теряется переменная userid (id пользователя в системе, для понимания) ((( Как её добавить.

Я бы хотел в конечном итоге получить ссылку вот такого вида  /social/showuser/username.html (username - бёрётся из базы как имя пользователя)
Поясните пожалуйста по шагам что мне надо сделать. Дока которую вы показали не очень для понимания, по крайней мере я не совсем понял как формируются ссылки.
Спасибо!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Jroute не ловит view !
« Ответ #4 : 27.04.2011, 17:08:42 »
Ну Вы все верно сделали. Просто дополнительно надо вытягивать тогда имя пользователя из базы в MysocialBuildRoute и потом класть его в сегменты. Ну как-то вот так наверное:

Код: php
if (isset($query['userid'])) {
$db = JFactory::getDBO();
$sql = 'SELECT `username` FROM #__users WHERE `id` = ' . (int)$query['userid'];
$db->setQuery($sql);
$segments[] = $db->loadResult();

$segments[] = $query['userid'];  
unset($query['userid']);
}

По идее $segments будет таким:
Код: php
$segments[0] - view
$segments[1] - username
$segments[2] - userid
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute не ловит view !
« Ответ #5 : 27.04.2011, 17:57:00 »
Спасибо большое попробую, о результатах отпишусь.
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute не ловит view !
« Ответ #6 : 27.04.2011, 18:24:10 »
Спасибо Вам огромное всё получилось !
Только нельзя использовать при создании запроса в базу переменную $query ,ему почему то это не нравиться а так в целом всё стало понятно )))
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: [Решено] Jroute не ловит view !
« Ответ #7 : 27.04.2011, 18:29:27 »
Только нельзя использовать при создании запроса в базу переменную $query ,ему почему то это не нравиться а так в целом всё стало понятно )))
Ой, блин. Тут я ступил - привычка писать $query :) Конечно не нравится, потому что уже есть массив $query ;) Подправил свой пост.
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
RE: Jroute не ловит view!
« Ответ #8 : 19.07.2019, 04:02:49 »
По этой доке я и делал всё. Переделал заново, но всё равно затупляю.
Расписываю всё подробно.
Вот ссылка echo JRoute::_('index.php?view=showuser&userid=72',false);
Название компонета com_mysocial


router.php - как я его понимаю
Код
function MysocialBuildRoute(&$query){
    $segments = array();  // создаём массив для передачи в MysocialParseRoute()

    if (isset($query['view'])) { // проверяю наличие элемента массива (вьюшки)
    $segments[] = $query['view']; //добавление первого элемента в массив  $segments[]
    unset($query['view']);  // удаление не нужных уже елементов массива
    }
   

    if (isset($query['userid'])) { // по аналогии с вышестоящим
    $segments[] = $query['userid'];   
    unset($query['userid']);
    }
    return $segments;
    //
}
 
// Получаю кривую ссылку - /social/showuser/72.html

 function MysocialParseRoute($segments){
         $vars = array(); //создание массива
         
         switch($segments[0]) { //ловим view и передаём параметры
         case 'showuser':
         $vars['view']  = 'showuser';
         $vars['userid'] = $segments[1];
         break;
          }
         
         return $vars;
}

В конечном итоге теряется переменная userid (id пользователя в системе, для понимания) ((( Как её добавить.

Я бы хотел в конечном итоге получить ссылку вот такого вида  /social/showuser/username.html (username - бёрётся из базы как имя пользователя)
Поясните пожалуйста по шагам что мне надо сделать. Дока которую вы показали не очень для понимания, по крайней мере я не совсем понял как формируются ссылки.
Спасибо!

Здравствуйте, а как прописать так что бы открывалась страница не /social/showuser/72.html а /social/72.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вернуть SEF - JRoute::_(ContenterRoute::getArticleRoute) в админке?

Автор pavelrer

Ответов: 0
Просмотров: 4368
Последний ответ 10.08.2020, 13:37:52
от pavelrer
Как получить правильный SEF url категории JoomGallery из JRoute?

Автор sergeytolkachyov

Ответов: 1
Просмотров: 4370
Последний ответ 26.10.2019, 23:48:41
от sergeytolkachyov
[РЕШЕНО]лавная не работает без /index.php

Автор lexxbry

Ответов: 1
Просмотров: 1776
Последний ответ 22.08.2018, 14:52:51
от lexxbry
[Решено] sh404SEF Joomla 1.5.26 nginx + Apache бесконечный редирект

Автор capricorn

Ответов: 2
Просмотров: 2089
Последний ответ 11.02.2017, 21:59:50
от capricorn
Joomla 3. Jroute. Неправильно работает SEF

Автор templton

Ответов: 1
Просмотров: 2625
Последний ответ 14.04.2016, 09:53:20
от b2z