Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Прошу помощи в этом вопросе. подскажите хоть что-нибудь...Заранее спасибо!
*

nevigen

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

baskak

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

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
артикл, направление, сторона, примечание, склад - характеристики товара
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
а что таблицей обязательно ?
сделайте через ДИВы обычные с флоат:лефт например. в wrapperе. и через ЦСС описывайте.
поищите примеры табличной верстки на дивах.
а если используете бутстрап то читайте по нему доку

П.С. только это отдельная тема к данной не имеющая НИКАКОГО отношения.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

baskak

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

nevigen

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

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Добрый день, гуру JoomShopping.
Вопрос поднимался, но не кто не ответил.
Подскажите пожалуйста как можно решить следующую задачу - мне нужно вставить значение определенной характеристики в ссылку.
Поясняю, мне нужно в характеристиках товара сделать ссылку на определенную картинку (размерная сетка), которая будет появляться во всплывающем окне. Таких картинок 5-6 штук, вот я и хотел вывести руками ссылку, а с помощью характеристики подставлять нужное имя картинки.
Пытался вписать ссылку в саму характеристику, но JoomShopping конечно презал все теги.
Как это можно реализовать?
 
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Добрый день, гуру JoomShopping.
Вопрос поднимался, но не кто не ответил.
Подскажите пожалуйста как можно решить следующую задачу - мне нужно вставить значение определенной характеристики в ссылку.
Поясняю, мне нужно в характеристиках товара сделать ссылку на определенную картинку (размерная сетка), которая будет появляться во всплывающем окне. Таких картинок 5-6 штук, вот я и хотел вывести руками ссылку, а с помощью характеристики подставлять нужное имя картинки.
Пытался вписать ссылку в саму характеристику, но JoomShopping конечно презал все теги.
Как это можно реализовать?
 

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

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Атрибутами пользоваться не могу, перестанет нормально работать компонент количества товаров.

https://ru.webdesigner-profi.de/joomla-webdesign/joomla-shop/forum/posts/26/12873.html?lang=ru
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Модуль это хорошо, но его проблематично будет выводить к нужным товарам, сетка везде разная. И плюс это надо товар заводить, потом переходить в модуль и обратно, оч не удобно.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
В смысле? Во всех товарах разная сетка? Может речь идет о размерной линейке каждого товара? Тогда для этого есть аттрибуты.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
В смысле? Во всех товарах разная сетка? Может речь идет о размерной линейке каждого товара? Тогда для этого есть аттрибуты.
Именно про размерную линей товаров, атрибутами пользоваться не могу выше написал.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Так Вы написали что работает
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Paladinrus

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Так Вы написали что работает
Где я такое написал?
Я написал что пользоваться атрибутами не могу! А на форме поддержки написал что все работает, так как не использую атрибуты.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Ну тогда ждите. Одно из двух, либо заработает, либо кто-то сделает за Вас характеристики ссылкой
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dss

  • Захожу иногда
  • 62
  • 0 / 0
Ситуация такая: ряд товаров находятся в нескольких категориях одновременно.
Созданы ряд характеристик для каждой категории.
В результате в каждом из этих товаров находятся несколько характеристик.
Вопрос: как настроить соответствие ID характеристики с ID категорией товара и в списке товаров и в самой карточке товара выводить только соответствующую категории характеристику.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Созданы ряд характеристик для каждой категории.

А характеристики привязаны к категориям?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

YuryNew

  • Новичок
  • 5
  • 0 / 0
Добрый день. Необходимо считать характеристику товара в списке товаров что бы зависимости от характеристики выводить иконку. Пробовал делать как описано в этой теме, но ничего не получается.
Строки файла \components\com_jshopping\lib\functions.php с функцией getProductExtraFieldForProduct($product)
Код
function getProductExtraFieldForProduct($product)
{
    $fields = JSFactory::getAllProductExtraField();
    $fieldvalues = JSFactory::getAllProductExtraFieldValue();
    $displayfields = JSFactory::getDisplayListProductExtraFieldForCategory($product->category_id);
    $rows = array();
    foreach ($displayfields as $field_id) {
        $field_name = "extra_field_" . $field_id;
        if ($fields[$field_id]->type == 0) {
            if ($product->$field_name != 0) {
                $listid = explode(',', $product->$field_name);
                $tmp = array();
                foreach ($listid as $extrafiledvalueid) {
                    $tmp[] = $fieldvalues[$extrafiledvalueid];
                }
                $extra_field_value = implode(", ", $tmp);
                $rows[$field_id] = array("name" => $fields[$field_id]->name, "description" => $fields[$field_id]->description, "value" => $extra_field_value);
            }
        } else {
            if ($product->$field_name != "") {
                $rows[$field_id] = array("name" => $fields[$field_id]->name, "description" => $fields[$field_id]->description, "value" => $product->$field_name);
            }
        }
    }
    return $rows;
}
В файл components/com_jshopping/templates/default/list_products/product.php вставляю код
Код
<?php
if (is_array($product->extra_field)) {
foreach ($product->extra_field as $extra_field) {
if ($extra_field['value'] == 'Зимний') {
echo '<img src="images/Winter.png" alt="Зимний" />';
echo 'OK';
}
if ($extra_field['value'] == 'Летний') {
echo '<img src="images/Summer.png" alt="Летний" />';
}
if ($extra_field['value'] == 'Всесезонный') {
echo '<img src="images/Allseasons.png" alt="Всесезонный" />';
}
}
}
?>
Но ничего не получается
В карточке товара вывожу иконку сл. кодом:
Код
<div class="seasons_images">
<?php
if (is_array($this->product->extra_field)) {
foreach ($this->product->extra_field as $extra_field) {
if ($extra_field['value'] == 'Зимний') {
echo '<img src="images/Winter.png" alt="Зимний" />';
}
if ($extra_field['value'] == 'Летний') {
echo '<img src="images/Summer.png" alt="Летний" />';
}
if ($extra_field['value'] == 'Всесезонный') {
echo '<img src="images/Allseasons.png" alt="Всесезонный" />';
}
}
}
?>
</div>
   
Подскажите, что изменить в коде для списка? Как можно вывести нужную иконку в списке товаров в зависимости от характеристики?   

*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Подскажите, что изменить в коде для списка?
А у Вас вывод этой характеристики указан в настройках? Выбрана эта характеристика поле "Показать характеристики" в списке?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

YuryNew

  • Новичок
  • 5
  • 0 / 0
А у Вас вывод этой характеристики указан в настройках? Выбрана эта характеристика поле "Показать характеристики" в списке?
Если вы про joomshopping-Настройки-Характеристики, то включено. В карточке товара я смог вывести иконку на изображение товара. А вот в списке не получается.
*

YuryNew

  • Новичок
  • 5
  • 0 / 0
А у Вас вывод этой характеристики указан в настройках? Выбрана эта характеристика поле "Показать характеристики" в списке?
Я понял про что вы сказали, включил для Списка. Помогло, спасибо за наводку.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор shop-user

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

Автор Napst3r

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

Автор geral

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

Автор IgorGeneralov

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

Автор goga_pgasovav

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