Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

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

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

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

Автор alibedog

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

Автор al_13

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

Автор baltazors

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

Автор demonm

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

Автор El_nik

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