Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#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 Гость просматривают эту тему.
  • 0 Ответов
  • 2338 Просмотров
*

ColorAnt

  • Новичок
  • 9
  • 0 / 0
Хочу предложить свой вариант оптимизации выполнения рутинной операции и обсудить варианты улучшения пердложенной реализации.

Задача:
Одна из категорий представляет собой товары, которые допускают продажу кусками произвольной длины, пусть это будет ткань на шторы.
Цена товара рассчитывается как длина куска на стоимость метра.
При этом хотим чтобы покупатель имел возможность заказывать несколько одинаковых кусков или даже кусков разной длины.
Упростим задачу, разрешив заказывать только куски длиной из некоторого набора длин (3, 4, 5, ..., 10 метров)

Как я это реализовал в VirtueMart:
В каталоге есть категория "Тюль".
Выставлены образцы товара.
Для каждого товара указана стоимость метра ткани.
У каждого товара есть свойство "Ширина", которое устанавливает цену за данный кусок, заданной длины.

Проблема:
Нужно для всех товаров установить вручную свойства, да еще постоянно просчитывать стоимость, так как у разных товаров разная цена за метр.

Решение:
Немного теории
Список товаров хранится в jos_vm_product
Свойства хранятся в jos_vm_product.attribute
Кодируются как:
<Title>,<Имя особенности>[<действие с ценой "+" или "="><цена>]

Список свойств разделяется ";"
Внутри поля разделяются "," без пробела после нее.
первое поле - имя свойства
остальные список особенностей
список особенностей состоит из имени особенности и действия с ценой ("+" или "=") указанного в квадратных скобках сразу после имени особенности, без пробела, за знаком "+" или "=" идет значение особенности


Пример (два свойства, по несколько особенностей у каждого):
Код
Варианты размеров  (высота),2.30 метра[+100],2.35 метра[=200],2.40 метра,2.45 метра,2.50 метра,2.55 метра,2.60 метра,2.65 метра,2.70 метра;Ширина,3 метра[=240],4 метра[=320],5 метров[=400]

Принадлежность товара к определенной категории указывается в таблице jos_vm_product_category_xref

Цена товара хранится в таблице product_price

Для того, чтобы не вносить все свойства к каждому товару вручную пишем скрипт MySQL.

Код
UPDATE `jos_vm_product`
SET `ship_code_id` = (SELECT `product_price` FROM `jos_vm_product_price` WHERE `product_id` = `jos_vm_product`.`product_id`)
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

UPDATE `jos_vm_product`
SET `attribute` = CONCAT('Ширина,3 метра[=', 3 * `ship_code_id`, '],4 метра[=', 4 * `ship_code_id`, ']')
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

UPDATE `jos_vm_product`
SET `ship_code_id` = NULL
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

Примечания:
У меня jos_vm_product.ship_code_id не востребовано, поэтому использовал его в качестве промежуточного поля для хранения цены.
Для каждого товара будет сформировано свойство для которого цена за особенность будет зависеть от ширины заказываемог куска.

Хочется услышать критику по упрощению скрипта.
Возможно ли избавиться от использования промежуточного поля?

« Последнее редактирование: 19.04.2011, 18:39:05 от ColorAnt »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] "Цена от:" на странице категорий

Автор kry

Ответов: 27
Просмотров: 9448
Последний ответ 23.04.2016, 00:18:32
от morda77
[решено] Как вывести цену за количество товара на странице категории (browse_x.php)

Автор mark1

Ответов: 3
Просмотров: 3952
Последний ответ 13.06.2015, 16:22:24
от davudo
Автоматическое добавление артикула в VirtueMart

Автор TenderWinner

Ответов: 37
Просмотров: 24288
Последний ответ 27.01.2015, 20:38:16
от bgg87
Дополнительные фото товара в списке категории

Автор newjey

Ответов: 0
Просмотров: 1501
Последний ответ 11.07.2014, 12:27:52
от newjey
Добавление параметров атрибута

Автор Afelua

Ответов: 1
Просмотров: 1416
Последний ответ 28.11.2013, 16:30:10
от fsv