Новости 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 Гость просматривают эту тему.
  • 7 Ответов
  • 768 Просмотров
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Добрый день!

Подскажите, есть пункт меню "Блог категорий", хотелось бы добавить несколько макетов (в редактировании п.меню Отображение -> Макет), интересует именно blog_item.php

Добавляю в шаблон/html/com_content/category/

файл blog_item.php - это как бы по умолчанию
добавляю еще  blog_item-new.php (так же пробовал так new_item.php)

Не работает... не могу выбрать новый макет при редактировании п.меню.



*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Немного понял... при редактировании пункта меню "блог категорий" - в макете я могу задавать макеты/html/com_content/article/default-new.php

но так и не понял, где создавать макеты blog_item.php (
Можно указать новый макет для категории (при редактировании категории) - но этот макет не отображается когда переходишь по ссылке "блог категорий" созданной в меню
*

fbr

  • Завсегдатай
  • 1662
  • 206 / 7
 blog_item.php переопределяете правильно в /html/com_content/category/
нужно переопределить и blog.php
в тех 2х местах где вызывается макет:
Код
echo $this->loadTemplate('item');
заменяете на вызов своего макета
Код
echo $this->loadTemplate('item-new');
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
если я положу blog.php в /html/com_content/category/
и заменю в нем вызов макета ( echo $this->loadTemplate('item-new'); ) - вероятно это будет работать. но

у меня несколько ссылок в меню типа "Блог категорий" - и внешний вид их разнится

т.е. я ожидал бы что бы можно было бы сделать два макета

blog-new.php
blog-new1.php

один бы открывался, допутип бы по URL https:\\имя.сайта\материалы-new, другой по URL https:\\имя.сайта\материалы-new1

сейчас же получается что редактируя пункт меню в табе "Отображение -> Макет" я могу задавать только макеты конечных материалов "article/default-new.php"

а где в меню мне переопределить blog.php ? (ну и\или blog_item.php)?
*

fbr

  • Завсегдатай
  • 1662
  • 206 / 7
чтобы переделать blog.php, вам нужно создать новый тип пункта меню
делаете копии и переименовываете
blog.php в myblog.php
blog_item.php  в myblog_item.php
blog.xml в myblog.xml
в файле XML делаете <layout title="MYBLOG" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
можете добавить свои настройки
Теперь при выборе пункта меню у вас появится материалы -> MYBLOG
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
Спасибо за ваши ответы! А где вы хотите что бы были созданы копии тех файлов что вы писали? в частности xml-ки?



ох простите что то я кажется недо понимаю... для прояснения. Вот у меня есть пункт меню - в котором я хотел бы видеть отдельный blog_item.



т.е. новый создавать не надо - вот этот годится.

далее - вот тут



я могу выбрать макет html/com_content/article/

и где бы я не создавал новые "blog.php -> myblog.php" и прочие, данный пункт меню игнорирует все созданное. т.е. я не понимаю базы - где мне указать что ЭТОТ пункт меню должен взять новый переименованный "blog.php -> myblog.php" ?



*

fbr

  • Завсегдатай
  • 1662
  • 206 / 7
Я тоже кажется не очень понимаю, что вы хотите ...
Давайте еще раз:
html/com_content/category/blog5u.xml
html/com_content/category/blog5u.php
html/com_content/category/blog5u_item.php
----------------
Создали? все.
У вас появился новый тип пункта меню. Редактируйте как хотите все созданные файлы.
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
аа, вот как. да, все понял. было не понятно что "новый пункт меню" - что это прям буквально! Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Навигационное меню

Автор rizzardi

Ответов: 0
Просмотров: 332
Последний ответ 09.04.2025, 07:44:13
от rizzardi
После обновления с Joomla4 до Joomla5 не выбирается тип пункта меню

Автор keykeeper

Ответов: 1
Просмотров: 645
Последний ответ 19.03.2025, 14:57:02
от keykeeper
Вопрос по шаблону Protostar для Joomla 5

Автор Mick_20

Ответов: 2
Просмотров: 580
Последний ответ 06.03.2025, 12:24:37
от web1
[РЕШЕНО] Блог категорий - подкатегории в несколько колонок

Автор mkl

Ответов: 1
Просмотров: 526
Последний ответ 04.03.2025, 13:38:24
от mkl
[РЕШЕНО] Главная страница в несколько колонок с новостями из разных категорий

Автор Санчо

Ответов: 1
Просмотров: 587
Последний ответ 22.02.2025, 18:58:36
от Санчо