Новости Joomla

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

Плагин вставки языковых констант в контент Joomla

Плагин вставки языковых констант в контент Joomla.Плагин позволяет вставлять значения языковых констант в статьи, модули и другой контент Joomla с помощью синтаксиса
{langos LANGUAGE_CONSTANT}.При создании мультиязычного сайта на Joomla вы часто сталкиваетесь с ситуацией:
Нужно изменить всего несколько слов в модуле или статье в зависимости от языка — но приходится создавать отдельные копии контента для каждой языковой версии. Это неудобно и требует лишних усилий.👩‍💻 Решением проблемы становится плагин Langos.Langos позволяет вставлять языковые константы прямо в контент с помощью простого синтаксиса:
{langos YOUR_LANGUAGE_CONSTANT}
Это работает как вызов
\Joomla\CMS\Language\Text::_('YOUR_LANGUAGE_CONSTANT'), но без необходимости программировать или редактировать шаблоны.Кроме того, плагин поддерживает загрузку языковых файлов конкретных расширений, например модулей или компонентов. Для этого просто укажите третий аргумент в шорткоде:
{langos MOD_FOOTER_LINE1, mod_footer}
Теперь плагин загрузит языковую константу из соответствующего языкового файла именно этого расширения.Ключевые особенности плагина🚀 Результаты работы плагина сохраняются в кэше, что положительно влияет на производительность сайта🔁 Совместим с Joomla Cache, JotCache и другими популярными системами кэширования🧩 Вставка языковых констант в любые элементы контента: статьи, модули и т.д.🌐 Полная интеграция с системой мультиязычности Joomla🔌 Работает «из коробки» с любыми стандартными типами контента🛠 Не требует навыков программирования🧪 Подходит для использования визуальными редакторами и не-программистами📦 Поддержка загрузки языковых файлов конкретных расширений🎯 Идеален для динамической замены текста в разных языкахСистемные требованияJoomla >=4.2 | 5.xPHP >= 7.4Разработчик плагина - участник нашего сообщества Артём Васильев (
@kernusr). Скачать плагин с GitHub и документация.#joomla #расширения

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

Sven

  • Захожу иногда
  • 107
  • 6 / 5
В админке стоит галочка - Не переходить в корзину после покупки. После выбора нужных атрибутов и добавления товара в корзину появляется системное сообщение - товар добавлен в корзину, а выбор атрибутов сбрасывается. Если после этого, в любом браузере, нажать стрелку "Вернуться назад", то вместо возврата на предыдущую страницу - снова активируются выбранные до этого атрибуты. И только если второй раз нажать на стрелку, то происходит возврат на предыдущую страницу.

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Хороший вопрос. И наверное затрагивает подход разработчика. Обычно они вставляют кнопку на js.
Вашу задачу я решал таким кодом  ^-^
Код: php-brief
<?php
$session = &JFactory::getSession();
if ($_SERVER["HTTP_REFERER"] !=JFactory::getURI()->toString()) $session->set("mylink",  $_SERVER["HTTP_REFERER"]);
$mylink = $session->get("mylink", $_SERVER["HTTP_REFERER"]);
?>
Код: html4strict
<a href="<?php echo $mylink;?>">Назад</a>
*

Sven

  • Захожу иногда
  • 107
  • 6 / 5
Федор, Спасибо за ответ!

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

На всякий случай поясню для всех, чем не устраивает родная кнопка Назад в JoomShopping - она возвращает покупателя в НАЧАЛО списка товаров, а кнопка Назад в браузерах возвращает именно в то место, откуда был переход на страницу с товаром. Т.е. представьте если в магазине 1000 товаров, человек просмотрел 400, а на 401-ом кликнул и зашел на его страницу. Потом он жмет встроенную в JoomShopping кнопку Назад и возвращается в начало списка товаров, и ему заново нужно смотреть все эти уже просмотренные 400 товаров. Думаю всем понятно, что этого человека на сайте вы больше не увидите у себя). А вот если кликнуть на стрелку Назад в браузере, то браузер его вернет как раз в предыдущее место к 401 товару и он спокойно продолжит смотреть дальше.
*

Sven

  • Захожу иногда
  • 107
  • 6 / 5
Кстати, Федор, ваша кнопка Назад тоже в начало списка возвращает. Но тут уже хотя бы половина проблемы решено - возвращает с первого раза!)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Sven Как работает моя кнопка. При посещении страницы проверяется значение $_SERVER["HTTP_REFERER"] - откуда перешел человек по ссылке. Сравнивает с текущей страницей JFactory::getURI()->toString() и если значения не совпадает записывает новое значение в сессию. Ссылка выводится с значением страницы с которой пришли. Преимущества здесь перед js в том, что даже при обновлении страницы вы все равно вернетесь назад. Теперь о недостатках этого метода и js. Если страница формируется в зависимости и от переданных ей Post значений, назад вы не вернетесь. Надо записывать эти Post значения, сверять их. Это уже к разработчику.  
*

Sven

  • Захожу иногда
  • 107
  • 6 / 5
Если я правильно понял, стрелка Назад в браузерах не работает из-за того, что страница обновляется, после добавления товара в корзину. А отключить это обновление может только разработчик.

В таком случае хочу обратиться к разработчикам, по моему эта проблема заслуживает вашего внимания, потому что это выглядит как глюк магазина.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
да не выглядит оно как глюк. и по сути таковым не является. вот смотрите. вы зашли на страницу товара. раз вы пишите о не выбранных атрибутах, значит в настройках у вас стоит первое значение атрибута - пусто. вы выбираете атрибуты, еще что то делаете на странице, после нажимаете кнопку Купить. товар добавляется в корзину, и происходит редирект на ту же страницу, где вы и были - страницу товара. поскольку в настройках у вас стоит Первое значение атрибута пусто - то опять атрибуты не выбраны. Вы нажимаете кнопку Назад в браузере - и вовзращаетесь назад на ту же страницу товара, но уже в выбранными атрибутами, потому что браузер эту страницу берет из своего кеша и показывает вам ее такой же, какой она была когда вы с нее ушли. а следующее нажатие кнопки назад возвращает вас еще на один шаг назад - в категорию или откуда вы попали на страницу товара. так и должно быть, и проблемы нет как таковой. по другому добавление в корзину с перегрузкой страницы работать и не будет. если не устраивает так - можно поставить AJAX корзину любую. а кнопка как Федор говорит - так это кнопка на яваскрипте, и не имеет никакого отношения к кнопке Назад браузера. Добавляй ее, не добавляй, все равно если будет перезагрузка страницы при добавлении товара с последующим редиректом опять в товар, то покупатель нажимая кнопку Назад в браузере будет видеть такой эффект. Еще как вариант поставьте галочку Переходить в корзину после добавления. Тогда из корзины кнопка назад будет отрабатывать как вы хотите. Или как я уже сказал любая AJAX корзина.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Sven

  • Захожу иногда
  • 107
  • 6 / 5
Не согласен я с вами. Для покупателя это выглядит именно как глюк. Хотя для вас как для программиста наверно это таковым и не является.

А Федор предложил просто полумеру. В принципе тоже самое можно и с обычной родной кнопкой Назад сделать, в админке в пункте "Другие параметры" написать list, и точно также в list product на предыдущую страницу будет возвращать.

Проблема здесь в другом, вы наверно просто суть не уловили. Для всех пользователей сети интернет, это уже как привычка - нажимать на стрелку назад в браузере. Рука уже просто у всех так набита. Никто даже не будет задумываться как ему вернуться на предыдущую страницу, просто сразу нажмет стрелку в браузере и все. Т.е НИКТО не будет нажимать на кнопку Назад джумшопа, потому что никому даже такая идея в голову не придет. Это происходит машинально, как на автопилоте. Люди уже просто так приучены - нажимать стрелку Назад именно в браузере, а не где-то на сайте.

Вот в этом вся проблема. Человек добавляет товар в корзину и после этого по привычке как обычно нажимает у себя в браузере стрелку назад - а назад не возвращается! Для него это сбой привычного положения вещей! Он воспринимает это именно как глюк магазина. Почему его должен волновать какой-то там кеш браузера? Его это вообще не волнует. Но зато у него в голове отложится что магазин с глюком, а значит и товар здесь скорее всего такой же плохой. Магазин это ведь не только техническая сторона, нужно еще и психологию покупателя учитывать.

Конечно наверно можно эту проблему решить с помощью AJAX корзины, но ведь у большинства пользователей JoomShopping стоит обычная корзина, и у всех сейчас такие глюки. Вот поэтому я считаю, что в дефолтном шаблоне такого быть не должно. И проблема эта не такая уж и не существенная как может показаться на первый взгляд, особенно с точки зрения психологии продаж.

И кстати, из этой проблемы вытекает еще одна дополнительная, сейчас только заметил. Если даже со второго клика покупатель вернется назад, то в модуле корзины пропадет отображение что товар добавлен. Ведь покупатель вернется на предыдущую страницу, в которой он товар еще не добавлял. Т.е. в самой то корзине товар будет, а в модуле корзины его не будет видно. Для покупателя это будет еще одним глюком магазина. И на этом этапе он скорее всего вообще откажется от покупки. И такое сейчас происходит у всех у кого стоят дефолтные корзины.

И поставить галочку "Переходить в корзину после добавления" - это не вариант. Покупатель должен сам контролировать весь процесс, и сам решать на какую страницу и когда ему переходить. А когда его без его ведома будут перекидывать на страницу с корзиной - его это будет раздражать. Никому не нравится когда его перекидывают куда-то без его согласия.
« Последнее редактирование: 25.03.2013, 01:43:59 от Sven »
*

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
А я тут JoomShopping CartAjax погонял демо - AJAX Cart

В каталоге накидал товаров в корзину, зашел в товар и там тоже добавил в корзину. И затем нажал на кнопку назад в браузере.
В итоге: информация о отложенных мною товарах в корзине исчезла = Нет товаров в корзине, а это уже потеря клиента.

То есть AJAX Cart, в рамках данной темы, ничем не отличается от обычной корзины
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я всех слышал. и суть уловил. видимо донести не смог :) весь мой пост сводился к тому, что это не проблема конкретного движка магазина, а проблема (или не проблема, Opera, например, очень гордится своими механизмами кэширования, сводящими с ума всех, кроме разработчиков Opera, и бороться с ней в этом плане практически бесполезно. например, почитайте это) браузеров. чтобы было понятнее, вот пример демо виртуемарта. попробуйте положить что то в корзину, и перейти в корзину, а потом вернуться. товара в корзине не будет. есть конечно способы, частично решающие эту проблему. Но все они абсолютно не универсальны. И для всех в массе их сделать практически не реально.

P.S. Это я все к тому, что будущего у темы нет. разработчики не смогут этого сделать в базе, как бы вы их о этом не просили. решение (причем скорее всего частичное, которое не будет охватывать все возможные варианты переходов/добавлений/возвратов) будет индивидуально для каждого конкретного случая.

P.P.S гы. да что тут говорить... попробуйте на этом форуме из раздела зайти в тему, написать сообщение, а потом нажав кнопку назад вернуться в раздел.
« Последнее редактирование: 25.03.2013, 11:24:11 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Ramil8009

  • Захожу иногда
  • 147
  • 1 / 1
Решил так. Установил AJAX корзину, потом в  начале файла /components/com_jshopping/templates/шаблон/product/product_default.php

Код
<?php
$table_product = JTable::getInstance('product', 'jshop');
    $table_product->load($product->product_id);
    $table_attributes ;
   
    $attributesDatas = $table_product->getAttributesDatas($back_value['attr']);
        $table_product->setAttributeActive($attributesDatas['attributeActive']);
        $attributeValues = $attributesDatas['attributeValues'];
       
        $attributes = $table_product->getBuildSelectAttributes($attributeValues, $attributesDatas['attributeSelected']);
        if (count($attributes)){
            $_attributevalue = JTable::getInstance('AttributValue', 'jshop');
            $all_attr_values = $_attributevalue->getAllAttributeValues();
        }else{
            $all_attr_values = array();
        }
   
?>
в том же файле, меняем кнопку в корзину на свою если есть атрибуты
Код
<?php if (count($attributes)){?>
<a class="button_buy" href="<?php print $product->product_link ?>">В корзину</a>
   <?php }?>

   <?php if (count($attributes) == 0){?>
<a class="button_buy" href="<?php print $product->buy_link?>">В корзину</a>;
<?php }?>


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

WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 2994
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Видео с Youtube вместо картинки на карточке товара

Автор ksena

Ответов: 35
Просмотров: 8386
Последний ответ 08.10.2024, 04:26:36
от kit2m2
Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 894
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Добавить кнопку 'В корзину'

Автор Indexxx

Ответов: 16
Просмотров: 2816
Последний ответ 13.09.2023, 10:42:25
от kit2m2
Убрать модуль в карточке товара JoomShopping

Автор alexkraym

Ответов: 35
Просмотров: 4994
Последний ответ 21.08.2023, 07:17:53
от delchev