Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

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

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

Автор alibedog

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

Автор al_13

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

Автор baltazors

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

Автор demonm

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

Автор El_nik

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