Новости 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 можно из объекта приложения

<?php protected function doExecute(InputInterface $input, OutputInterface $output): int { //... $live_site = $this->getApplication()->get('live_site'); //... }

и исходя из этого строить дальнейшую логику.

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

Web_2

  • Осваиваюсь на форуме
  • 12
  • 1 / 0
Нужно получить нумерацию заказов таким образом, чтобы каждый год начинался с номера 1.
[используется в админке и при выставлении счета клиенту]

Есть идея получать год из поля cdate в таблице vm_orders

А как бы нумерацию вычислять от начала года?
сделать запрос на id заказа, который первый в данном году и от него по разнице id вычислять номер.

Кто-нибудь делал такой хак?
Буду благодарен любым советам  ^-^
« Последнее редактирование: 18.12.2006, 08:18:54 от tug »
*

Web_2

  • Осваиваюсь на форуме
  • 12
  • 1 / 0
Там, где нужно выводить нумерацию заказов можно разместить такой код

/*--------------------------------------------
определитель номера заказа №xxx/yy
--------------------------------------------*/

$cur_year = date("y", time());

$min_year_date = mktime (0,0,0,1,1,$cur_year);

#
# выборка из базы первого заказа в текущем году
#

$q  = "SELECT * FROM #__{vm}_payment_method, #__{vm}_order_payment, #__{vm}_orders ";
$q .= "WHERE #__{vm}_orders.cdate > $min_year_date";
$q .= " ORDER BY #__{vm}_orders.order_id LIMIT 1";

$dbmy = new ps_DB;

$dbmy->query( $q );

$first_order_id = $dbmy->f("order_id");

# разница между id первого заказа и текущего, чтобы номер был от начала года
$nomer_zakaza = $order_id - $first_order_id;

print "№$nomer_zakaza".'/'."$cur_year";         
*

GDA

  • Новичок
  • 6
  • 0 / 0
Не подскажете ли решение, чтобы маска номера была такой вот:
номер_заказа/дата

Например: 37/091103 - что значит 37-й заказ, дата 2009 ноябрь 03

Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AJAX проверка e-mail и имени пользователя.

Автор Silent_Breeze

Ответов: 60
Просмотров: 21074
Последний ответ 09.06.2013, 17:13:36
от tiptopvkr
Перенаправление на /index.php vm 1.1.3

Автор Wester

Ответов: 22
Просмотров: 35793
Последний ответ 08.03.2012, 16:12:53
от phaeton480
Мультивалютность в VirtueMart 1.1.4 (ajax форме/joomla 1.5.14)

Автор zafarkhon

Ответов: 6
Просмотров: 7998
Последний ответ 11.11.2010, 18:40:57
от MixaJI
Как добавить имя вендора в browse_1 ?

Автор Smalish

Ответов: 4
Просмотров: 2924
Последний ответ 26.11.2009, 19:36:28
от Smalish