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

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Joomla 1.5.22 + VM 1.1.8

Задача: вывести в закладке "Статистика" следующие данные:
  • Дочерних товаров на складе: XXX
  • Дочерних товаров на складе на сумму:XXX

В файле administrator/components/com_virtuemart/html/store.index.php

в 25-28 строках есть код вывода кол-ва Активных товаров, т.е которые Опубликованы:
Код
// Number of active products
$db->query('SELECT count(*) as num_rows FROM #__{vm}_product WHERE vendor_id='.$ps_vendor_id.' AND product_publish="Y"');
$db->next_record();
$active_products = $db->f('num_rows')? $db->f('num_rows') : 0;

Берем его за основу и следом размещаем следующее(исправлено!):
Код
// Дочерних товаров на скдаде:
$db->query('SELECT sum(#__{vm}_product.product_in_stock) as summa FROM #__{vm}_product
WHERE vendor_id='.$ps_vendor_id.' AND product_parent_id!="0"');
$db->next_record();
$allprice3_products = $db->f('summa');
Идет запрос кол-ва товара у которого наличие не равно 0. Результат запроса кладется в $allprice_products

Отлично, запрос в БД есть, теперь нада это вывести.

Ищем в этом же файле ~150 строки код, выводящий кол-во активных товаров:

Код
<tr>
 <td width="50%"><?php
 echo "<a href=\"".$_SERVER['PHP_SELF']."?option=com_virtuemart&page=product.product_list\">"
 .  $VM_LANG->_('PHPSHOP_STATISTIC_ACTIVE_PRODUCTS')?></a>:</td>
 <td width="50%"> <?php echo $active_products ?> </td>
</tr>

Копируем его следом, правим и получаем:

Код
<tr>
 <td width="50%">  
Всего товаров на складе:</td>
 <td width="50%"> <?php echo $allprice_products ?> </td>
</tr>

Все, общее кол-во товара на складе выводится в главной странице магазина(в админке) в закладке Статистика.

Далее необходимо вывести Товаров на складе на сумму:

Спасибо за решение beagler :
Решение суммирует все цены которые в наличие(без учета кол-ва наличия) (родительский + дочерний):

Код
$db->query('SELECT sum(#__{vm}_product_price.product_price) as summa FROM #__{vm}_product
LEFT JOIN #__{vm}_product_price ON #__{vm}_product.product_id = #__{vm}_product_price.product_id
WHERE vendor_id='.$ps_vendor_id.' AND product_in_stock!="0"');
$db->next_record();
$allprice2_products = $db->f('summa');

Забыл указать еще ТРИ загвоздки:

1. (если вы используете дочерние товары): VM позволяет не указывать цену для дочерних товаров, тогда она будет браться из родительского товара. Соответственно в таблице __{vm}_product_price записей цен будет меньше чем товара в наличии, сумма будет не полной.

2. Дочерний товар может быть на складе 1, 2 или 5, нужно еще умножать цены на product_in_stock.

3. Еще при использовании дочерних товаров и при включенной настройке VM "непоказывать товары которых нет на складе", необходимо указывать наличие на складе "1" для родительского товара, чтобы товар показывался в каталоге. Соответственно будет считаться лишний родительский товар. Это легко решается добавлением в WHERE  
Код
AND product_parent_id!="0";
т.е :
Код
WHERE vendor_id='.$ps_vendor_id.' AND product_in_stock!="0" AND product_parent_id!="0"');

Пункт 1 решается так:
Код
LEFT JOIN #__{vm}_product_price ON #__{vm}_product.product_[b]PARENT[/b]_id = #__{vm}_product_price.product_id
Пункт 2 решается так:

Код
$db->query('select Sum(C.product_price*P.product_in_stock) as summa from jos_vm_product P, jos_vm_product_price C
where P.product_parent_id=C.product_id AND product_in_stock!="0" AND product_parent_id!="0"');
« Последнее редактирование: 29.04.2011, 20:09:25 от beagler »
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
а в чем проблема?
Код
SELECT sum(#__{vm}_product_price.product_price) as summa FROM #__{vm}_product
LEFT JOIN #__{vm}_product_price ON #__{vm}_product.product_id = #__{vm}_product_price.product_id
WHERE vendor_id='.$ps_vendor_id.' AND product_in_stock!="0"
не проверял
*

Infosakh

  • Завсегдатай
  • 1257
  • 67 / 0
Не знаю будет ли проще или нет, вообщем есть уже готовый модуль mod_vmstats, показывает сколько товара имеется в магазине. Возможно его переделать будет проще чем новый создавать  ^-^
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Не знаю будет ли проще или нет, вообщем есть уже готовый модуль mod_vmstats, показывает сколько товара имеется в магазине. Возможно его переделать будет проще чем новый создавать  ^-^
Да, я его копал, но он выводит только кол-во активных товаров, которые опубликованы.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Кстати мое решение касательно "Товаров на складе" не учитывает реальное кол-во, нет проверки на кол-во product_in_stock:(
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
так считать sum(product_in_stock) вместо count(*)

Да, решил суммой.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Все решено!

Теперь первый пост содержит актуальные решения.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор kry

Ответов: 27
Просмотров: 9441
Последний ответ 23.04.2016, 00:18:32
от morda77
количество товаров на странице

Автор gazman

Ответов: 0
Просмотров: 3481
Последний ответ 03.03.2016, 21:50:39
от gazman
Объединение похожих товаров в карточке товара

Автор newjey

Ответов: 8
Просмотров: 1693
Последний ответ 09.10.2015, 14:39:31
от newjey
Неправильное сортировка по цене в категориях товаров

Автор Tobi_108

Ответов: 0
Просмотров: 1531
Последний ответ 06.08.2015, 16:29:26
от Tobi_108
Удаление большого пласта товаров по артикулу из админки (компонент модуль)

Автор holovla

Ответов: 0
Просмотров: 1622
Последний ответ 28.06.2015, 23:50:37
от holovla