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

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Как можно реализовать вывод определённой, нужной характеристики отдельно от всех характеристик определённого товара?
Пример:
Есть характеристики:
Вес (г) (id характеристики - 10)
Шариковые подшипники (id характеристики - 11)
Роликовые подшипники (id характеристики - 12)
Емкость шпули (мм/м) (id характеристики - 13)
Передаточное число (id характеристики - 14)
Длина лески за оборот ручки (см) (id характеристики - 15)
Шпуль в комплекте (id характеристики - 16)

Вот нужно, что бы (например в категории (список товаров)) можно было сделать вывод характеристик с id 10-15, потом идёт какой-то текст, картинка, и после них имя характеристики с id 16 и значение характеристики с id 16

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в файле \components\com_jshopping\templates\default\product\product_default.php характеристики выводятся в цикле

Код
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>

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

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Так где они выводятся я знаю..., мне бы кусок кода, что б вывести именно характеристику с id 16 в нужном месте строки товара (в листинге товаров).... На данный момент у меня для каждой характеристики задано:
display: table-cell; mih-width: 65px; max-width: 150 px; vertica-align: middle; text-align: center; и т.д..., и они выводятся в ряд, почти таблица получается, но не очень красиво..., вот если б для каждой характеристики можно было свой стиль задать...
« Последнее редактирование: 13.06.2013, 04:16:14 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в общем.  в списке товаров отсутсвует id для характеристик. чтобы он появился - надо поправить файл \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product)
в частности, в строке
Код
$rows[] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
добавить "id"=>$field_id

или  так можно
Код
$rows[$field_id] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);

, но тогда при переборе надо будет foreach($product->extra_field as $id=>$extra_field) и выводить $id
« Последнее редактирование: 13.06.2013, 20:17:28 от nevigen »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Ну наконец-то... Спасибо огромное...
Вот что вставил в components/com_jshopping/lib/functions.php строка 760
Код
$rows[] = array("id"=>$fields[$field_id]->id, "name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
            }
        }else{
            if ($product->$field_name!=""){
                $rows[] = array("id"=>$fields[$field_id]->id, "name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$product->$field_name);

В components/com_jshopping/templates/default/list_products/product.php вставил со строки 12:
Код
<?php if (is_array($product->extra_field)){?>
            <div style="display: inline-block; vertical-align: top;">
            <?php foreach($product->extra_field as $extra_field){?>
<div style="display: inline-block;" class="charact<?php print $extra_field['id']; ?>"><?php print $extra_field['value']; ?></div>
            <?php }?>
            </div>
        <?php }?>

Ещё раз спасибо за помощь.
Здесь всё есть... просто нужно поискать немного... ;)
*

Jsc

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте. Не подскажете как именно в карточке товара вывести характеристики не все сразу, а частями в разных местах?
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
В карточке товара, если воспользоваться вышеприведённым примером, можно организовать вывод характеристик описывая каждую(или только необходимую) характеристику в файле стилей шаблона.
Например:
Открываем файл по пути: корень сайта/components/com_jshopping/templates/default/product/product_default.php
Строка примерно 194:
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
        </div>
меняем на:
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div class="character<?php print $extra_field['id'];?>"><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
        </div>
Соответственно после этих манипуляций мы получим для каждой характеристики свой div с классом character(id характеристики).
Т.е. если у нас есть характеристика с id=16 (например кол-во запасных болтов),  то мы получим в коде страницы div class="character16". Соответственно характеристика "кол-во запасных болтов" будет выводиться у нас в диве с классом "character16".
Пишем оформление для этой характеристики в CSS файле шаблона. Например:
Код
div.character16 {
dispaly: block или как нужно;
position: relative или absolute, или вообще не пишем, в зависимости от наших нужд;
width: сколько нужно;
height: сколько нужно;
left: ставим где нужно;
top: ставим где нужно;
и т.д.
и т.п.
}

Надеюсь не сильно путанно объяснил?
« Последнее редактирование: 24.06.2013, 03:19:15 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
в общем.  в списке товаров отсутсвует id для характеристик. чтобы он появился - надо поправить файл \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product)
в частности, в строке
Код
$rows[] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
добавить "id"=>$field_id

А чтобы в карточке товара к характеристике по id обратиться эта правка нужна?
*

dmitry_stas

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

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Немного не верно сформулировал вопрос. Почему в карточке товара можно обратиться по id, а из списка товара нельзя? Вопрос не в идеологии, а в технической реализации. Для списка товаров массив параметров передаётся из функции \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product). А в карточку товара откуда?
*

dmitry_stas

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

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Спасибо! Уже не первый раз встречаю эту сомнительную "фишку", что в список товаров, категорий, производителей передаётся ограниченный набор параметров и приходится по живому править "костыли", чтобы те же возможности были доступны и в списке товаров. Вот реально не понимаю, нафига всё было так усложнять, фактически дублируя полноценный код в "кастратный"? Из одного места чем было бы хуже забирать одинаковый набор параметров?

ЗЫ. А вот ещё вижу, что и группы характеристик в список товаров тоже не передаются... значит ещё одни костыли вставлять придётся.
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
сделано это для оптимизации. Вы посмотрите print_r что вообще получается и поймете что если для одного товара это еще терпимо, то  когда у вас список из 50 товаров на странице то "лишних" данных получается уже много.
Бложик про joomla, k2, joomshoppingdevul.ru
*

denjer

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
так а каким тогда образом вывести в списке товаров только определенные характеристики по id? прочел тему так и не понял, знаний php уже наверно не хватает.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так а каким тогда образом...
тогда - это когда? у вас какой то особый случай, отличный от описанного тут решения? если нет - то таким образом, как тут описано, и вывести

прочел тему так и не понял, знаний php уже наверно не хватает
скорее правильно будет "знаний php еще наверно не хватает". :) чтобы это недоразумение исправить, заваривайте кофе/чай, усаживайтесь поудобнее и читайте тему еще столько раз, сколько потребуется чтобы понять. потому что добавить к сказанному как бы особо нечего, все и так вроде, что надо сделать, написано. дальше - только взять и сделать
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
В JoomShopping 4.x.x вышеописанный вариант тоже работает..., но номера строк немного другие...
« Последнее редактирование: 11.04.2014, 02:27:19 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
вставить ---> if ($extra_field["id"] != ID нужной хар-ки ) continue;
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
</div>
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Grikhno

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Подскажите пожалуйста как можно решить следующую задачу - мне нужно вставить значение определенной характеристики в ссылку. Чтобы в открывающемся по нажатию этой ссылки калькуляторе, сразу было задано нужное значение.  !
*

3gger

  • Новичок
  • 1
  • 0 / 0
Как реализовать в JoomShoping такое: при выборе определенного чекбокса выводится дополнительные атрибуты. Как здесь, т.е. включен по умолчанию "на подрамнике", а при выборе "выбрать багет" появляется виды багета и добавляется стоимость

« Последнее редактирование: 04.07.2014, 12:43:09 от 3gger »
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
поправьте пжлст свой пост в соответствии с правилами форума.
прочитайте внимательно требования к картинкам.
иначе просто удалю пост.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

damm88

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Подскажите, пожалуйста, почему у меня в списке товаров выводятся только первые 3 характеристики ? Нигде не вижу числа 3.. в карточке товара выводятся все характеристики.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
/administrator/index.php?option=com_jshopping&controller=config&task=catprod - какие отмечены в блоке списка товаров, такие и выводятся
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

damm88

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Спасибо огромное ! Извиняюсь за флуд. Но работают ли сообщения на форуме ? я хотел написать по доработкам, пишу письмо, а в исходящих оно не отображается.
« Последнее редактирование: 21.08.2014, 13:31:23 от damm88 »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Когда пишете письмо там есть галочка "Сохранять в исходящих" Если не поставили, то в исходящих оно не сохраняется. Я сам не понимаю почему так сделано.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Доброго дня!

У меня на главной выводится список товаров, и хотелось бы там под картинками выводить 2-3 основные характеристики. Как я понимаю, то что здесь описано мне как раз поможет?
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com

У меня на главной выводится список товаров, и хотелось бы там под картинками выводить 2-3 основные характеристики. Как я понимаю, то что здесь описано мне как раз поможет?
в настройках задать хар-ки которые выводятся в категории.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Доброго времени суток. Форумчане, подскажите как мне сделать вывод характеристик в таблицу. Т.е есть таблица где 4 столбца основные, а 6 столбцов характеристики. Дело в том что, если для товара нет характеристики, то он не выводит ячейку таблицы и таблица становится не пойми на что похожа. Что делать?
*

dmitry_stas

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

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0

   
   
 
            <?php foreach($product->extra_field as $extra_field){?>
                <td><?php print_r( $extra_field['value'])?></td>
            <?php }?>
*

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
изменения провожу в файле public_html\components\com_jshopping\templates\default3\list_products\product.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Характеристики товара без всплывающей формы

Автор shop-user

Ответов: 2
Просмотров: 812
Последний ответ 04.04.2025, 21:40:09
от victorantoniak
Вывести описание атрибута

Автор Napst3r

Ответов: 2
Просмотров: 988
Последний ответ 31.07.2024, 12:24:00
от Napst3r
Автоматическая генерация Кода товара

Автор geral

Ответов: 4
Просмотров: 2094
Последний ответ 17.03.2023, 13:21:43
от geral
Получить и вывести Статус заказов списком

Автор IgorGeneralov

Ответов: 5
Просмотров: 2332
Последний ответ 25.01.2023, 23:04:05
от IgorGeneralov
Проверить, есть ли у товара хоть одна из характеристик. Как?

Автор goga_pgasovav

Ответов: 8
Просмотров: 2360
Последний ответ 09.01.2023, 14:47:41
от sivers