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

Добрый день уважаемые, пытаюсь настроить вывод характеристик товаров в сопутствующих товарах.
Нашел вот такой хак и попытался вписать в него функцию product_typ.
Код
В файле:
administrator\components\com_virtuemart\classes\ps_product.php

Вношу изменения в поля:

function show_snapshot($product_sku, $show_product_type=true, $show_price=true, $show_addtocart=true, $show_product_name = true ) {
echo $this->product_snapshot( $product_sku, $show_product_type, $show_price, $show_addtocart, $show_product_name );
}

function product_snapshot( $product_sku, $show_product_type=true, $show_price=true, $show_addtocart=true, $show_product_name = true ) {

global $sess, $mm_action_url;

$db = new ps_DB;

require_once(CLASSPATH.'ps_product_category.php');
$ps_product_category = new ps_product_category;

$q = "SELECT product_id, product_name, product_parent_id,  product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";
$db->query( $q );

if ($db->next_record()) {
$product_id = $db->f("product_id" );
$tpl = new $GLOBALS['VM_THEMECLASS']();


$cid = $ps_product_category->get_cid( $product_id );

$tpl->set( 'product_id', $product_id);
$tpl->set( 'product_name', $db->f("product_name") );
$tpl->set( 'show_product_name', $show_product_name );
$tpl->set( 'product_type', $db->f("product_type") );
                        $tpl->set( 'show_product_type', $show_product_type );

Далее в фале:

components\com_virtuemart\themes\default\templates\common\productsnapshot.tpl.php
прописываю <?php echo $product_type ?>

К сожалению не заработало (просто перестали отражаться карточки сопутствующих товаров), вообще вирт поражает своей непродуманностью, когда что бы вывести <?php echo $product_type ?> в browse_1.php и то нужно дописывать код. Неужели было сложно реализовать, что бы в любом месте шаблона, в которой бы захотелось, можно было бы вставлять любую функцию?

Не подскажите в чём моя ошибка и куда собственно копать? Заранее благодарю.
*

Arlekina

  • Захожу иногда
  • 52
  • 2 / 0
Мне тоже актуален этот вопрос. Подобным способом я вывела краткое описание товара в сопутствующие, но вывод типа товара таким способом не работает.
Подскажите пожалуйста, как вывести тип товара в сопутствующих товарах?
Joomla 1.5.22, VirtueMart 1.1.8
*

frsh

  • Новичок
  • 7
  • 0 / 0
Арлекина, огромный респект тебе. Очень долго искал - как вывести описание товара в productsnapshot ...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

вывод категории и её подкатегорий на одной странице

Автор sega

Ответов: 44
Просмотров: 15588
Последний ответ 30.04.2014, 14:05:45
от ИринаМ
[Решено] Вывод товаров из подкатегорий в родительскую категорию V1.0.15 V1.1.3

Автор baldesarini

Ответов: 273
Просмотров: 96905
Последний ответ 08.04.2013, 15:20:07
от asterix_kpi
[Решено] Вывод прикрепленных файлов в списке товаров V1.0.15 V1.1.3

Автор a69

Ответов: 13
Просмотров: 11481
Последний ответ 20.02.2013, 23:41:04
от kreolka_8
вывод одного товара стоит 15 запросов

Автор ptipti

Ответов: 4
Просмотров: 6347
Последний ответ 04.10.2011, 11:19:28
от MihailL
[Решено] Количество выводимых сопутствующих товаров V1.0.15

Автор alexsheksna

Ответов: 2
Просмотров: 2445
Последний ответ 15.06.2009, 13:40:16
от peHa