Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

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

  • Глобальный модератор
  • 7284
  • 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

  • Глобальный модератор
  • 7284
  • 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

  • Глобальный модератор
  • 7284
  • 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
Просмотров: 3406
Последний ответ 10.08.2020, 13:37:52
от pavelrer
Как получить правильный SEF url категории JoomGallery из JRoute?

Автор sergeytolkachyov

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

Автор lexxbry

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

Автор capricorn

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

Автор templton

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