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

motor1

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
Иногда возникает необходимость сделать дополнительное поле для товара в VirtueMart, которое будет отображаться в админке управления товаром и выводится на сайте. Опыты проводим на VirtueMart 1.1.8 .

Первым делом что нужно сделать так это зайти в БД с помощью phpMyAdmin, выбрать вашу БД. В появившемся списке найти vm_product (если при установке задавали префикс базы данных, то соответственно ищем префиксvm_product ), и нажать кнопку Структура.

После того, как откроется структура vm_product, нужно добавить наше новое поле, назовем его product_doppole. Для добавления перемещаемся вниз страницы и выбираем из выпадающего списка "После" product_sku, и жмем Ок.
Далее необходимо заполнить основные поля:

Поле: product_doppole;

Тип: VARCHAR;

Длина/значения: 64;

По умолчанию: НЕТ;

Сравнение: utf8_general_ci;

и нажать кнопу Ок.

Создав новое поле в базе, вносим изменения в файл product.product_form.php расположенный по адресу: "administrator/com_virtuemart/html/". В данный файл нужно внести следующий код:
Код
<tr class="row1">
    <td width="29%" valign="top">
       <div style="text-align:right;font-weight:bold;">Дополнительное поле:</div>
    </td>
       <td width="71%" >
          <input type="text" class="inputbox" name="product_doppole" size="60" value="<?php echo $db->sf("product_doppole"); ?>" />
       </td>
</tr>
Разместить новое поле ввода было решено после краткого описания о товаре, так что код был вставлен сюда:
Код
<tr class="row1"><td colspan="2">&nbsp;</td></tr>
 <tr class="row1">
 <td width="29%" valign="top"><div style="text-align:right;font-weight:bold;">
 <?php echo $VM_LANG->_('PHPSHOP_PRODUCT_FORM_S_DESC')?>:</div>
 </td>
 <td width="71%"  valign="top">
 <textarea class="inputbox" name="product_s_desc" id="short_desc" cols="35" rows="6" ><?php echo $db->sf("product_s_desc"); ?></textarea>
 </td>
 </tr>
ВСТАВЛЯТЬ КОД СЮДА
</table>
 </td>
 </tr>
</table>
Особой роли не играет где разместить новое поле ввода, так что выбор за вами, только главное вставить в правильное место. Сохраняем документ, если мы указываем название поля на кириллице, то документ сохраняем в кодировке UTF-8.

Теперь, если зайти в админку и выбрать товар, то мы увидим наше добавленное поле.

Для сохранения данных введенных в это поле, вносим изменения в файл ps_product.php по адресу: "administrator/components/com_virtuemart/classes/", а именно добавляем строчку: 'product_doppole' => vmGet($d,'product_doppole'), .

Добавить её нужно в двух местах (используйте поиск по значению "// Insert into DB") т.к. код одинаковый привожу только один участок кода. Я добавил строку после строки 'product_sku' => vmGet($d,'product_sku'), ,
Код
// Insert into DB
 $fields = array ( 'vendor_id' => $vendor_id,
 'product_parent_id' => vmRequest::getInt('product_parent_id'),
 'product_sku' => vmGet($d,'product_sku'),<strong>
ВСТАВЛЯТЬ СТРОКУ СЮДА
</strong>'product_name' => vmGet($d,'product_name'),
 'product_desc' => vmRequest::getVar('product_desc', '', 'default', '', VMREQUEST_ALLOWHTML),
Сохраняем файл, заходим в админку и тестируем сохранение и загрузку данных нашего поля.
После проверки работоспособности внесенных изменений, редактируем файл shop_browse_queries.php, по адресу: "administrator/com_virtuemart/html/". В него добавляем `product_doppole` , после `product_sku`. Получившийся код должен выглядеть так:
Код
?
1
2
// These are the names of all fields we fetch data from
$fieldnames = "`#__{vm}_product`.`product_id`, `product_name`, `products_per_row`, `category_browsepage`, `category_flypage`, `#__{vm}_category`.`category_id`, `product_full_image`, `product_thumb_image`, `product_s_desc`, `product_parent_id`, `product_publish`, `product_in_stock`, `product_sku`, `product_doppole`, `product_url`, `product_weight`, `product_weight_uom`, `product_length`, `product_width`, `product_height`, `product_lwh_uom`, `product_available_date`, `product_availability`, `#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`";
Сохраняем.

Теперь изменяем файл shop.browse.php, по адресу: "administrator/com_virtuemart/html/". Добавляем строку $products[$i]['product_doppole'] = $db_browse->f("product_doppole"); , добавить её нужно сюда:
Код
// Unset these for the next product
 unset($full_image_width);
 unset($full_image_height);
$products[$i]['product_name'] = shopMakeHtmlSafe( $product_name );
 $products[$i]['product_s_desc'] = $product_s_desc;
 $products[$i]['product_details'] = $product_details;
 $products[$i]['product_rating'] = $product_rating;
 $products[$i]['product_price'] = $product_price;
 $products[$i]['product_price_raw'] = $product_price_raw;
 $products[$i]['product_sku'] = $db_browse->f("product_sku");
 ДОБАВЛЯЕМ СТРОКУ СЮДА
 $products[$i]['product_weight'] = $db_browse->f("product_weight");
После сохранения, в шаблоне нужно вывести наше новое поле, так что редактируем нужные вам файлы в папке по адресу: "components/com_virtuemart/themes/default".

Я добавил отображение нового поля в карточку товара, так что отредактировал flypage.tpl.php по адресу: "components/com_virtuemart/themes/default/templates/product_details", добавив в него строку <?php echo $product_doppole ?> в нужной мне позиции.
« Последнее редактирование: 26.10.2011, 17:50:33 от smart »
*

saynez

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Спасибо большое за мануал!
Не могли вы подсказать у меня версия 1.1.6
В шаге
Цитировать
После проверки работоспособности внесенных изменений, редактируем файл shop_browse_queries.php, по адресу: "administrator/com_virtuemart/html/". В него добавляем `product_doppole` , после `product_sku`. Получившийся код должен выглядеть так:
После того как я вставляю `product_doppole` в любое местое у меня пропадают все товары в категории. Код в версии 1.1.6 выглядит так:
Код
// These are the names of all fields we fetch data from
$fieldnames = "p.product_id, p.product_name, `products_per_row`, `category_browsepage`, `category_flypage`, `#__{vm}_category`.`category_id`, p.product_full_image, p.product_thumb_image, p.product_s_desc, p.product_parent_id, p.product_publish, p.product_in_stock, p.product_sku, p.product_url, p.product_weight, p.product_weight_uom, p.product_length, p.product_width, p.product_height, p.product_lwh_uom, p.product_available_date, p.product_availability, p.mdate, p.cdate";
*

Fat

  • Захожу иногда
  • 479
  • 25 / 0
  • Разрабатываю компоненты для Joomla
а в таблице jos_vm_product присутствует такое поле `product_doppole`?
*

saynez

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Во всем оказались виноваты мои кривые руки. Мануал замечательно работает и в версии 1.1.6
Спасибо Fat за подсказку. Я забыл сохранить поле product_doppole в базе MYSQL.
« Последнее редактирование: 04.12.2011, 18:59:22 от saynez »
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Создал дополнительное поле для товара только в VirtueMart 1.1.9.
Теперь стоит задача вывести значение из этого поля в таблице Содержание заказа на странице Информация о заказе вместо Артикула...да, ладно, теперь хоть просто только вывести  :(
Кто решил у себя или поможет?

Решено
http://joomlaforum.ru/index.php/topic,194532.new.html
« Последнее редактирование: 22.01.2012, 22:03:51 от kry »
*

Master of Magic

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
И как сделать что бы поиск это поле видел?
*

surzh

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
а как добавить это doppole в список при выборе дочерних товаров. т.е. изменить порядок и содержание
*

artrush

  • Захожу иногда
  • 99
  • 0 / 0
А как добавить chekbox для данного поля?
Хотелось бы выбирать его не для всех товаров!
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
А как добавить chekbox для данного поля?
Хотелось бы выбирать его не для всех товаров!
Просто оставьте его пустым в нужном товаре и оно отображаться не будет
*

artrush

  • Захожу иногда
  • 99
  • 0 / 0
Просто оставьте его пустым в нужном товаре и оно отображаться не будет
Но при этом может отображаться CSS данного поля!
Типа background или жестко проставленный height и т.п.!
*

diggs

  • Захожу иногда
  • 60
  • 4 / 0
motor1 немного кривовато реализовано, в плане ты не в языковых файлах прописываешь название нового поля, а непосредственно в теле самого php файла, который ты правил. Но по-любому спасибо за мануал, он рабочий, даже для 1.1.9.
Если нужно, отпиши в личку, я скину свою схему реализации с правкой языковых файлов. В добавок, могу поделиться как я добавил новое поле в стандартную сортировку.
*

nightbodom

  • Захожу иногда
  • 97
  • 1 / 1
А кто нибудь знает как создать дополнительное поле в карточке товара textarea product_desc (ну типа под названием product_full_desc).
Тоесть:
product_desc - описание товара
product_full_desc - полное описание товара
так как <hr id="system-readmore" /> не пашет в VirtueMart. Хотя с ним было бы намного проще
*

artrush

  • Захожу иногда
  • 99
  • 0 / 0
А кто нибудь знает как создать дополнительное поле в карточке товара textarea product_desc (ну типа под названием product_full_desc).
Тоесть:
product_desc - описание товара
product_full_desc - полное описание товара
так как <hr id="system-readmore" /> не пашет в VirtueMart. Хотя с ним было бы намного проще
можно добавить в карточку уже имеющееся поле "краткое описание"
*

nightbodom

  • Захожу иногда
  • 97
  • 1 / 1
можно добавить в карточку уже имеющееся поле "краткое описание"
Но там прийдется в каждой строке ставить <br>, а для каждого товара это гемор
*

Virusss1985

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Сделал все как сказано выше но у меня почему-то  не сохраняет то что добавил в поле через админку и не выводит на страницу товара. Где что нетак сделал.  'product_doppole' => vmGet($d,'product_doppole'), - добавлял дважды. VM 1.1.9
*

Virusss1985

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Все разобрался, когда создавал новое поле в SQL, перед названием по невнимательности поставил пробел. Автору БОЛЬШОЕ СПАСИБО
*

motor1

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
Все разобрался, когда создавал новое поле в SQL, перед названием по невнимательности поставил пробел. Автору БОЛЬШОЕ СПАСИБО
Внимание это главное а спасибо можно в виде +)))
*

Tu-144

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Реализовал через <option> но тееперь вопрос, как передать значение SELECTED на нужный вариант?
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Добрый день.
Подскажите, сделал всё как в первом посте,всё ок,всё работает, но, я хочу вывести видео с ютуба с помощью плагина AllVideos, для этого сделал доп поле Видео куда вставляю код {youtube}28oOLwNnvYM{/youtube} сохраняю и в карточке товара выводится этот код,а если просто в текст добавлять то видео выводится нормально. В чём может быть проблема? Может надо как-то плагин подключать к этому хаку?
Спасибо.
*

nightbodom

  • Захожу иногда
  • 97
  • 1 / 1
Я обычно прописывал в файле flypage скрипт с ютуба а через админку вставлял лишь ссылку, и тогда все работало. Твой вариант ({youtube}28oOLwNnvYM{/youtube}) будет работать только в материалах и описании товара. можно попробовать создать дубликат поля Описание, чтобы присутствовали кнопки c WORDa? тогда будет работать этот код. а так другие поля не принимают тэги видео
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Я обычно прописывал в файле flypage скрипт с ютуба а через админку вставлял лишь ссылку, и тогда все работало. Твой вариант ({youtube}28oOLwNnvYM{/youtube}) будет работать только в материалах и описании товара. можно попробовать создать дубликат поля Описание, чтобы присутствовали кнопки c WORDa? тогда будет работать этот код. а так другие поля не принимают тэги видео
Уже всё работает, прописал как
Код
<?php echo JHtml::_('content.prepare', $product_video)?>
надо было подключить плагин и всё)
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
скажите почему не сохраняет то что я пишу в новом поле,поле все создал,изменения только через базу сохраняются,virtuemart 1.4
-==Dimir==-
*

motor1

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
скажите почему не сохраняет то что я пишу в новом поле,поле все создал,изменения только через базу сохраняются,virtuemart 1.4
Теперь, если зайти в админку и выбрать товар, то мы увидим наше добавленное поле.

Для сохранения данных введенных в это поле, вносим изменения в файл ps_product.php по адресу: "administrator/components/com_virtuemart/classes/", а именно добавляем строчку: 'product_doppole' => vmGet($d,'product_doppole'), .

Добавить её нужно в двух местах (используйте поиск по значению "// Insert into DB") т.к. код одинаковый привожу только один участок кода. Я добавил строку после строки 'product_sku' => vmGet($d,'product_sku'), ,
Код
// Insert into DB
 $fields = array ( 'vendor_id' => $vendor_id,
 'product_parent_id' => vmRequest::getInt('product_parent_id'),
 'product_sku' => vmGet($d,'product_sku'),<strong>
ВСТАВЛЯТЬ СТРОКУ СЮДА
</strong>'product_name' => vmGet($d,'product_name'),
 'product_desc' => vmRequest::getVar('product_desc', '', 'default', '', VMREQUEST_ALLOWHTML),
Внимательно проверь все буквы и код
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
Теперь, если зайти в админку и выбрать товар, то мы увидим наше добавленное поле.

Для сохранения данных введенных в это поле, вносим изменения в файл ps_product.php по адресу: "administrator/components/com_virtuemart/classes/", а именно добавляем строчку: 'product_doppole' => vmGet($d,'product_doppole'), .

Добавить её нужно в двух местах (используйте поиск по значению "// Insert into DB") т.к. код одинаковый привожу только один участок кода. Я добавил строку после строки 'product_sku' => vmGet($d,'product_sku'), ,
Код
// Insert into DB
 $fields = array ( 'vendor_id' => $vendor_id,
 'product_parent_id' => vmRequest::getInt('product_parent_id'),
 'product_sku' => vmGet($d,'product_sku'),<strong>
ВСТАВЛЯТЬ СТРОКУ СЮДА
</strong>'product_name' => vmGet($d,'product_name'),
 'product_desc' => vmRequest::getVar('product_desc', '', 'default', '', VMREQUEST_ALLOWHTML),
Внимательно проверь все буквы и код
плюсом тебя отблагодорил!Спасибо
-==Dimir==-
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
а как реализовать вывод всем товаром Слова нет видео если видео не внесено в товар в этой строке?
-==Dimir==-
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
Сделал табы такого плана Описание,Отзывы,Видео(вывел через новое поле плагином all videos),Все фото товара,так вот если нет видео то последний таб уезжает вниз,если вписываю что для данного товара нет видео то все встает на место
-==Dimir==-
*

baloon

  • Захожу иногда
  • 369
  • 13 / 0
а как реализовать вывод всем товаром Слова нет видео если видео не внесено в товар в этой строке?
В шаблоне, в месте вывода этой строки напиши условие на php - если поле не пустое - выводить "видео", иначе - выводить "нет видео".
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
В шаблоне, в месте вывода этой строки напиши условие на php - если поле не пустое - выводить "видео", иначе - выводить "нет видео".
в шаблоне вывода товара?код примерноможно?если не трудно
<?php echo JHtml::_('content.prepare', $product_video)?>  как правильно написать вот для этой строки условие
« Последнее редактирование: 24.09.2012, 23:00:37 от Dimir »
-==Dimir==-
*

baloon

  • Захожу иногда
  • 369
  • 13 / 0
в шаблоне вывода товара?код примерноможно?если не трудно
<?php echo JHtml::_('content.prepare', $product_video)?>  как правильно написать вот для этой строки условие
Как-то так. Только скорее всего вместо нулю нужно будет поставить что-то другое. Это надо посмотреть, что стоит в этом поле в БД, когда оно не заполнено.
Код
<?php
if($product_video == 0) {
echo 'нет видео';
} else {
echo JHtml::_('content.prepare', $product_video);
?>

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 22890
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 10251
Последний ответ 14.01.2021, 00:09:53
от gartes
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 53272
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 27279
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Хаки для убыстрения VirtueMart (уменьшение запросов и т.п.)

Автор yadrinez

Ответов: 197
Просмотров: 80440
Последний ответ 05.02.2016, 21:53:34
от flyingspook