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

__romka_

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Сейчас у меня на странице обзора категории как и полагается, при нажатии на картинку товара - открывается увеличенная версия изображения.
В /templates/gk_bikestore/html/com_virtuemart/category/default.php
вот так:

Код
echo $product->images[0]->displayMediaThumb('class="browseProductImage" 
border="0" title="'.$product->product_name.'" ',true,'class="modal"');

Что мне сюда написать, чтобы это была просто ссылка на детальный просмотр товара?
« Последнее редактирование: 25.06.2013, 20:47:12 от __romka_ »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #1 : 23.06.2013, 13:58:14 »
Код
echo $product->link;
Не будь паразитом, сделай что-нибудь самостоятельно!
*

__romka_

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #2 : 23.06.2013, 20:31:40 »
я имел ввиду - картинка как ссылка в детальный вид товара )

сделал вот так:
Код
echo $product->images[0]->link;

совсем ничего не вывелось ((((
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #3 : 23.06.2013, 22:58:22 »
А чем
Код
echo $product->link;
не нравится?

P.S. Понял, вы даже ссылку не могли прописать к картинке.
Код
<a href="<?php echo $product->link; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
« Последнее редактирование: 23.06.2013, 23:03:52 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

testaross

  • Захожу иногда
  • 70
  • 1 / 0
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #4 : 24.06.2013, 01:29:29 »
Цитировать
/templates/стандартная тема/html/com_virtuemart/category/default.php
Что то у меня в папке html  нет папки com VirtueMart
*

__romka_

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #5 : 24.06.2013, 20:53:38 »
мне нужно, чтобы ссылка на картинке была ссылкой в детали товара
*

testaross

  • Захожу иногда
  • 70
  • 1 / 0
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #6 : 24.06.2013, 21:00:21 »
это называется слышу звон да не знаю где он.
Файл default.php, который нужно править, находиться в папке components/com_virtuemart/views/category/tmpl/default.php
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #7 : 24.06.2013, 22:08:46 »
мне нужно, чтобы ссылка на картинке была ссылкой в детали товара
А вот так
Код
<a href="<?php echo $product->link; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
куда она ведет?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

__romka_

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Ссылка на товар вместо displayMediaThumb
« Ответ #8 : 25.06.2013, 20:46:52 »
спасибо! Помогло )
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
RE: Ссылка на товар вместо displayMediaThumb
« Ответ #9 : 25.06.2013, 20:56:53 »
Наконец-то >:(
Не будь паразитом, сделай что-нибудь самостоятельно!
*

narishka

  • Новичок
  • 5
  • 0 / 0
RE: Ссылка на товар вместо displayMediaThumb
« Ответ #10 : 17.11.2014, 01:01:47 »
А вот так
Код
<a href="<?php echo $product->link; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
куда она ведет?
Подскажите, а можно сделать чтобы при наведении на название эта картинка всплывала в окошке (light box)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Решено: Валютный знак рубля в VirtueMart 2

Автор frostwar

Ответов: 10
Просмотров: 11535
Последний ответ 07.04.2020, 15:50:54
от liberator
При смене позиции модуля корзины, не добавляется товар

Автор Dolphin4ik_1

Ответов: 1
Просмотров: 950
Последний ответ 28.12.2018, 20:22:03
от fsv
[РЕШЕНО]Всплывашка после добавления в корзину

Автор lexxbry

Ответов: 9
Просмотров: 1413
Последний ответ 06.12.2018, 14:57:38
от lexxbry
[Решено] VirtueMart 2 Товаров в строке по умолчанию или Количество товаров в строке

Автор bhakta

Ответов: 2
Просмотров: 5311
Последний ответ 24.07.2018, 14:55:38
от Akeksandr
[Решено] Как настроить отображение миниатюр в карточке товара?

Автор Strelok760

Ответов: 1
Просмотров: 1634
Последний ответ 07.04.2018, 00:33:08
от Strelok760