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

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Как вытянуть переменные в плагин на скрине, которые меняются по AJAX. Переменную attr[7]. Понимаю что через POST  запрос, но как отслеживать изменения по AJAX? и что значить ajax=1?
https://prnt.sc/SEW9chvGQtT_
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Как вытянуть переменные в плагин на скрине, которые меняются по AJAX. Переменную attr[7]. Понимаю что через POST  запрос, но как отслеживать изменения по AJAX? и что значить ajax=1?
https://prnt.sc/SEW9chvGQtT_

Сайт с вашим срином не отображается.

Для работы с атрибутами на странице товара Вам нужен файл - /components/com_jshopping/js/functions.js функция в нем - function reloadAttribSelectAndPrice(id_select)

Пример:
Код
			$document = JFactory::getDocument();
$document->addCustomTag("<script type=\"text/javascript\">
reloadAttribEvents[reloadAttribEvents.length] = function(json){
jQuery('#dk-block-m').empty();
if (json.available=='0'){
jQuery('#dk-block-m').prepend('".$onorder."').removeClass().addClass('onorder');
} else {
jQuery('#dk-block-m').prepend('".$instock."').removeClass().addClass('instock');
}
}
</script>");

« Последнее редактирование: 23.11.2022, 16:12:10 от kit2m2 »
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Подскажите я получил переменную. С помощью ее я делаю запрос к БД. И мне нужно это запрос вывести в карточки в зависмости от выбранного аттрибута. Куда дальше смотреть? Не могу понять как сделать вывод по  AJAX
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Подскажите я получил переменную. С помощью ее я делаю запрос к БД. И мне нужно это запрос вывести в карточки в зависмости от выбранного аттрибута. Куда дальше смотреть? Не могу понять как сделать вывод по  AJAX
Свой код покажите, как Вы это делаете.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Делаю в плагине. plugins\jshoppingproducts\plq_qtyattribute\plq_qtyattribute.php


Получаю значение использую
Код
class plgJshoppingproductsPlq_qtyattribute extends JPlugin
{
    public function __construct(&$subject, $config = array())
    {
        parent::__construct($subject, $config);
    }

    public $column;


    public function onBeforeLoadDisplayAjaxAttrib(&$view)
    {
        $attr = JFactory::getApplication()->input->get('attr',[], 'array');
        if (!empty($attr) && !empty($attr[7]))
        {
            $attr_size = $attr[7];

        }

        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query
            ->select('count', 'attr_29', 'attr_7')
            ->.......
            ->order($db->quoteName('attr_29'). ' ASC');

        $db->setQuery($query);
        $column = $db->loadColumn();
return $this->column;
}
public function onAfterDisplayProduct(&$view){
        $view->_tmp_var_qtyattribute = "<div class='stock_in stockin_bold col-12 col-md-12 col-xs-12'>
        в наличии в <span id=''>'.$this->column.'</div>'";
    }

Но я понимаю что событие быстрее срабатывает чем я получаю запрос из базы.
Добавил
Код
class plgAjaxPlq_qtyattribute extends JPlugin
    {
    public function onAjaxPlq_qtyattribute()
    {
        echo '123';
    }
    }

?>
И добавил в js файле
Код
jQuery(document).ready(function() {
    jQuery.ajax({
        url: 'index.php?option=com_ajax&group=jshoppingproducts&plugin=Plg_qtyattribute&format=json',
        type: "post",
        success: function(data)
        {
            var response = jQuery.parseJSON(data);
            console.log(data);
        },
        error: function (data) {
            console.log(data);
        }
    });
});
пишет что URL не найден 404.
echo 123 это как пример чтобы вывести
« Последнее редактирование: 30.11.2022, 12:03:05 от Dolphin4ik_1 »
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Вывести результат запроса в БД, в зависимости на какой атрибут выбран (сделан клик).
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вы наобум пишите код? Вдруг сработает?

Причем здесь функция - onBeforeLoadDisplayAjaxAttrib с параметром &$view? У нее совсем другие параметры - (&$product_id, &$change_attr, &$qty, &$attribs, &$freeattr, &$request))

Вам нужно в функции public function onBeforeDisplayProductView(&$view) делать свой запрос в базу данных и потом через этот код
Код
$document = JFactory::getDocument();
$document->addCustomTag("<script type=\"text/javascript\">
reloadAttribEvents[reloadAttribEvents.length] = function(json){
... ... ... ...
}
</script>");

отслеживать выбранную опцию атрибута и по условию выводить то что Вам нужно выводить.

А если Вам нужно выводить просто текст, что данная опция в наличии, то можете использовать уже готовый мой плагин - Товар на складе или Товар под заказ для JoomShopping
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вам нужно в функции public function onBeforeDisplayProductView(&$view) делать свой запрос в базу данных и потом через этот код
Тут запрос на количество и не нужно делать, эти данные и так есть. Если включить показывать кол-во на складе.

Вот пример как это работает: http://kolsold.ru/neokhmelennye-solodovye-ekstrakty/kontsentrat-pshenichnogo-soloda-svetlyj-kpss

Выберите опцию атрибута "Магазин"...
« Последнее редактирование: 30.11.2022, 14:38:23 от kit2m2 »
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
У меня три склада. И 39, 40, 50 размер. В админке склад1- 39 - 2 шт,  склад2 - 39 - 4 шт, склад3-39- 2 шт
Склад1-40 - 2 шт, склад2-40-3шт, склад3-40-0шт и т.д.

И допустим выбирает 39 размер выводятся остатки по всем складам на склад1-2 шт. , склад2-4 шт. , склад3 - 2 шт. Чтобы отоьражались остатки по складам, в жависимости от выбранного размера(аттрибута)
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
И что? Я должен вникнуть и написать Вам решение для ваших складов?

Вы задали вопрос, я дал Вам несколько подсказок, дал направление куда смотреть. Не можете сделать сами? Могу сделать за Вас, за деньги.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Просто немного запутался в этой теме вы говорили что запрос нужно делать к БД, по другому никак.

Вывод остатков каждого атрибута в карточке товара
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Просто немного запутался в этой теме вы говорили что запрос нужно делать к БД, по другому никак.
Это если Вам нужно вывести одновременно количество рядом с каждым атрибутом.
А если только выбранного, то так как я раньше написал.
По умолчанию уже есть данные количества каждого выбранной опции атрибута при ее выборе. Поэтому запрос в базу данных не нужен!
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Да нужно вывести одноаременно количество рядом с каждым атрибутом. Вот и не могу увязать клик(выбор) аттрибута и вернуть результат запроса к БД на страницу товара.
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Да нужно вывести одновременно количество рядом с каждым атрибутом. Вот и не могу увязать клик(выбор) аттрибута и вернуть результат запроса к БД на страницу товара.
Тогда я не понимаю, что Вы хотите... Зачем Вам отслеживать клик, если у Вас количество будет выводиться статично? У каждой опции свое...
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Dolphin4ik_1

  • Захожу иногда
  • 433
  • 3 / 2
Получается если атрибут выбран по умолчанию то выведутся остатки каждого аттрибута. (Рзамер 49) - склад1 остатки, склад2 остатки, склад3 остатки. Выберу размер другой(45) то вывод остатков изменится  - склад1 остатки, склад2 остатки, склад3 остатки. ?
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вы нормально можете объяснить что Вы в итоге хотите добиться? Можете это сделать в скайпе
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomShopping плагин подмены статического текста JoomShopping на материалы Joomla

Автор sergeytolkachyov

Ответов: 6
Просмотров: 829
Последний ответ 01.03.2024, 13:41:05
от sergeytolkachyov
WT JShopping cart save плагин брошенных корзин пользователей. JoomShopping 5.3+

Автор sergeytolkachyov

Ответов: 4
Просмотров: 357
Последний ответ 01.03.2024, 12:29:46
от kit2m2
WT Modules in Jshopping positions - плагин вставки модулей Joomla в JoomShopping

Автор sergeytolkachyov

Ответов: 2
Просмотров: 943
Последний ответ 06.02.2024, 18:15:15
от sergeytolkachyov
WT AmoCRM - JoomShopping - плагин интеграции Joomla 4

Автор sergeytolkachyov

Ответов: 0
Просмотров: 442
Последний ответ 20.01.2023, 18:43:59
от sergeytolkachyov
Вернуть запрос из базы по Ajax в плагине.

Автор Dolphin4ik_1

Ответов: 2
Просмотров: 361
Последний ответ 04.12.2022, 09:56:52
от kit2m2