Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 724 Ответов
  • 72398 Просмотров
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Обсуждение стабильной версии начинается с этого поста, все что выше - обсуждение бета версий.

Закончил работу над фильтром товаров по настраиваемым полям.
Для этого написал свой плагин настраиваемого поля для VM2 с мультивыбором и модуль для поиска (фильтр) с необходимым количеством настроек и шаблонов вывода.

Последняя версия:2.0.6
Официальный сайт (покупка): http://myext.eu/
Демо (фильтр слева): http://myext.eu/demo/

Update: J!2.5 + VM 2.0.4

== Особенности ==
 * основное отличие от редких аналогов в том, что не используется промежуточный компонент, а работает средствами VirtueMart 2 и системы плагинов настраиваемых полей
 * Плагин настраиваемого поля для VM2 с возможностью выбора для товара нескольких значений из выпадающего списка (multiselect)
 * Модуль вывода дополнительных полей
 * Поиск по настраиваемым полям плагина (checkbox, select, radio). Шаблон привязывается к каждому полю и может быть переопределен в модуле
 * AJAX обновление модуля при изменении параметров
 * AJAX обновление списка товаров при изменении параметров
 * полноценная работа со связными списками: поле связывается с другим полем (или его значением) и отображается только если было выбрано связное поле
 * Подсчет количества соотнесенных параметру товаров в модуле в зависимости от уже выбранных парметров
 * Поиск по категориям (checkbox, select)
 * Поиск по производителю (checkbox, select, radio)
 * Поиск по цене (input)
 * Добавление/удаление/изменение значений по-умолчанию через удобный интерфейс на js с функцией сортировки
 * Выбор метода передачи данных (get/post)
 * Автоматическое определение выводимых для поиска полей относительно товаров открытой категории
 * Изменение выборки пересечения данных (AND/OR) разных значений одного поля
 * Оповещение об обновлении
 * Результат: Самый долгий запрос: поиск по 5 параметрам со всеми отмеченными вариантами, с учетом поиска по категориям, производителю и цене на 1000 товаров занимает ~0.09 сек на хостинге за 44 руб/мес. Дальнейшая навигация с результатами кешируется и запрос занимает ~0.007 cек.
« Последнее редактирование: 20.12.2013, 11:09:28 от pharaoh »
*

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Идея очень даже неплохая, скачал, установил, вроде заработало. Почти то, что искал, остальное допилю. Спасибо за плагин!
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Milbo (Virtuemart Projectleader Administrator)
Цитировать
Hmm, I cant add your second idea, because we changed it meanwhile, please adjust it to the new version 2.0.3 latest. Sounds interesting, no question. But maybe not needed anylonger (just not completly in that part of code).
http://forum.virtuemart.net/index.php?topic=100562.0

Пока ждем версию 2.0.3, а там посмотрим.
*

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Уважаемый разработчик! такой вопрос: нельзя ли сделать, чтоб каждый элемент был как-то обособлен для CSS? например вместо
Код
<div>|35|37|39|</div>
выводилось
Код
<div>
<span>35</span>
<span>37</span>
<span>39</span>
</div>
и если несколько родителей, чтобы каждому задавался свой класс? например вместо
Код
<div class="product-field product-field-type-E">
<div>
<div class="product-fields-title">Размерный ряд</div>
<div>|35|37|39|</div>
</div>
<span class="product-field-desc"></span>
</div>
<div class="product-field product-field-type-E">
<div>
<div class="product-fields-title">Цветовая гамма</div>
<div>|бежевый|черный|коричневый|</div>
</div>
<span class="product-field-desc"></span>
</div>
выводилось
Код
<div class="product-field product-field-type-E">
<div class="group1">
<div class="product-fields-title">Размерный ряд</div>
<div>|35|37|39|</div>
</div>
<span class="product-field-desc"></span>
</div>
<div class="product-field product-field-type-E">
<div class="group2">
<div class="product-fields-title">Цветовая гамма</div>
<div>|бежевый|черный|коричневый|</div>
</div>
<span class="product-field-desc"></span>
</div>
а то что-то у меня не очень получается). Буду премного благодарен и, думаю, для многих это будет полезно. Спасибо.
*

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
ну все, вроде сам разобрался. Еще раз спасибо за очень нужное решение.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Формат вывода на страничке товара не настраивал. Обязательно сделаю в след версии. Предварительно жду VM 2.0.3, чтобы понять, не будет ли мой вариант лишен смысла. Есть еще много идей, которые хочется внести.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Просьба комментировать/спрашивать/предлагать.

"как сделать, чтобы показывались выбранные чекбоксы после фильтрации"
File: modules\mod_virtuemart_param_filter\tmpl\default.php
Line: 23
Было
Код
foreach($custom_params['value_def'] as $v){
echo '<label class="filter" ><input type="checkbox" name="custom_value['.$type->virtuemart_custom_id.'][]" value="'.$v.'" />'.$v.'</label><br/>';
}
Стало:
Код
$custom_value = JRequest::getVar('custom_value');
foreach($custom_params['value_def'] as $v){
$checked = isset($custom_value[$type->virtuemart_custom_id]) && in_array($v,$custom_value[$type->virtuemart_custom_id])? ' checked="checked"' : '';
echo '<label class="filter" ><input type="checkbox" name="custom_value['.$type->virtuemart_custom_id.'][]" value="'.$v.'"'.$checked.' />'.$v.'</label><br/>';
}
« Последнее редактирование: 06.04.2012, 19:36:48 от pharaoh »
*

koskanalya

  • Захожу иногда
  • 62
  • 0 / 0
а как реализовать подобный фильтр http://www.shuba5.ru/shop
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
В плагине/модуле есть мои контактные данные. Напиши на почту. Отвечу.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
На демо сайте (из шапки) опубликована статья об истории версий и планах разработки. Также показана работа версии 0.2 (версию в паблик пока не выкладываю, если что, пишите в почту).
« Последнее редактирование: 12.04.2012, 13:36:43 от pharaoh »
*

masik_

  • Осваиваюсь на форуме
  • 42
  • 3 / 0
классная штукенция, автору респект
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Я на демо сайте попытался отфильтровать по цене,то не получилось(А без цены нашел товар с нужными типами.А Размер и цвет одежды-- это тип товара?Или это уже другие критерии фильтрации?И как насчет добавить категории и мануфактуры?Получиться мега поиск)))Спасибо за хорошие решение))Ждемс новых фич))Уже вирт 2.0.6. мб там учли ваши пожелания))
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Я на демо сайте попытался отфильтровать по цене,то не получилось(А без цены нашел товар с нужными типами.А Размер и цвет одежды-- это тип товара?Или это уже другие критерии фильтрации?И как насчет добавить категории и мануфактуры?Получиться мега поиск)))Спасибо за хорошие решение))Ждемс новых фич))Уже вирт 2.0.6. мб там учли ваши пожелания))
Мое решение использует мой плагин дополнительного поля. "Размер и цвет одежды" - это тоже доп поля, но другого типа. В новой версии не учли, поэтому сейчас работаю над обходом ограничений VM. В связи с этим поиск по цене не работает (пока что). Это позволит осуществить поиск по категориям и по производителю в дальнейшем.
*

koskanalya

  • Захожу иногда
  • 62
  • 0 / 0
Ну что нет рабочего фильтра по категориям товара?
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
v0.3
 * Добавление/удаление/изменение значений по-умолчанию через удобный интерфейс на js с функцией сортировки
 * Поиск по категориям
 * Поиск по цене

v0.4
 * Шаблоны вывода категорий
 * Шаблоны вывода полей
 * Теперь шаблон вывода можно указать в свойствах настраиваемого поля
 * Шаблон вывода всех настраиваемых полей можно глобально переопределить в модуле
« Последнее редактирование: 20.04.2012, 08:45:21 от pharaoh »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Привет.Чето появилась форма запроса логина и пароля на ваш демо сайт)Хотел написать на почту,но спрошу тут)Есть такой фильтер CustomFilters_Starter_unzipme_v1.0 ,там модуль и компонент, в принципе компонент не нужен,так как он работает в платной версии,но и без него модуль не работает.Не мог бы ты его допилить?Фильтр по цене добавить и по типам как в твоем модуле? моя почта oleg-dracon@mail.ru
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Привет.Чето появилась форма запроса логина и пароля на ваш демо сайт)Хотел написать на почту,но спрошу тут)Есть такой фильтер CustomFilters_Starter_unzipme_v1.0 ,там модуль и компонент, в принципе компонент не нужен,так как он работает в платной версии,но и без него модуль не работает.Не мог бы ты его допилить?Фильтр по цене добавить и по типам как в твоем модуле? моя почта oleg-dracon@mail.ru
нет. Этот модуль работает через платный компонент, а не напрямую с VM2 (вроде как). Я свой модуль уже почти доделал. По цене в том числе ищет. Сейчас тестирую и оптимизирую, потому сайт и не работает.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Демо
v0.6
 * Поиск по производителю
 * Шаблоны вывода производителей
 * Шаблон "radio" для производителей и полей
 * Изменение выборки пересечения данных (AND/OR) разных значений одного поля
 * Параметр "поисковый" у экземпляра плагина
 * Сильно оптимизирован запрос поиска (долгий запрос. кешируется для дальнейшей навигации. вывод времени). Самый долгий запрос: поиск по 5 параметрам со всеми отмеченными вариантами, с учетом поиска по категориям, производителю и цене на 1000 товаров занимает ~0.09 сек на хостинге за 44 руб/мес. Дальнейшая навигация с результатами кешируется и запрос занимает ~0.007 cек.
 * Автоматическое определение выводимых для поиска полей относительно товаров открытой категории (долгий запрос. кешируется. вывод времени). Для просмотра работу нужно перейти в любую категорию VM.
 * Выбор метода передачи данных (get/post)
 * Поправлен ряд багов, обнаруженных при тестировании
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
А будет выложенная более продвинутая версия в паблик чем v0.1?Без наворотов JS,но с последними добавлениями фильтрации по категориям брендам и цене)) И от реально чего не хватает в демоверсии,но она не полная как я понимаю,так это подсветки тех фильтруемых типов и брендов которые есть в конкретной категории.Я как лузер воще нахожу товар с 10 попытке,так как галочки можно ставить все.А от с подсветкой или возможностью ставить только там галочку ,где есть тип,в конкретной категории,облегчают жизнь для поиска))). Объясняю как могу,не суди строго)))
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
olejenya, подробная информация о дате релиза на демо сайте.
По поводу вопроса про галочки: это в планах на версию 1.1, но в 1.0 этого не будет.
Хотя грамотная структура типов и значений делает не особо нужным такой функционал. Поэтому я отложил это на последующие обновления.
« Последнее редактирование: 22.04.2012, 22:05:45 от pharaoh »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Привет.Вот сылочка http://livedemo00.template-help.com/prestashop_38827/category.php?id_category=9#/condition-new/availability-in_stock/price-154-419. Хотел спросить что то подобное ждет нас в обновленной версии)))В престе блин все на аяксе и все включено в шаблон))Только галочки ставь.Когда уже в виртумарте так будет)) и еще не мог бы ты скинуть сылку как создавать и настраивать типы?А то не как не вкурю)Спасибо.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
А что здесь такого? Слайдер цены? да, планирую прикрутить такое. Аяксом грузить список товаров? Нет, т.к. считаю это во вред (и кол-во запросов увеличивается, и пользователь ждет больше). Да и грузить каждое действие пользователя разве есть смысл?
По каким именно полям? по тем, которые будут работать в моем расширении или вообще. Для моего плагина дополнительного поля будет написана краткая инструкция, которая позволит создать типы для поиска.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
По тем полям ,которые ты используешь в модуле для фильтрации.А то я могу создать только цвет и размер))
Ну хз,много где как раз Аяксом и подгружается все.Ну со списком товара мб и перебор (но красиво выглядит,живой поиск типо как).А вот про каждое действие пользователя,мне это тоже не очень нраиться,но если бы все это подгружать после нажатия кнопки поиска,то может так и удобней было.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Про плагин.После установки твоего плагина,я смогу установить эти дополнительные поля?
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Да. Именно в нём и основной смысл. После установки плагина появится дополнительный тип поля, позволяющий создавать выпадающие списки с множественным выбором.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Выпущен релиз. Версия 1.0. Информация в шапке обновлена. Спасибо за интерес к расширению.
*

xamtal

  • Новичок
  • 6
  • 0 / 0
Задача такая: алкогольный магазин, товары например вино, бренди, водка. У каждого товара разные атрибуты, например у вина это регион с несколькими уровнями вложенности, год, сорт винограда, цена, цвет и тд., у бренди другие другие атрибуты, у водки то же другие, но какие то атрибуты у всех товаров одинаковые.
Как я пытаюсь это реализовать: регионы это категории, например: (вино->франция->бордо->пойяк) остальные атрибуты пытаюсь сделать на настраиваемых полях.
Проблемы:
1)  Настраиваемые поля не могут иметь одинаковые имена.
2)  Фильтровать нужно только в пределах выбранной категории
3)  Отображать группу фильтров нужно только в соответствующей категории.

Подскажите пожалуйста подойдет ли мне обсуждаемое расширение или может кто то другое посоветует, сейчас фильтр реализован на компоненте cf filterin.... как то так называется не помню. Он не подходит по выше указанным причинам.

Пример сайта как надо сделать фильтр http://winestyle.ru/wine/bordeaux/

Спасибо
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Подскажите пожалуйста подойдет ли мне обсуждаемое расширение...
Да. При грамотном построении полей и общей структуры.

Проблемы:
1)  Настраиваемые поля не могут иметь одинаковые имена.
2)  Фильтровать нужно только в пределах выбранной категории
3)  Отображать группу фильтров нужно только в соответствующей категории.
Подробнее:
1) В моем расширении у каждого поля дублируется строка "заголовок", который не обязательно уникален и может выводиться в шаблоне (по умолчанию закомментирован)
2) При открытии категории автоматически ставится галочка в списке категорий фильтра
3) При включенном параметре "Автоподбор списка полей" поля для поиска будут браться исходя из товаров открытой категории (без вложенности). При отсутствии таковых в модуле фильтра ничего выводиться не будет.

Могу организовать необходимую структуру на основе своего расширения. Если понадобится помощь, пишите в личку.
*

xamtal

  • Новичок
  • 6
  • 0 / 0
pharaoh, справиться это расширение вот с такой задачей http://winestyle.ru/wine/italy/? Особое внимание обращаю на несколько уровней вложенности регионов производства вина? Нужно что бы посетителю было видно всю структуру вложенности. Почти все параметры можно выполнить в виде раскрывающегося списка, но пункты: вино, водка, шампанское и тд. должны быть видны всегда.
Есть ли какой то способ более оперативно связываться? Личные сообщения мне не доступны. Спасибо.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Если регионы будут как категории, то да. Не вижу ничего уникального. Технически мое расширение позволяет, при этом структура должна создаваться с пониманием работы настраиваемых полей виртуемарта и внешний вид подгоняться верстальщиком. Пример demo.jgen.ru в принципе это отражает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин доставки сдэк для Joomla+Virtuemart

Автор boraah

Ответов: 7
Просмотров: 4730
Последний ответ 16.12.2024, 23:08:25
от David_99
Плагин оплаты картами Visa/MasterCard VirtueMart 2.x-3.x Цена 5.00 $

Автор gartes

Ответов: 33
Просмотров: 10853
Последний ответ 07.11.2021, 23:30:32
от a-li
[Импорт/экспорт] Excel2VM - для VirtueMart 2-3. Excel и Яндекс.Маркет. (xls, XLSX, CSV, xml)

Автор katrey

Ответов: 109
Просмотров: 27641
Последний ответ 09.06.2021, 07:58:15
от asteroidx
Плагин отправки SMS при заказе в VirtueMart 2

Автор Arkantos

Ответов: 19
Просмотров: 5244
Последний ответ 22.03.2021, 17:25:23
от nnnata
Загрузка файлов в корзине VirtueMart 3

Автор Kodopik

Ответов: 0
Просмотров: 2498
Последний ответ 25.02.2021, 13:56:20
от Kodopik