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

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
В настройках можно написать в статическую страницу "Описание заказа для клиента (в E-mail)" что-то свое, что придет вместе с заказом на e-mail покупателю. Там можно вписывать переменные {name}, {family}, {email}. Я хочу чтобы можно было еще вписать туда номер заказа (переменную), что-то типа:

Цитировать
Здравствуйте, {name} {family}!
Вас приветствует магазин "Такой-то"

Вы сделали заказ в нашем магазине:
Я пробовал вписывать {order}, но не проканало, думаю смысл понятен.
Кто знает как это сделать?
-----------------------------------------------------------------------------------------------------------------------
UPD Решение нашел сам, на все ушло меньше 5 минут. Вообщем если кому нужна такая фича, то вот решение:
В файле ваш_сайт/components/com_jshopping/models/checkout.php ищем 94ю строчку

Код: php
$order_email_descr = str_replace("{email}",$order->email, $order_email_descr);

и вставляем после нее

Код: php
$order_email_descr = str_replace("{order_number}",$order->order_number, $order_email_descr);

Затем в этом же файле чуть ниже 101я строка

Код: php
$order_email_descr_end = str_replace("{email}",$order->email, $order_email_descr_end);

и вставляем после нее

Код: php
$order_email_descr_end = str_replace("{order_number}",$order->order_number, $order_email_descr_end);

В итоге имеем новую переменную {order_number}, которую также как и переменные {name}, {family}, {email} можно вставить в статические страницы.

Выглядит это так (у меня):

Цитировать
Вы сделали заказ № {order_number} в нашем магазине:

В письме это отобразится как:

Цитировать
Вы сделали заказ № 00000001 в нашем магазине:

P.S. Думаю и для создания других любых переменных подойдет этот способ.

Вот и все.
« Последнее редактирование: 27.09.2013, 04:18:15 от THE KILLERS »
*

Anturius

  • Новичок
  • 7
  • 0 / 0
В настройках можно написать в статическую страницу "Описание заказа для клиента (в E-mail)" что-то свое, что придет вместе с заказом на e-mail покупателю. Там можно вписывать переменные {name}, {family}, {email}. Я хочу чтобы можно было еще вписать туда номер заказа (переменную), что-то типа:
Я пробовал вписывать {order}, но не проканало, думаю смысл понятен.
Кто знает как это сделать?
-----------------------------------------------------------------------------------------------------------------------
UPD Решение нашел сам, на все ушло меньше 5 минут. Вообщем если кому нужна такая фича, то вот решение:
В файле ваш_сайт/components/com_jshopping/models/checkout.php ищем 94ю строчку

Код: php
$order_email_descr = str_replace("{email}",$order->email, $order_email_descr);

и вставляем после нее

Код: php
$order_email_descr = str_replace("{order_number}",$order->order_number, $order_email_descr);

Затем в этом же файле чуть ниже 101я строка

Код: php
$order_email_descr_end = str_replace("{email}",$order->email, $order_email_descr_end);

и вставляем после нее

Код: php
$order_email_descr_end = str_replace("{order_number}",$order->order_number, $order_email_descr_end);

В итоге имеем новую переменную {order_number}, которую также как и переменные {name}, {family}, {email} можно вставить в статические страницы.

Выглядит это так (у меня):

В письме это отобразится как:

P.S. Думаю и для создания других любых переменных подойдет этот способ.

Вот и все.

Очень интересует эта тема! Ни где больше ответа на этой вопрос не нашел!
Помогите пожалуйста разобрать поподробней!

Открываю указанный Вами файл  ваш_сайт/components/com_jshopping/models/checkout.php
И не могу найти $order_email_descr = str_replace.... Вообще нет даже похожих(((
Подскажите - где капать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
И не могу найти $order_email_descr = str_replace.... Вообще нет даже похожих(((
ее и нет. то уже что-то тоже дописанное самостоятельно, просто об этом видимо автор уже забыл, что дописал ранее.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Anturius

  • Новичок
  • 7
  • 0 / 0
ее и нет. то уже что-то тоже дописанное самостоятельно, просто об этом видимо автор уже забыл, что дописал ранее.

Блин, а что же делать? Как режить такую же проблему? Нужно чтобы среди статического текста в письмо после заказа впечатывалась сумма, тоесть "Здравствуйте {name}! Благодарим за заказ! Сумма заказа составила {Total_sum}"
*

Anturius

  • Новичок
  • 7
  • 0 / 0
ее и нет. то уже что-то тоже дописанное самостоятельно, просто об этом видимо автор уже забыл, что дописал ранее.

А может у Вас есть такой файлик с дороботкой? Было бы не плохо! Замучился уже! Все обыскал...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так автора попросите, может у него есть. у меня нет, я никогда не делаю правки в файлах ядра, если надо вмешаться в логику то пишу плагин.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Anturius

  • Новичок
  • 7
  • 0 / 0
ку то пишу плагин.

Правильный подход! Буду иметь ввиду! Спасибо за ответы!
Автор к сожалению молчит...
Я новичок и даже не разберусь с какой стороны подойти к проблеме... Если бы указали куда, я бы добавил недостающие строчки, а так не могу найти файлик где это создаеться...(((
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
насколько я понимаю вам нужен \components\com_jshopping\models\ordermail.php
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать адрес в оформлении заказа

Автор lalalag

Ответов: 0
Просмотров: 1744
Последний ответ 06.07.2018, 13:32:45
от lalalag
При изменении статуса заказа в админке, комментарий не приходит на почту

Автор mstr

Ответов: 12
Просмотров: 2002
Последний ответ 24.11.2016, 22:47:41
от strela.mari
Отредактировать письмо приходящее клиенту после смена статуса заказа в админке на Завершен

Автор SFE

Ответов: 2
Просмотров: 1620
Последний ответ 29.08.2016, 18:22:47
от Taatshi
в карточке товара вместо " Описание" прописывается _JSHOP_DESCR

Автор RumusBin

Ответов: 11
Просмотров: 2209
Последний ответ 11.03.2016, 14:30:18
от cirip
Не работает кнопка далее при оформлении заказа

Автор Valmount

Ответов: 4
Просмотров: 1372
Последний ответ 07.03.2016, 22:30:51
от Valmount