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

Sneg-nsk

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Если вопрос уже обсуждался, перенаправьте, пожалуйста.

Как пример карточка товара: http://dashyko.com/shop/product/view/5/86

Рейтинг работает, количество отзывов фиксируется.
А вот ссылка "Оставить отзыв" перекидывает на Главную.
Как можно сделать якорь, чтобы он при нажатии перекидывал по странице вниз и во вторую вкладку на форму написания отзыва?
Мои попытки сделать якорь в файле карточки товара (.php)  были неудачны.
Видимо, в другом каком-то файле это нужно делать?

На данный момент, если эта кнопка будет работать некорректно, придется удалить ее вовсе...
*

dmitry_stas

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

Biss

  • Давно я тут
  • 995
  • 101 / 0
/templates/vina_fashion_ii/html/com_jshopping/product/product_default.php
заменить
Код
<?php print count($this->reviews).' '.JText::_('VINA_REVIEWS').' / <a href="">'.JText::_('VINA_WRITE_A_REVIEW').'</a>'; ?>
на
Код
<?php print count($this->reviews).' '.JText::_('VINA_REVIEWS').' / <a href="#vinaTab">'.JText::_('VINA_WRITE_A_REVIEW').'</a>'; ?>

разница в <a href="#vinaTab">

а чтоб попадало сразу на отзывы нужны еще изменения, вкладку отзывы надо сделать active и прописать соответственно

<a href="#vina-reviews">
*

Sneg-nsk

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Спасибо огромное! Теперь переносит вниз - на вкладки.
А можно поподробнее об этом:
а чтоб попадало сразу на отзывы нужны еще изменения, вкладку отзывы надо сделать active и прописать соответственно

<a href="#vina-reviews">


Нужно, чтобы Описание было открыто по умолчанию. А вкладка Отзывы открывалась по клику на нее, либо на строчку Оставить отзыв.
Если сделать active вкладку Отзывы - будет неправильно.
Контент описания все равно открывается на вкладке Отзывы.
Тут какой-то другой должен быть вариант, мне кажется.

Или я вас не поняла((
« Последнее редактирование: 10.07.2016, 19:18:57 от Sneg-nsk »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
чтобы вкладка стала активной, надо сымитировать программно клик мыши на ней (в данном случае на <a data-toggle="tab" href="#vina-reviews">ОТЗЫВЫ</a>). почитайте, какой код javascript нужен чтобы вызвать событие click для элемента, и разместите в onclick вашей фейковой ссылки "Оставить отзыв" этот код
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Sneg-nsk

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Мысль поняла, но с Java совсем не знакома. Боюсь, мне не удастся самостоятельно это сделать....
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35716
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 4378
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Видео с Youtube вместо картинки на карточке товара

Автор ksena

Ответов: 35
Просмотров: 10216
Последний ответ 08.10.2024, 04:26:36
от kit2m2
Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 1336
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Убрать модуль в карточке товара JoomShopping

Автор alexkraym

Ответов: 35
Просмотров: 5780
Последний ответ 21.08.2023, 07:17:53
от delchev