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

Luchik

  • Захожу иногда
  • 57
  • 6 / 0
Вот у вас при выборе пункта "последние добавленные товары" выводятся товары, которые недавно добавлены в магазин и похоже выводяться по дате mdate.
Но в базе есть еще колонка cdate - время когда поставили галочку "опубликовать".
Можно ли сделать пункт "последние опубликованные товары", где товары выводяться по cdate?

P.S. я может перепутал mdate и cdate. Сильно не бейте.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
P.S. я может перепутал mdate и cdate. Сильно не бейте.
Цитировать
cdate
    The Product's Creation Date (UNIX Timestamp)
mdate
    The Product's last Modification Date (UNIX Timestamp)
Так написано в документации

Но у меня опция вывода последних сортирует по ID (в принципе тоже самое что и дата добавления товара)
Даты публикации вроде бы нет вообще, но если вдруг надо изменить сортировку по нужному полю - открываем хелпер модуля, находим и модифицируем кусок
Код: php
case '1';
        $ordering .= ' p.product_id DESC ';
break;
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Подскажите пожалуйста, как добавить кнопку купить к товару?

И сделать так, что бы цена бралась из флайпейджа категории?
Это необходимо, так как у меня в базе все товары забиты в долларах, но стоит хак, обеспечивающий мультивалютность, с перерасчетом курсов и цена выводится уже в гривне, с заданным курсом перерасчета.
А Ваш модуль выводит валюту по умолчанию.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
кнопку купить - скопировать код из flypage или другого файла, что генерит кнопку. Чтобы работыли JS эффекты AJAX добавления товара - необходимо глубже изучить структуру работы кода и модернизировать. Для модуля такой задачи не ставилось и не планируется
Аналогично и с хаком, цена берется из таблицы товаров.
При желании можно в выборку добавить параметр курса и на лету пересчитывать. Но опять же - данную модификацию я не закладываю в разработку
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Пробую вставлять <?php echo $form_addtocart ?> но не работает, вставлял в файл default.php.
Если не тяжело, опишите процедуру, что сделать, что бы заработало. У меня отключена корзина на Аяксе, так как она выдает ошибки в ИЕ6 версии.

И как вывести цену что бы с курса магазина, та которая во флайпейдже, аналогично: <?php echo $product_price ?> отказывается показывать.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Вот все что касается кнопки добавления в корзину в этом файле:

/* ADD-TO-CART */
$tpl->set( 'manufacturer_id', $manufacturer_id );
$tpl->set( 'flypage', $flypage );
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
$addtocart = $tpl->fetch('product_details/includes/addtocart_form.tpl.php' );

$tpl->set( "addtocart", $addtocart );

Но вот что дальше с этим делать, и как это подключить в helper.php модуля я пока не знаю, подскажите на одном примере, и все станет более менее ясно, так и цену потом можно будет сформировать.
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
не суждено мне помощи допроситься)
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
попробуй
Код
$tpl = vmTemplate::getInstance();
/* ADD-TO-CART */
$tpl->set( 'manufacturer_id', $manufacturer_id );
$tpl->set( 'flypage', $flypage );
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
echo $tpl->fetch('product_details/includes/addtocart_form.tpl.php' );
не проверял
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Пишет от такое, может что не так делаю, поправьте.

Fatal error: Call to a member function list_attribute() on a non-object in Z:\home\localhost\www\mag\components\com_virtuemart\themes\default\templates\product_details\includes\addtocart_form.tpl.php on line 10
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
добавь перед предыдущем кодом
Код
require_once(CLASSPATH . 'ps_product_attribute.php' );
$ps_product_category = new ps_product_category;

и попрбовать убрать
Код
$tpl->set( 'manufacturer_id', $manufacturer_id );
$tpl->set( 'flypage', $flypage );
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Я добавляю следующий код:

 require_once(CLASSPATH . 'ps_product_attribute.php' );
                $ps_product_category = new ps_product_category;
                $tpl = vmTemplate::getInstance();
/* ADD-TO-CART */
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
echo $tpl->fetch('product_details/includes/addtocart_form.tpl.php' );

после

$ItemidCustom    = $params->get( 'checkItemidCustom' );


в файле helper.php

а в файл default.php вставляю такую строчку:

<?php echo $form_addtocart ?>

Все ли верно я делаю, если да, то ошибка неизменно выскакивает:

Fatal error: Call to a member function list_attribute() on a non-object in Z:\home\localhost\www\mag\components\com_virtuemart\themes\default\templates\product_details\includes\addtocart_form.tpl.php on line 10

В чем ошибка может быть?
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
нужно добавлять перед $i++; (142 строка)
вот так
Код
require_once(CLASSPATH . 'ps_product_attribute.php' );
                $ps_product_category = new ps_product_category;
                $tpl = vmTemplate::getInstance();
/* ADD-TO-CART */
$tpl->set( 'product_id', $row->pid; );
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
$lists[$i]->form_addtocart = $tpl->fetch('product_details/includes/addtocart_form.tpl.php' );
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Пробую подключать этот участок кода но вываливается ошибками, высылаю Вам оригинальный код файла helper.php если можете то запишите этот код в нужное место, что бы ошибки не выбивало.
Заранее благодарен.

[вложение удалено Администратором]
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Спасибо за модуль! :)

А можно ли отображать товары текущей категории?

И цены он показываеть в эквиваленте в долларах, хотя в VirtuеMart я указала рубли. Где это можно поправить?
« Последнее редактирование: 01.10.2009, 12:27:58 от cherry »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А можно ли отображать товары текущей категории?
Сам по себе нет, нужно немного модифицировать, заменив в SQL запросе хелпера идентификацию не по ID категорий из настроек, а получать текущее значение
И цены он показываеть в эквиваленте в долларах, хотя в VirtuеMart я указала рубли. Где это можно поправить?
Валюту модуль берет из поля product_currency таблицы товаров, можете зайти в файл шаблона default.php и заменить <?php echo $item->currency; ?> на нужный параметр
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Спасибо, попробую.. А не подскажите, где можна посмотреть схему структуру таблиц (со связями ключами полями и тд) по VM?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А не подскажите, где можна посмотреть схему структуру таблиц (со связями ключами полями и тд) по VM?
а вот это хороший вопрос :) нормальной блок схемы я не видел и сам ее не строил
Единственно что у меня есть - документация для разработчика VirtueMart Developer Manual
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Спасибо за мануал!  ::)
Только некоторые статьи там пустые :) у разработчиков, наверное, не было времени полностью документировать свой продукт  ;)


я так поняла это идентификатор категории, который в админке указывается
Код
$ids = explode( ',', $category_id );

Подскажите пожалуйста как определить id текущей категории, чтоб в выборку по товарам подставить?

Для навигации по категориям использую модуль mod_product_categories
« Последнее редактирование: 02.10.2009, 18:08:18 от cherry »
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Код
$category_id = vmGet($_REQUEST, "category_id", null);
но этот код может не заработать. Тогда -
Код
$category_id =JRequest::getString('category_id')
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
получилось!  :-*

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

А еще вопросик, как мне в шаблон default.php  из helper.php передать $selecttype, чтоб в зависимости от его значения я могла выводить товар либо в табличном либо в дивном виде?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А еще вопросик, как мне в шаблон default.php  из helper.php передать $selecttype, чтоб в зависимости от его значения я могла выводить товар либо в табличном либо в дивном виде?
в хелпер добавляете новый элемент массива $lists
Код: php
$lists[$i]->price 		= $selecttype;
И дальше в шаблоне модуля оперируете внутри цикла foreach
Код: php
<?php echo $item->pname; ?>
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
да я вначале так и думала.. а потом решила чего плодить одно и тоже значение в масиве, может можно передать как переменную..

ну это не принципиально можно и массивом :)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
ну это не принципиально можно и массивом :)
так массив то один, $lists, мы просто в него добавляем новый элемент и все (которого там раньше не было, потому дублирования нет)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Спасибо! все получилось! :)

теперь хочу на странице реализовать возможность выбора кол-ва отображаемого товара на одной странице (кпримеру: 20 / 40 / 60), и постраничную навигацию соответственно..

т.е. это в default.php я добавлю <form>.. </form>, в которой опишу необходимые опции, затем методом пост передам кол-во товаров на странице.. а каким образом сформировать в action правильную строку ? т.е. чтоб вернуться на текущую страницу, чтобы потом в хелпере, я приняла пост-параметры..
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Стандартную постраничную навигацию можно использовать только в компонентах
В модуле только AJAX либо просто на JS листать заранее подгруженную таблицу
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Стандартную постраничную навигацию можно использовать только в компонентах
т.е. в данном случае у меня такого не выйдет  :( а это еще и сортировку  могут захотеть то по цене то по наименованию...

В модуле только AJAX либо просто на JS листать заранее подгруженную таблицу
а есть примерчик скрипта?

или лучше использовать компоненту, для отображения каталога? хотя вашим модулем мне действительно легко пользоваться и более менее все понятно.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
а есть примерчик скрипта?
На jquery множество скриптов, подборка к примеру тут http://anton.shevchuk.name/javascript/jquery-datagrid-plugins/
В работе на одном из сайтов пример тут
Встроить подобный скрипт максимально просто даже для модуля. Если у вас подгружается не 1000 записей, то в пределах 20-500 отработка скрипта не должна быть заметна для пользователя.
Там можно встроить и постраничную навигацию, и текстовый поиск по любому (либо по всем) полям.
Либо же если записей много - смотреть в сторону datagrid, но с использованием AJAX подгрузки данных при запросе, это намного сложней в реализации
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

cherry

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
УХТЫ! Cпасибо большое!  :-*

Jquery более чем подойдет!  ::) Буду разбираться  ::)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 13
Просмотров: 11750
Последний ответ 19.08.2025, 09:55:52
от AgentSmith
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1815
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
mod VirtueMart featureprod редактирование

Автор vsokol

Ответов: 1
Просмотров: 1863
Последний ответ 10.04.2015, 08:07:41
от vsokol
Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 12432
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 29112
Последний ответ 19.02.2015, 22:02:14
от kordima