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

fsv

  • Moderator
  • 2781
  • 411 / 2
На форуме VirtueMart сегодня опубликовали информацию о том, что в последней (на сегодня) версии программы (v.2.0.1) расширена группа шаблонов Product Details:

/components/com_virtuemart/views/productdetails/tmpl/

default_addtocart              The Add to Cart Form + Cart variant Custom Field
default_customfields           Custom Fields
default_images                  Main Image & Additional Images
default_manufacturer         Manufacturer Link
default_relatedcategories    Related Categories
default_relatedproducts      Related Products
default_reviews                 Reviews
default_showcategory        Child Category List
default_showprices            Prices Layout

Веб-разработка: заказ. Только новая разработка.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
и вообще все шаблоны в V2 лежат в /components/com_virtuemart/views/
в каждой подпапке view.html.php - подготовка данных для шаблона, /tmpl/defaul.php - сам шаблон
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
Не подскажите, стоит ли бояться, что при очередном обновлении шаблоны перепишутся на стандартные? Ведь в 1.1 магазине была отдельная папочка по каждый шаблон.
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Не подскажите, стоит ли бояться, что при очередном обновлении шаблоны перепишутся на стандартные? Ведь в 1.1 магазине была отдельная папочка по каждый шаблон.

Воспользуйтесь Template Override

Веб-разработка: заказ. Только новая разработка.
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
Я бы сказал отличное решение, давно пора было так сделать)
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
Не получается разнести шаблон вирта в папку с шаблоном Joomla.
Уточните пожалуйста структуру шаблона VirtueMart?
мой шаблон\html\com_virtuemart\productdetails\default.php - это верная структура?

и что надо настроить в самой VirtueMart?
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
so sorry :P . Все работает... шаблон по умолчанию другой стоял...
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
А для русскоговорящих опишите по-подробнее
*

wmag

  • Захожу иногда
  • 190
  • 9 / 5
  • Тут знаю, тут не знаю, пользуюсь напильником
Product_details - это все очень здорово, конечно.

А вот как назначить конкретный шаблон для категории товаров?

Дело в том, что функционально предусмотренною выпадающие меню с выбором шаблона для отображения товара данной категории в настройках самой категории.... НО... ННННОООО! нихрена там не отображаются переименованные копии готовых шаблонов. Т.е. создать то я смогу для каждой категории свои шаблоны, а вот прикрутить нет?

Или я что-то где то упускаю? подскажите пожалуйста!

VirtueMart 2.5.5 по дефолту можно выбрать лишь Notify, PDF, Default (все они лежат в папке: \components\com_virtuemart\views\productdetails\tmpl ) там вообще много чего лежит ещё.

Что делаю: Беру Default, копи-паст, переименовываю, правлю до нужного состояния. Но в меню админа новый файл не отображается. А мне надо как минимум 5 различных шаблонов для разных категорий товаров. Как прикрутить? (желательно что бы в админке можно было на лету выбирать разные шаблоны для разных категорий)
« Последнее редактирование: 27.07.2012, 02:26:50 от wmag »
*

wmag

  • Захожу иногда
  • 190
  • 9 / 5
  • Тут знаю, тут не знаю, пользуюсь напильником
*

glutton

  • Захожу иногда
  • 54
  • 0 / 0
Воспользуйтесь Template Override

Сделал как написано и потерялись значки "обновить" и "удалить" из корзины.


Joomla 2.5.7 + VM 2.0.12f
нужные картинки лежат - \templates\ja_purity_ii\images\vmgeneral

Копии шалонов лежат в:
\templates\ja_purity_ii\html\com_virtuemart\cart\default.php
\templates\ja_purity_ii\html\com_virtuemart\productdetails\default.php

Что я не так сделал?
*

glutton

  • Захожу иногда
  • 54
  • 0 / 0
Разобрался, сам на свой вопрос отвечаю. Вот такие изменения пришлось вносить в template.css:

Здесь была ошибка (не указан background почему-то, видимо - изначально косяк в шаблоне)
Код
.vm2-add_quantity_cart{background-position:0 0;width:24px;height:24px;border: 0px;cursor:pointer;}
.vm2-remove_from_cart{    background-position: 0 -212px; border: 0 none; cursor: pointer; display: inline-block; height: 24px; vertical-align: bottom; width: 24px;}

Вот так надо чтобы стало:
Код
.vm2-add_quantity_cart{ background: url("../images/vmgeneral/update_quantity_cart.png") no-repeat;width:24px;height:24px;border: 0px;cursor:pointer;}
.vm2-remove_from_cart{ background:url("../images/vmgeneral/remove_from_cart.png") no-repeat; border: 0 none; cursor: pointer; display: inline-block; height: 24px; vertical-align: bottom; width:24px;}
*

4el

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Я не понял как нужно перенести ксс из VirtueMart в шаблон Joomla... Скопировал файлы ксс в папку с ксс шаблона Joomla, отключаю ксс VirtueMart - не работает...


нужно добаить содержание шаблона VirtueMart в шаблон Joomla? или чё я не догоняю....
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
где лежат и как называются файлы с кратким описанием товара и сома карточка товара?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как скрыть описание категории VM в моб версии?

Автор Orfei

Ответов: 6
Просмотров: 1036
Последний ответ 30.04.2019, 01:16:38
от Orfei
Не работает анимация в мобильной версии

Автор viper_demyan

Ответов: 8
Просмотров: 2049
Последний ответ 07.10.2018, 00:30:26
от viper_demyan
Нужна помощь с настройкой плагина BIT VirtueMart Product Badges

Автор maks84zp

Ответов: 5
Просмотров: 3122
Последний ответ 21.01.2018, 14:43:09
от sheldom
Русификация Sorted product name

Автор КСС

Ответов: 3
Просмотров: 1393
Последний ответ 04.02.2017, 23:04:10
от КСС
Адаптация колонок. Проблема в моб версии

Автор ihos

Ответов: 7
Просмотров: 1549
Последний ответ 07.08.2016, 19:14:54
от legostaev