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

8merka

  • Новичок
  • 8
  • 0 / 0
Не получается вывести цену в Title. Магазин на JoomShopping.

Сейчас такой код:
Код
$document->setTitle(''.$this->product->name.' '.$this->product->manufacturer_info->name.' по цене '.$this->product_price = (int) $this->product_price.' руб.' );

И отображается как: <title>СОЛЯРОГАЗ КО - 1,8 Мини ЗАО «САВО» по цене 0 руб.</title>

Проблема: цена отображается как "0" руб.
Кто-нибудь может подсказать как исправить скрипт вывода, чтобы цена отображалась корректно?
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #1 : 09.06.2020, 17:25:54 »
Код
$document->setTitle(''.$this->product->name.' '.$this->product->manufacturer_info->name.' по цене '.intval($this->product_price).' руб.' );
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

8merka

  • Новичок
  • 8
  • 0 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #2 : 09.06.2020, 17:47:24 »
Код
$document->setTitle(''.$this->product->name.' '.$this->product->manufacturer_info->name.' по цене '.intval($this->product_price).' руб.' );

Спасибо, но к сожалению по прежнему "о руб." выводится.
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #3 : 09.06.2020, 21:44:39 »
Спасибо, но к сожалению по прежнему "о руб." выводится.
Значит не ту переменную берете. Посмотрите вывод команды print_r($this->product); - скорее всего там должно быть $this->product->price, а не $this->product_price
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

8merka

  • Новичок
  • 8
  • 0 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #4 : 10.06.2020, 06:02:37 »
Инфо по комаде:


Код
default [product_url] => [product_old_price] => 0 [product_old_price_parsed] => 1 [product_buy_price] => 0.0000 [product_price] => 29499.000000 [min_price] => 29499.00 [different_prices] => 0 [product_weight] => 0.0000 [image] => 1-1.jpg [product_manufacturer_id] => 2 [product_is_add_price] => 0 [add_price_unit_id] => 3 [average_rating] => 0.00 [reviews_count] => 0 [delivery_times_id] => 0 [hits] => 424 [weight_volume_units] => 0.0000 [basic_price_unit_id] => 1

[/size]
Перепробовал все варианты с price и все равно нет результата. [/size]
*

8merka

  • Новичок
  • 8
  • 0 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #5 : 10.06.2020, 06:06:18 »
Значит не ту переменную берете. Посмотрите вывод команды print_r($this->product); - скорее всего там должно быть $this->product->price, а не $this->product_price

Разобрался так:
Код
$document->setTitle(''.$this->product->name.' '.$this->product->manufacturer_info->name.' по цене '.$this->product->product_price = (int) $this->product->product_price.' руб.' );

Sivers, огромное спасибо за помощь!
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #6 : 10.06.2020, 08:16:42 »
На здоровье
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sergeytolkachyov

  • Захожу иногда
  • 207
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #7 : 05.02.2023, 20:11:32 »
Есть готовый плагин SEO шаблонов для тайтлов и meta description для JoomShopping - WT SEO Meta templates https://web-tolk.ru/dev/joomla-plugins/wt-seo-meta-templates-joomshopping.html
Для работы потребуется 2 плагина: основной и плагин-провайдер. Настройки делаются в провайдере (информация по ссылке)
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #8 : 05.02.2023, 20:29:11 »
Есть готовый плагин SEO шаблонов для тайтлов и meta description для JoomShopping - WT SEO Meta templates https://web-tolk.ru/dev/joomla-plugins/wt-seo-meta-templates-joomshopping.html
Для работы потребуется 2 плагина: основной и плагин-провайдер. Настройки делаются в провайдере (информация по ссылке)
ручками рили проще
индивидуальная помощь: @SetAlexx
*

sergeytolkachyov

  • Захожу иногда
  • 207
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #9 : 05.02.2023, 21:40:43 »
ручками рили проще
Значит у Вас одна формула не все товары и нет мультиязычности как минимум
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #10 : 05.02.2023, 22:18:39 »
есть тотал прайс
а ленг тянется
индивидуальная помощь: @SetAlexx
*

sergeytolkachyov

  • Захожу иногда
  • 207
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #11 : 06.02.2023, 10:14:24 »
Для разных категорий товаров можно разные формулы. Для разных языков можно разные формулы. Для производителей свои формулы. Для пагинации товаров.
Вот, посмотрите, например обзор этого плагина Дмитрием Гончаровым

После этого видео вскоре добавил как раз специфичные формулы для товаров разных категорий.
Действительно ли это всё удобно в шаблоне прописывать? Шаблон-то один.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Как вывести цену в Title (Joomshopping)?
« Ответ #12 : 06.02.2023, 10:44:44 »
вижу доработан момент конкретно под категории
будем посмотреть
индивидуальная помощь: @SetAlexx
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35700
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 622
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1398
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2041
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1353
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav