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

jatsuk

  • Новичок
  • 7
  • 0 / 0
 Чтобы выбранная доставка срабатывала - Vrtuemart записывает в Сессию переменную =1, Например,
$_SESSION[$value] = 1;

Данные о доставке известны не сразу, а приходят через AJAX. Следовательно вызываю обработчик (.php) и уже в нем
$_SESSION[$value] = 1;

Но так в Joomla свои сессии, то передаю id сессии из Joomla

session_id($session_id);
session_start();
$_SESSION[$value] = 1;

Проблема в том, что на одном хостинге все работает. Переменные записываются в одном файле и видятся в другом. Но на другом - это как две разные сессии, хотя session_id и session_name одинаковый. В чем может быть проблема ? может настройки хостинга или есть более лучший метод ??

Здесь вызываем
Код
 jQuery.ajax({
type: \"GET\",
url: \"".$base_ship_4."sessionsdek13.php\", 
data:({test:test,test2:test2,session_id:session_id}),
success: function(html){ 
}

обработчик
Код
if(count($_GET) > 0) {
$test=$_GET["test"];
$test2=$_GET["test2"];
$session_id =$_GET["session_id"];

session_id($session_id);
session_start();

$classname2 ='sdekmodule';
$value = urlencode( $classname2."|SDEK|".$test2."|".$test);
$_SESSION[$value] = 1;
echo '<input type="radio" checked="checked" name="shipping_rate_id" value="'.$value.'" id="'.$value.'" />';
}

*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
jatsuk, входящие параметры нужно фильтровать всегда. В Joomla для этого используется JInput
И почему вам не работать с сессиями без велосипедов. Подключите фреймворк и пользуйтесь
Код: php-brief
$session = JFactory::getSession();
$session->set('product',  'значение');
echo $session->get('product'); //  значение
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Все дело в том что php хранить сессию в файлах а Joomla по умолчанию в базе данных. Поэтому, если сесcия хранится в бд то даже если вы передадите скрипту ее ид в этих файлах ее не будет. Но если вы в опциях поставите выберете "нет" в качестве обработчика сессии в настройках, то Joomla будет хранить сессию в файлах средствами PHP поэтому она будет доступна в ваших скриптах и на всех сайтах вашего домена
« Последнее редактирование: 19.10.2014, 18:27:13 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

fsv

  • Moderator
  • 2796
  • 414 / 2
На самом деле вопрос не о сессиях, а об особенностях организации алгоритма расчета доставки в VM1.1 .

Цитировать
Чтобы выбранная доставка срабатывала - Vrtuemart записывает в Сессию переменную =1, Например, $_SESSION[$value] = 1;
Не так. А вот так: $_SESSION[$shipping_rate_id] = 1;

При checkout происходит валидация доставки. В каждом из подключенных классов доставки есть функция validate( $d ) -
Спойлер
[свернуть]
Там это значение из сессии и используется.
Алгоритм рассчитан на >1 шага оформления заказа, а что такое AJAX, тогда не знали.
Когда делаю загрузку без определения $shipping_rate_id (есть ситуации, в т.ч. при аякс), просто изменяю в этой функции одну строку:
Код
else {
    return true;
}
Смысла в этой функции становится меньше, чем ноль. Но работает. Это проще, чем хакать checkout, с награмождением условий для каждой доставки, к тому же доставки меняются.
Веб-разработка: заказ. Только новая разработка.
*

jatsuk

  • Новичок
  • 7
  • 0 / 0
Все дело в том что php хранить сессию в файлах а Joomla по умолчанию в базе данных. Поэтому, если сесcия хранится в бд то даже если вы передадите скрипту ее ид в этих файлах ее не будет. Но если вы в опциях поставите выберете "нет" в качестве обработчика сессии в настройках, то Joomla будет хранить сессию в файлах средствами PHP поэтому она будет доступна в ваших скриптах и на всех сайтах вашего домена

Спасибо. Именно поэтому работало на другом сайте.
*

jatsuk

  • Новичок
  • 7
  • 0 / 0
jatsuk, входящие параметры нужно фильтровать всегда. В Joomla для этого используется JInput
И почему вам не работать с сессиями без велосипедов. Подключите фреймворк и пользуйтесь


Код: php-brief
$session = JFactory::getSession();
$session->set('product',  'значение');
echo $session->get('product'); //  значение
Пытался сделать это, но что-то не получилось. На досуге разберусь, по любому еще когда-нибудь пригодится =)
*

jatsuk

  • Новичок
  • 7
  • 0 / 0
На самом деле вопрос не о сессиях, а об особенностях организации алгоритма расчета доставки в VM1.1 .
Не так. А вот так: $_SESSION[$shipping_rate_id] = 1;

При checkout происходит валидация доставки. В каждом из подключенных классов доставки есть функция validate( $d ) -
Спойлер
[свернуть]
Там это значение из сессии и используется.
Алгоритм рассчитан на >1 шага оформления заказа, а что такое AJAX, тогда не знали.
Когда делаю загрузку без определения $shipping_rate_id (есть ситуации, в т.ч. при аякс), просто изменяю в этой функции одну строку:
Код
else {
    return true;
}
Смысла в этой функции становится меньше, чем ноль. Но работает. Это проще, чем хакать checkout, с награмождением условий для каждой доставки, к тому же доставки меняются.

Аха) ну да, вместо того, что бы сессии городить и запускать AJAX в аяксе, можно и так.

Не разбирался где именно проверяет, но по опыту скажу -
формат передачи в сессию:
Название_класса_доставки| блалблаблабла | цена
Если не передать первое и последнее, то не работает)
« Последнее редактирование: 20.10.2014, 08:06:56 от jatsuk »
*

fsv

  • Moderator
  • 2796
  • 414 / 2
Цитировать
формат передачи в сессию:
Название_класса_доставки| блалблаблабла | цена
Если не передать первое и последнее, то не работает)
Речь у вас о переменной $shipping_rate_id . Это урл-кодированная сложносоставная строка, состоит из 3-4 частей, разбор частей в массив потом идет по "|".
Что-то типа такого:
Спойлер
[свернуть]
Эту переменную не надо любой ценой засовывать в сессию раньше времени. При обновлении страницы оформления аяксом вы должны вернуть в done (success) HTML радиокнопки и надписи возле нее. И в файле-обработчике предусмотреть, чтобы $shipping_rate_id стала value радиокнопки. Все. Юзер выбирает эту радиокнопку, нажимает "Оформить заказ", значение радио (а это $shipping_rate_id) уходит в переменной $d на запись заказа, там и разбирается в массив.
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль доставки "Почтой России"

Автор alibedog

Ответов: 104
Просмотров: 74375
Последний ответ 13.07.2021, 17:36:09
от SolopoV
Модуль доставки Укрпочта

Автор al_13

Ответов: 13
Просмотров: 21729
Последний ответ 13.05.2021, 12:57:59
от nnnata
Уведомление о заказе в зависимости от варианта доставки

Автор baltazors

Ответов: 0
Просмотров: 4832
Последний ответ 07.06.2017, 11:44:10
от baltazors
Модуль доставки - самовывоз. Как сделать?

Автор demonm

Ответов: 18
Просмотров: 24029
Последний ответ 29.04.2017, 17:31:56
от princeyury
Варианты доставки из админки

Автор El_nik

Ответов: 7
Просмотров: 15561
Последний ответ 27.04.2017, 10:51:38
от El_nik