Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Здравствуйте, в материале есть метки, но ссылки имеют вид http://site.ru/component/tags/tag/4-dizajn-interera, хотя создан пункт меню к которому привязан компонент. Что не так делаю подскажите ?
« Последнее редактирование: 12.02.2015, 11:03:28 от b2z »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Метки Joomla
« Ответ #2 : 12.02.2015, 10:46:22 »
Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.
« Последнее редактирование: 12.02.2015, 12:25:20 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Re: Метки Joomla
« Ответ #3 : 12.02.2015, 10:53:30 »
пункт меню создан эффекта 0, залез в helper/route там не прописан для линка Itemd, скопировал в свой шаблон helper/route и там переопределил

Код
public static function getTagRoute($id,$itemid)
{
$needles = array(
'tag'  => array((int) $id)
);
if ($id < 1)
{
$link = '';
}
else
{
if (!empty($needles) && $item = self::_findItem($needles))
{
$link = 'index.php?Itemid=' . $item;
}
else
{
// вот это добавил
                if (!empty($itemid))
                {
                   $link = 'index.php?option=com_tags&view=tag&id=' . $id.'&Itemid='.$itemid;
                }
                else
                {
  $link = 'index.php?option=com_tags&view=tag&id=' . $id;
                }
}
}

return $link;
}


*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Метки Joomla
« Ответ #4 : 12.02.2015, 11:00:55 »
Не лезьте в ядро, переопределите layout, как я вам писал.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Метки Joomla
« Ответ #5 : 12.02.2015, 11:00:58 »
Это не совсем баг. Больше недоработка, так как view=tags может быть разным, если выставлять родительская метки в параметрах меню. В итоге будет множество view=tags типа view=tags&parent_id=1,  view=tags&parent_id=2 и т.д. По хорошему, надо делать проверку, что в ссылке нет parent_id и при этом сделать пункт меню на все метки без родительской категории.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
сделать пункт меню на все метки без родительской категории.
Возможно, я об этом не думал.

P.S. Внес проверку в файл.
« Последнее редактирование: 12.02.2015, 12:26:37 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Не лезьте в ядро, переопределите layout, как я вам писал.
А я и не лез в ядро я же написал что в своем шаблоне создал папку helper/route, вывод article тоже свой шаблон и в нем прописал путь чтобы использовал мой helper/route в моем шаблоне
*

robert

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

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Тогда нормально. Только я не очень понял, откуда у вас берется $itemid?

Код
            $db = JFactory::getDbo();
            // Получаем ID пунката меню к которому привязан метки.
            $query = $db->getQuery(true);
            $query->select('e.extension_id, e.name')
                  ->from('#__extensions AS e' )
                  ->where('e.name='. $db->quote('com_tags'))
          ->select('m.id,m.menutype')
      ->join('LEFT', $db->quoteName('#__menu'). ' AS m ON m.component_id = e.extension_id')     
                  ->where('m.menutype='. $db->quote('mainmenu') );
            $db->setQuery($query);
            $Itemid = $db->loadObject();
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
Вы правы, в данной ситуации просто я знаю что будет всего только один пункт меню привязан, но если бы имело место что в дальнейшем будет несколько, тогда бы я добавил к условию where алиас активного пункта меню.
Кстати не нашел на форуме как закрывать тему?
*

robert

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

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

VMF22

  • Новичок
  • 1
  • 0 / 0
Здравствуйте!
Все работает. Спасибо!
Подскажите пожалуйста, как еще от ID-шника тега избавится в URL?
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Добрый день,

Бала такая же проблема. Применил решение предложенное robert и оно почти исправило ситуацию.
У меня на сайте пункты меню созданы для всех меток, а также имеется пункт меню со списком всех меток. Работает также мультиязычность. Раньше ссылки на метки со страниц с материалами работали вообще правильно, но потом после обновления до 3.4.6. они стали отсылать, например, на:
http://vedaj.by/index.php/ru/component/tags/tag/2-kostely
После применения решения предложенного здесь, для метки из примера URL стал таким:
http://vedaj.by/index.php/ru/dostoprim/2-kostely
Спасибо и на этом, эта страница уже хоть как-то логично связана с остальными языковыми версиями, но в меню активным выглядит пункт меню соответствующий не данной метке, а списку всех меток, который расположен по урлу: http://vedaj.by/index.php/ru/dostoprim. Поэтому в идеале хотелось бы чтобы ссылка в метке наконец снова (как и до обновления) стала указывать на созданный для данной метки пункт меню:
http://vedaj.by/index.php/ru/dostoprim/kostely
Такая проблема повторяется естественно со всеми метками. Пожалуйста, подскажите, что еще можно сделать, буду очень благодарен.
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
« Последнее редактирование: 30.01.2016, 23:04:19 от volovichvv »
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Применил решение со ссылки:

https://github.com/joomla/joomla-cms/compare/staging...b2z:tag-route

Отдельно от решения robertа не работает вообще. Метки в материалах снова ссылаются например на:

http://vedaj.by/index.php/ru/component/tags/tag/2-kostely

Совместно с решением robertа работает также как и только с решением robertа, т.е. ссылки выставляются на страницу:

http://vedaj.by/index.php/ru/dostoprim/2-kostely

Хотя для метки из примера создан отдельный пункт меню с урлом:

http://vedaj.by/index.php/ru/dostoprim/kostely

Для всех меток на сайте созданы пункты меню, и для списков всех меток во всех языках созданы пункты меню. Подскажите может нужно выполнить еще какие-то условия для того чтобы заработало, кроме как просто внести предложенные изменения с Гитхаба в код и поставить "Да" в настройках компонента? Компонент "метки" у меня стандартный. Я пробовал играться с настройками пунктов меню с метками и с другими настройками меток, и вообще какие я только не пробовал менять настройки... Может какой-то компонент или плагин должен быть обязательно включен? Например у меня отключен стандартный плагин "перенаправление"... А может данное решение не совместимо с многоязычными сайтами.
Дело в том, что на всех остальных моих сайтах кроме vedaj.by, работа с метками вообще не поломалась после обновления, и они прекрасно указывают куда нужно, т.е. на урлы специально созданных пунктов в меню. Теперь уже все сайты (в т.ч. и проблемный) работают на версии 3.4.8... А эти все остальные сайты одноязычные.

Огромное спасибо!
« Последнее редактирование: 30.01.2016, 23:33:50 от volovichvv »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Нет, напрочь не работает. Кроме появившегося пункта в настройках компонента "Метки" в админке, где можно выбрать "Да" или "Нет" нет никаких изменений (выбрано "Да").
Про все остальные сайты я имел ввиду то, что они вообще даже не ломались. Я их также обновил сначала до 3.4.6. а потом и до 3.4.8. и метки все это время работали правильно без всяких моих действий. Я это написал чтобы подчеркнуть то, что не работают ссылки на метки только на единственном моем многоязычном сайте. В том числе и Ваше решение на нем пока не сработало.
« Последнее редактирование: 30.01.2016, 23:37:38 от volovichvv »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Похоже, что у Вас другая проблема. Моё решение для того, чтобы не создавать на все метки пункты меню.
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.

Вот за это жирный +
Но тут воткнул я модуль http://extensions.joomla.org/extensions/extension/search-a-indexing/tags-a-clouds/vina-tags-popular
Ссылка в модуле такие component/tags/tag/
Вопрос: Как исправить их на нормальные не создавая пункт в меню на каждую метку. На список меток пункт есть.
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
такое решение мне не подойдёт, из за того что родительский пункт меню - это блог категории, а дочерний это список меток. А одинаковый алиас не создаёться...
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
Так вы его создайте в меню, которое не опубликовано нигде на сайте.
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
сейчас тогда попробую, сделать, отпишусь позже что вышло из этого;)
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
проблема решилась с добавлением одного пункта меню :  когда создавал последующие пункты меню выдавало ошибку, в целом создал меню Создать/опубликовать пункт меню view=tags (Список меток / List of all tags) с алиасом tags
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
Google проиндексировал неверные ссылки, редирект делать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 3758
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 520
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 685
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1736
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 2113
Последний ответ 27.03.2025, 10:40:29
от wishlight