Новости 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 Ответов
  • 856 Просмотров
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Добрый день. Подскажите, как через PMA можно перенеси количество просмотров материала из одной бд в другую?

Мигрировал с J1.5 на J3. Перенес материалы. Урлы одинаковые. Старый сайт на J1.5 еще работает. Пока довожу новый сайт до ума на старом сайте количество просмотров материалов изменилось. Требуется скопировать на новый сайт только этот параметр. Подскажите, как перенести через phpMyAdmin только строки, отвечающие за количество просмотров материала?

Заранее спасибо!
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Если получиться сопоставить каждый материал старого сайта материалу нового сайта - то да, перенести относительно несложно, можно без PHP.
Сопоставить - например, по id материала, или по названию (если чётко совпадает и не повторяется).

Экспортируете таблицу из базы старого сайта. Импортируете её в базу нового, можно под другим именем таблицы.
Делаете SQL запрос, который проставит hits в новой таблице.
Возможно, будет интересно: Интеграция с Ozon
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра
ну ид вряд ли совпадают. скорее, через алиасы, они-то точно уникальные должны быть. не помню, как там в 1.5 они формировались, но если транслитерация та же, то вполне вариант через них привязаться.
посмотри в таблице content, совпадают ли алиасы статей
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
ну ид вряд ли совпадают
Смотря, как сайт обновлялся. Могут с полностью совпадать.
Возможно, будет интересно: Интеграция с Ozon
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Если получиться сопоставить каждый материал старого сайта материалу нового сайта - то да, перенести относительно несложно, можно без PHP.
Сопоставить - например, по id материала, или по названию (если чётко совпадает и не повторяется).
Все сопоставлено. Урлы и айдишники на старом и новом сайте полностью совпадают.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
здра
ну ид вряд ли совпадают. скорее, через алиасы, они-то точно уникальные должны быть. не помню, как там в 1.5 они формировались, но если транслитерация та же, то вполне вариант через них привязаться.
посмотри в таблице content, совпадают ли алиасы статей
Все сделал как надо. Потратил уйму времени (на сайте более 10 тыс страниц). Урлы и айдишники идентичны.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну тогда делаешь запрос
Код
SELECT `id`,`hits` FROM `d6zde_content` WHERE 1
меняя префикс на свой
получишь табличку с двумя столбцами, под ней будет меню, в нем выбираешь экспорт результатов.
дальше стандартный дамп, только делаешь в настройках экспорта (Использовать оператор при сохранении данных):UPDATE
выгружаешь дамп, открываешь его в нотпаде и забираешь секцию с update
Код
UPDATE `d6zde_content` SET `id` = 1,`hits` = 2 WHERE `d6zde_content`.`id` = 1;
UPDATE `d6zde_content` SET `id` = 2,`hits` = 0 WHERE `d6zde_content`.`id` = 2;
UPDATE `d6zde_content` SET `id` = 3,`hits` = 0 WHERE `d6zde_content`.`id` = 3;
UPDATE `d6zde_content` SET `id` = 4,`hits` = 0 WHERE `d6zde_content`.`id` = 4;
UPDATE `d6zde_content` SET `id` = 5,`hits` = 0 WHERE `d6zde_content`.`id` = 5;
UPDATE `d6zde_content` SET `id` = 6,`hits` = 0 WHERE `d6zde_content`.`id` = 6;

меняешь префикс таблицы на свой, который в тройке у тебя и в меню майадмина (SQL) вcтавляешь
если за раз не скушает, по частям. должно сканать
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Еще вариант - подкинуть в новую базу старую таблицу материалов под другим именем и тогда одним запросом можно сделать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Экспортируете таблицу из базы старого сайта. Импортируете её в базу нового, можно под другим именем таблицы.
Делаете SQL запрос, который проставит hits в новой таблице.

Экспортируйте в файл из старой базы 1 таблицу, в которой есть Просмотры (hits - наверно).
Импортируйте в новую базу эту таблицу - только удостоверьтесь, что она не затрёт имеющуюся таблицу с таким же названием (если такая есть). То есть импортируйте таблицу с уникальным именем.
Потом примерно такой SQL запрос в новой базе:
Код
UPDATE jos_articles t1
LEFT JOIN jos_articles_old t2 ON t1.id = t2.id
SET t1.hits = t2.hits
WHERE t2.hits IS NOT NULL
Не проверял, это примерно. Логика
Возможно, будет интересно: Интеграция с Ozon
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
ну тогда делаешь запрос
Код
SELECT `id`,`hits` FROM `d6zde_content` WHERE 1
меняя префикс на свой
получишь табличку с двумя столбцами, под ней будет меню, в нем выбираешь экспорт результатов.
дальше стандартный дамп, только делаешь в настройках экспорта (Использовать оператор при сохранении данных):UPDATE
выгружаешь дамп, открываешь его в нотпаде и забираешь секцию с update
Код
UPDATE `d6zde_content` SET `id` = 1,`hits` = 2 WHERE `d6zde_content`.`id` = 1;
UPDATE `d6zde_content` SET `id` = 2,`hits` = 0 WHERE `d6zde_content`.`id` = 2;
UPDATE `d6zde_content` SET `id` = 3,`hits` = 0 WHERE `d6zde_content`.`id` = 3;
UPDATE `d6zde_content` SET `id` = 4,`hits` = 0 WHERE `d6zde_content`.`id` = 4;
UPDATE `d6zde_content` SET `id` = 5,`hits` = 0 WHERE `d6zde_content`.`id` = 5;
UPDATE `d6zde_content` SET `id` = 6,`hits` = 0 WHERE `d6zde_content`.`id` = 6;

меняешь префикс таблицы на свой, который в тройке у тебя и в меню майадмина (SQL) вcтавляешь
если за раз не скушает, по частям. должно сканать
Огромное спасибо! Обязательно попробую!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 975
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 618
Последний ответ 22.11.2024, 07:14:15
от stepan39
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 1731
Последний ответ 09.11.2023, 16:33:08
от denxio
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 799
Последний ответ 19.10.2023, 11:25:18
от designer71
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 2324
Последний ответ 06.10.2023, 14:02:24
от Mitriy