Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Кроме этого, в состав пакета установки входит плагин, который позволяет выводить атрибуты товара в список всех товаров, менять эти атрибуты и добавлять товар в корзину из списка товаров. Если атрибутов много, то их можно выводить в всплывающем (модальном окне).

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

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

olf

  • Захожу иногда
  • 360
  • 5 / 1
Обнуление атрибутов
« : 11.02.2016, 15:38:03 »
Появилась необходимость сделать разные комплектации товара со своими ценами (переключаются во вкладках на фронтэнде). Причем у каждой комплектации свои атрибуты, которые плюсуются к цене.
AJAX cмену цены при клике по вкладке сделать удалось:

В файле шаблона:
Ссылки вкладок:
Код: html4strict
<a href="#level-2-1" rel="product_price=100000"></a>
<a href="#level-2-1" rel="product_price=200000"></a>
javascript:
Код: javascript
function number_format(n, d, s) {
        if (arguments.length == 2) { s = " "; }
        if (arguments.length == 1) { s = " "; d = "."; }
        n = n.toString();
        a = n.split(d);
x = a[0];
y = a[1];
z = "";
if (typeof(x)!= "undefined") {
for (i=x.length-1;i>=0;i--)
z += x.charAt(i);
z = z.replace(/(\d{3})/g, "function number_format(n, d, s) {
        if (arguments.length == 2) { s = " "; }
        if (arguments.length == 1) { s = " "; d = "."; }
        n = n.toString();
        a = n.split(d);
x = a[0];
y = a[1];
z = "";
if (typeof(x)!= "undefined") {
for (i=x.length-1;i>=0;i--)
z += x.charAt(i);
z = z.replace(/(\d{3})/g, "$1" + s);
if (z.slice(-s.length) == s)
z = z.slice(0, -s.length);
x = "";
for (i=z.length-1;i>=0;i--)
x += z.charAt(i);
if (typeof(y)!= "undefined" && y.length > 0)
x += d + y;
}
return x;
}
$(document).ready(function () {
$('.ajaxPrice').on('click', function () {
                $.ajax({
                        type:'POST',
                        cache:false,
                        dataType:'html',
                        url:'/index.php?option=com_jshopping&controller=product&task=ajax_price&product_id=1',
                        data: $(this).attr("rel"),
                        format : 'raw',
                        success:function (data) {
                                data = number_format(data);
                                jQuery("#block_price").html(data + ' <?php print $this->config->currency_code;?>');
                        }
                });
               
        });
});" + s);
if (z.slice(-s.length) == s)
z = z.slice(0, -s.length);
x = "";
for (i=z.length-1;i>=0;i--)
x += z.charAt(i);
if (typeof(y)!= "undefined" && y.length > 0)
x += d + y;
}
return x;
}
$(document).ready(function () {
$('.ajaxPrice').on('click', function () {
                $.ajax({
                        type:'POST',
                        cache:false,
                        dataType:'html',
                        url:'/index.php?option=com_jshopping&controller=product&task=ajax_price&product_id=1',
                        data: $(this).attr("rel"),
                        format : 'raw',
                        success:function (data) {
                                data = number_format(data);
                                jQuery("#block_price").html(data + ' <?php print $this->config->currency_code;?>');
                        }
                });
               
        });
});

Контроллер \controllers\product.php:
Код: php
function display($cachable = false, $urlparams = false){
$session = JFactory::getSession();
$session->clear('product_price');
...
}
function ajax_price()
{
        $product_price = JRequest::getInt('product_price');
print $product_price;
$session = JFactory::getSession();
$session->set( 'product_price', $product_price );
die();
}
В файл \tables\product.php переопределил function load для загрузки цены комплектации из сессии, которая выводится при выборе комплектации:
Код: php
public function load($keys = null, $reset = true)
{
parent::load($keys, $reset);
$session = JFactory::getSession();
if ($session->get('product_price')){
$this->product_price = $session->get('product_price');
        }
}
Цена при переключается, всё вроде бы пашет, в корзину заносится. Но вот как только мы выберем атрибут в одной комплектации, потом перейдем на другую, - плюсуются стоимость атрибутов обеих.

Подскажет кто где и как их обнулять? Уже мозги сломал все. Этот кусок кода например не помогает:
Код: php
$product = $this->product;
$product->load($this->product_id);
$product->setAttributeActive(array());
« Последнее редактирование: 11.02.2016, 15:52:37 от olf »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Таблица размеров (и т.п.) Плагин модульных позиций для атрибутов на странице товара [Скачать]

Автор kit2m2

Ответов: 39
Просмотров: 9836
Последний ответ 16.05.2021, 18:16:50
от kit2m2
Отметить несколько атрибутов сразу

Автор kadriel

Ответов: 3
Просмотров: 1234
Последний ответ 29.04.2019, 10:44:55
от kit2m2
Дополнения к атрибутам. вложение атрибутов в атрибуты

Автор Koral_n

Ответов: 4
Просмотров: 1152
Последний ответ 04.02.2019, 17:49:39
от kit2m2
Ограничение кол-ва добавляемых зависимых атрибутов. Ошибка: Warning: mysqli

Автор Koral_n

Ответов: 0
Просмотров: 1002
Последний ответ 18.01.2019, 10:19:03
от Koral_n
Выбор атрибутов в списке товаров (плагин)

Автор Brooksus

Ответов: 107
Просмотров: 29195
Последний ответ 05.02.2018, 12:43:51
от Brooksus