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

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Поддомены для регионов
« : 07.02.2015, 10:58:36 »
Здравствуйте, существует задача, но не совсем понятна её реализация.
Задача: необходимо определять регион пользователя по IP и перенаправлять его на необходимый поддомен. На поддоменах должны различаться страницы с ценами, контакты и главная, а также информация в шапке и в футере.
То есть если человек с Калининграда, то его перебрасывает на kaliningrad.site.ru, где он видит контакты для своего региона.

Определение нужного региона по IP - сделано. Непонятно, как организовать технически поддомены, копировать ли один и тот же сайт и изменять информацию там или можно как-то задать различие только для необходимых страниц?
Проблема с копированием очевидна: если необходимо изменить шаблон, то изменения придется вносить во все копии для поддоменов и т.п.

Несколько часов поиска не принесли результата, заранее благодарю за указание нужного направления.
     

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Поддомены для регионов
« Ответ #1 : 07.02.2015, 12:43:21 »
Определение региона - уже было и не раз, поиск по форуму пробовали?
На каждом поддомене - свой сайт? или один сайт на все поддомены, включая головной домен?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #2 : 07.02.2015, 13:11:03 »
На поддоменах должны различаться страницы с ценами, контакты и главная, а также информация в шапке и в футере.

Каким компонентом/компонентами выводятся эти страницы? В них и нужно править.Если это статичные HTML странички то просто по папкам их раскидать и скрипт на главную повесить который будет редиректить. Или в htaccess прописать перенаправление.
« Последнее редактирование: 07.02.2015, 13:15:02 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #3 : 07.02.2015, 15:00:45 »
Определение региона - уже было и не раз, поиск по форуму пробовали?
На каждом поддомене - свой сайт? или один сайт на все поддомены, включая головной домен?
С определением региона проблем никаких нет, это уже работает.
Желательно один сайт на все поддомены, так как есть ограниченность в дисковом пространстве, а регионов порядко 80.

Каким компонентом/компонентами выводятся эти страницы? В них и нужно править.Если это статичные HTML странички то просто по папкам их раскидать и скрипт на главную повесить который будет редиректить. Или в htaccess прописать перенаправление.
Контакты, цены, главная - стандартные материалы, информация в шапке\футере - в самом шаблоне. Как менять информацию в шапке\футере в зависимости от поддомена - понятно.
Непонятно как сделать один сайт для всех поддоменов, но чтобы там отличались определенные материалы.

В целом вообще не понятно как сделать один сайт для всех поддоменов, чтобы это был не редирект на основной, а именно по адресам поддоменов был один и тот же сайт.
« Последнее редактирование: 07.02.2015, 15:11:14 от gwynnbleidd »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #4 : 07.02.2015, 15:22:35 »
Контакты, цены, главная - стандартные материалы, информация в шапке\футере - в самом шаблоне.

Первое что вам необходимо сделать это чтобы запросы вида yourcity.site.ru перенаправлялись на URL вида site.ru?option=com_content&city=yourcity. Гуглите на тему динамических поддоменов. Там надо будет что-то прописать в dns и htaccess.

Затем вам необходимо в шаблоне сайта и в шаблоне материала в зависимости от условий (REQUEST['city']) выводить различные данные и материалы. Понадобятся минимальные навыки работы с php. 
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #5 : 07.02.2015, 16:03:54 »
Первое что вам необходимо сделать это чтобы запросы вида yourcity.site.ru перенаправлялись на URL вида site.ru?option=com_content&city=yourcity. Гуглите на тему динамических поддоменов. Там надо будет что-то прописать в dns и htaccess.

Затем вам необходимо в шаблоне сайта и в шаблоне материала в зависимости от условий (REQUEST['city']) выводить различные данные и материалы. Понадобятся минимальные навыки работы с php. 
Дело в том, что обязательно должен оставаться адрес поддомена, а не site.ru?option=com_content&city=yourcity. Пример подобного функционала можно увидеть на сайте мегафона, там есть сверху список из регионов, при смене которого перебрасывает на определенный поддомен.
Спойлер
[свернуть]
Необходим аналогичный функционал, при чем желательно чтобы сайт был один, а не копии для всех поддоменов. Как выводить определенный данные в зависимости от региона - наименьшая проблема и здесь видятся пути решения.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #6 : 07.02.2015, 16:13:44 »
Цитировать
Дело в том, что обязательно должен оставаться адрес поддомена, а не site.ru?option=com_content&city=yourcity

А вы гуглили на тему динамических поддоменов?  Поисходит не перенаправление а проксирование как бы..
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #7 : 07.02.2015, 16:54:39 »
А вы гуглили на тему динамических поддоменов?  Поисходит не перенаправление а проксирование как бы..
Спасибо, вроде бы действительно то, что нужно. Буду пробовать.
Правильно ли я понимаю решение для материалов, что если я создам материалы с алиасом contacts-spb и contacts-krasnodar, то в шаблоне вывода материала проверять текущий регион и добавлять необходимый регион к алиасу contacts, либо есть какое-то более элегантное решение проблемы?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #8 : 07.02.2015, 17:17:27 »
Правильно ли я понимаю решение для материалов, что если я создам материалы с алиасом contacts-spb и contacts-krasnodar, то в шаблоне вывода материала проверять текущий регион и добавлять необходимый регион к алиасу contacts

Как вариант. В таком случае даже не придется что то прописывать в PHP коде шаблона. Минус что для каждого города надо создавать отдельный материал. Можно также использовать отдельный параметр в запросе как я выше написал и обрабатывать его уже средствами PHP.

Вот кстатии статья на  хабре возможно вам поможет. Там правда для nginx инструкция но в каментах можно найти и про соответствующую настройку apache. Если все получится поделитесь практическим решением, думаю для многих это будет полезным..
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #9 : 09.02.2015, 00:18:00 »
Вот кстатии статья на  хабре возможно вам поможет. Там правда для nginx инструкция но в каментах можно найти и про соответствующую настройку apache. Если все получится поделитесь практическим решением, думаю для многих это будет полезным..
Настраивал на хостинге, где стоит CPanel и доступа к настройкам сервера нет.
Для решения моей проблемы выполнял следующее:
1) Создать поддомен *.site.ru и указать путь к основному site.ru
2) В редакторе DNS необходимо добавить A правило *.site.ru и указать адрес основного домена.
В общем-то и все, теперь по любому поддомену *.site.ru открывается основной сайт по данному домену. Дальше просто вытягивать значение * из HTTP_HOST и применять его значение для того, что требуется.

Так как у меня довольно простые задачи, то мне этого достаточно, но если необходимо перенаправление в каталог по именни поддомена, то в статье хабра есть данный вариант в комментариях.

После всех манипуляций можно зайти в том числе по адресу asdasdfasdfads.site.ru, решение в лоб - сравнивать допустимые варианты и если он не подходит, то перебрасывать на дефолтный адрес, возможно кто-то знает как сделать лучше, буду рад узнать другие варианты.

Как вариант. В таком случае даже не придется что то прописывать в PHP коде шаблона. Минус что для каждого города надо создавать отдельный материал. Можно также использовать отдельный параметр в запросе как я выше написал и обрабатывать его уже средствами PHP.
Минус довольно большой в зависимости от требуемых вариантов, особенно, если в статье будет одно единственное изменение вида: "Это Краснодарский край"/"Это Ярославская область" и т.п. Для решения такой проблемы я использовал плагин sourcerer, он позволяет вставлять php код прямо в материал. Тогда просто остается обработать регион и взять подготовленный вариант(я использовал ini файлы).

Буду рад любой помощи и советам как еще можно упростить данную задачу.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Несуществующие поддомены

Автор Lovenokia

Ответов: 8
Просмотров: 1050
Последний ответ 05.10.2020, 16:27:53
от siao
Под домены для регионов: как реализовать?

Автор dm-krv

Ответов: 1
Просмотров: 943
Последний ответ 08.10.2017, 18:25:05
от cartgen
Перенос категорий на поддомены

Автор founder

Ответов: 10
Просмотров: 1394
Последний ответ 24.06.2017, 18:10:42
от Septdir
Поддомены для регионов

Автор abelhair

Ответов: 6
Просмотров: 2582
Последний ответ 29.03.2017, 16:21:55
от Septdir
Добавление регионов на сайт

Автор 12Nikonov

Ответов: 4
Просмотров: 1410
Последний ответ 18.10.2016, 17:29:46
от Septdir