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

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Артикул состоит из букв и цифр. Пример: К10

Нужно сортировать как по цифре. То есть, чтоб сначала шло К3, К4, К5... К39, К40   а не K39, К4, К40...

Подумываю, что, при указании сортировки нужно бы удалить сначала все буквы, и потом уже сортировать. Но что-то у меня какая-то чушь получается.В файле user_config.php делаю примерно так...

Код: php
$sortean = 'product_ean';
$sortean = preg_replace("/[^0-9]/", '', $sortean);
$sortean = $sortean + 0;
$config->sorting_products_field_select = array(
    1=>'(prod.extra_field_1 + 0)',
    2=>'name',
3=>'prod.product_price',
4=> $sortean

И получаю чушь полную... :(
« Последнее редактирование: 25.05.2017, 13:05:26 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #1 : 25.05.2017, 13:03:09 »
так если буквы разные, то их удаление хаос создаст ).
если буква - одна, то проще, наверно, заменить её на её код * 10000 и прибавить к нему (числовым сложением, а не строковым) остальную числовую часть.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #2 : 25.05.2017, 13:06:58 »
Буквы в каждой категории одни и те же. Например - куклы продаем - буква К. Бетон - буква Б. Ладно со способом - почему мой не работает?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #3 : 25.05.2017, 13:11:07 »
а, ну тогда проще.
но что вот это такое тогда?
Код
$sortean = 'product_ean';
$sortean = preg_replace("/[^0-9]/", '', $sortean);

ты в строке "product_ean" ищешь цифры, их там явно нет, даже близорукий я это вижу :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Настройка сортировки по артикулу
« Ответ #4 : 25.05.2017, 13:16:10 »
Цитировать
(prod.extra_field_1 + 0)
это не будет работать. это работает только если одни цифры. а буква всегда одна, и она всегда есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #5 : 25.05.2017, 13:26:12 »
dmitry_stas, этот характеристика, мы сейчас не про нее. Мы про product_ean

ты в строке "product_ean" ищешь цифры, их там явно нет, даже близорукий я это вижу :)

Ты видишь суслика?))) А он есть)
Мы сортируем не по этой строке, а по ее значению. Которое и соответствует артикулу.
« Последнее редактирование: 25.05.2017, 13:33:56 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #7 : 25.05.2017, 13:34:53 »
echo $sortean;
даст строку product_ean, а не значение переменно $product_ean
Воот я дуууура... счас
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #8 : 25.05.2017, 13:45:27 »
Нет, все равно не работает(

Антон, там через джумшоппинговские функции идет передача переменной, поэтому и получается непонятно что. В оригинале там

Код: php
$config->sorting_products_field_select = array(
    1=>'(prod.extra_field_1 + 0)',
    2=>'name',
    3=>'prod.product_price',
    4=>'product_ean'

и все работает
« Последнее редактирование: 25.05.2017, 13:49:36 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Настройка сортировки по артикулу
« Ответ #9 : 25.05.2017, 13:47:50 »
ну так... а что толку что-то делать с product_ean до запроса? :) вопрос прежний :) буква всегда одна, и она всегда есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #10 : 25.05.2017, 13:49:01 »
буква всегда одна, и она всегда есть?
Есть ли - будем исходить из ответа "Неизвестно заранее", буквы точно разные в разных категориях
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Настройка сортировки по артикулу
« Ответ #11 : 25.05.2017, 13:55:21 »
ну если неизвестно заранее, то попробуй

Код
4=>'LENGTH(product_ean),product_ean'
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #13 : 25.05.2017, 14:19:24 »
Дим, твое сработало. Это что за LENGHT такой? Рассказывай как пашет.

Антон, чем-то ты ее невкусным кормишь)

Спойлер
[свернуть]
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #15 : 25.05.2017, 14:40:56 »
А кто тебе сказал, что буква будет только одна?))
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Настройка сортировки по артикулу
« Ответ #16 : 25.05.2017, 15:09:34 »
Это что за LENGHT такой? Рассказывай как пашет.
количество символов в строке. указываем 2 сортировки, сначала сортируется по длине строки, затем по алфавиту.

тогда вот так может сработать, наверно )
Код
4=>'SUBSTR(product_ean, 2)'
да, если знать что буква 1, и она всегда есть :) тогда этот вариант лучше, немного быстрее будет. хотя конечно на 1К, или даже на 10К товаров это будет незаметно. только надо будет к числу все равно привести
Код
4=>'SUBSTR(product_ean, 2) + 0'
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #17 : 25.05.2017, 17:00:26 »
Круто... До двойной сортировки я бы не додумалась(

LENGHT это стандартная функция php? Что-то я ее не нашла в справочниках...

И еще - сначала я делала вот так

Код: php
4=>'preg_replace("/[^0-9]/", 'product_ean') + 0'

Почему не сработало?
« Последнее редактирование: 25.05.2017, 17:03:31 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #18 : 25.05.2017, 17:08:29 »
эта функция передает параметры для MySQL, так что сюда можно только для неё синтаксис писать. регулярок по дефолту MySQL не поддерживает.
так что гугли "MySQL LENGHT"
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #19 : 25.05.2017, 17:44:40 »
Дошло, пасиб)
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Настройка сортировки по артикулу
« Ответ #20 : 25.05.2017, 18:13:01 »
эта функция передает параметры для MySQL, так что сюда можно только для неё синтаксис писать. регулярок по дефолту MySQL не поддерживает.
угу угу. так и есть. можем только MySQL командами выкручиваться. которые как верно подмечено не знают что такое регулярки. хотя может оно и к лучшему :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройка вывода оптового каталога

Автор Rebarun

Ответов: 9
Просмотров: 2614
Последний ответ 31.05.2020, 18:01:14
от Rebarun
Настройка отображения поиска

Автор Remake

Ответов: 1
Просмотров: 1660
Последний ответ 30.07.2012, 12:48:22
от nevigen