Последние темы


Кнопки у shk-count

  • Откатился назад, настроил все заново. Провел эксперимент - Делаю со стандартными чанками, с включенными кнопками для количества - все работает. Отключаю кнопки, добавляю их в стандартный чанк вручную, в таком виде, в котором бы эти кнопки добавил JS:

            <button class="shk_count_button" type="button">-</button>
            <input class="shk-count" type="text" size="2" name="count[]" maxlength="3" title="изменить количество" value="[[+count]]" />
            <button class="shk_count_button" type="button">+</button>
    
    
    

    В таком виде кнопки ничего не делают. Добавляю к стандартным кнопка необходимые для моего скрипта стили (button--minus, button--plus), что бы значение в инпате изменялось моим скриптом, хтмл:

    <tr class="cart-order">
        <td align="left"><b><a href="[[+url]]">[[+name]]</a></b> [[+addit_data]]</td>
        <td>[[+price]] [[+currency]]</td>
        <td>
            <button class="shk_count_button button--minus" type="button">-</button>
            <input class="shk-count" type="text" size="2" name="count[]" maxlength="3" title="изменить количество" value="[[+count]]" />
            <button class="shk_count_button button--plus" type="button">+</button>
        </td>
        <td align="right">
            <a href="[[+url_del_item]]" title="Удалить" class="shk-del"><img src="assets/components/shopkeeper3/web/css/default/delete.gif" width="17" height="17" alt="Удалить" /></a>
        </td>
    </tr>
    

    JS:

    $(document).ready(function() {
        $('.button--minus').on("click", function () {
            var $input = $(this).parent().find('.shk-count');
            var count = parseInt($input.val()) - 1;
            count = count < 1 ? 1 : count;
            $input.val(count);
            $input.change();
            SHK.recountItemAll();
            return false;
        });
    
        $('.button--plus').on("click",function () {
            var $input = $(this).parent().find('.shk-count');
            $input.val(parseInt($input.val()) + 1);
            $input.change();
            SHK.recountItemAll();
            return false;
        });
    });
    

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

    Сделал все со стандартными чанками, чтобы избежать своих ошибок, но все равно чего-то не хватает. Подскажите, что еще можно попробовать?

  • @andchir Попробовал немного по-другому.
    Если оставить кнопки включенными по умолчанию, то когда мы меняем значение товара не кнопкой, а вручную, вписывая значение в инпат, то пересчет работает.
    Я попробовал менять значение в инпате своими кнопками и скриптом, но уже без вызова SHK.recountItemAll();, в надежде, что после изменения в инпате, значение само пересчитается. Однако этого не происходит, опять после нажатия на свою кнопку значение на малое время изменяется, появляется лоадер, значение возвращается в первичное состояния, при повторных нажатиях уже значение не меняется. Уже не знаю что и пробовать

  • Где можно посмотреть?

  • @andchir
    Ссылку напишу в приват.
    Сейчас поставил набор параметров для корзины, по умолчанию.
    0_1518204495214_5fa768f6-51b8-461a-934e-8f8d6dabd330-image.png

    У этого набора только шаблоны прописаны вручную, в новые чанки, что бы не работать с исходными
    0_1518204451749_0075112b-5d6d-4efd-bff2-0fd02021bc54-image.png
    Стандартные конпки включены, плюс к ним, в чанке cart__row--self добавлены свои кнопки. Скрипт к своим конпкам сейчас в таком виде:

    $(document).ready(function() {
        $('.button--minus').on("click", function () {
            var $input = $(this).parent().find('.shk-count');
            var count = parseInt($input.val()) - 1;
            count = count < 1 ? 1 : count;
            $input.val(count);
            $input.change();
            SHK.recountItemAll();
            return false;
        });
    
        $('.button--plus').on("click",function () {
            var $input = $(this).parent().find('.shk-count');
            $input.val(parseInt($input.val()) + 1);
            $input.change();
            SHK.recountItemAll();
            return false;
        });
    });
    
    1. Вместо $('.button--plus').on('click' лучше писать что-то вроде $('[data-shopcart="3"]').on('click', '.button--plus' чтобы после обновления корзины эти события оставались привязанными к кнопкам.

    2. Нужно убрать вторую корзину на странице. С двумя корзинами скрипт более сложный.

  • Добрый день. Переделала корзину и так-же вывела кнопки через html. И при первом клике цены обновляются, но при втором клике перекидывает на страницу товара, в чем может быть проблема? Сайт: http://ct23424fd.tmweb.ru/

  • И при первом клике цены обновляются, но при втором клике перекидывает на страницу товара

    Причина в том, что вы не последовали моему первому совету.

  • @andchir Пробовала так-же не работает(((

  • И так пробовала, на первый клик корзина обновляется, при втором перекидывает на главную.
    $(document).on('change', '[data-shopcart] .shk-count', function () {
    SHK.recountItemAll();
    return false;
    });

  • Пробовала так-же не работает(((

    Как пробовали?

 

Последние комментарии

  • Я не знаю как тебе объяснить, что твой продукт гавно. Что шопкипер, что catalogfil - полное кривое гавно

    Зачем ты мучаешь себя? Не пользуйся. Другие продукты тоже все "говно", или может говно у тебя в голове?

    Ты хоть сам тестировал свою хрень в подобной ситуации? Нормальный функционал и документацию ты сделать поленился

    Много я таких как ты встречал. У вас всегда кто-то другой виноват. До таких "умников" даже не доходит, что в продукте может отсутствовать требуемый им функционал. И это нормально. Ты хотел многофункциональный комбайн за 500 руб? Я подсказываю обходные пути, но для тебя это слишком сложно (это я про другие темы этого автора).

    видимо с той целью что бы выклянчить копеечку

    С таких как ты мне ничего не надо. Лучше просто забудь о существовании Шопкипера и CatalogFill.

    Давай отвечай

    Зачем мне это? Ни за один ответ я не получил от тебя даже "спасибо".

    или просто кинь ещё 1 бан, хоть власть почувствуешь)))

    Моему терпению можно только позавидовать. Ты заслужил бан уже очень давно.

    Читать далее
  • V

    @Andchir Я не знаю как тебе объяснить, что твой продукт гавно. Что шопкипер, что catalogfil - полное кривое гавно. Я тебе пытаюсь объяснить, что товар или добавляется дублями или изменяются параметры у товаров с таким же артикулом, ты же мне рассказываешь про кнопочки "Добавить" и "Обновить". Ты хоть сам тестировал свою хрень в подобной ситуации? Нормальный функционал и документацию ты сделать поленился, видимо с той целью что бы выклянчить копеечку. Все эти функции должны были быть описаны в документации. Есть демо сайт, есть галерея в нём, значит и импорт должен производиться под этот сайт и всё было бы понятно. Давай отвечай или просто кинь ещё 1 бан, хоть власть почувствуешь)))

    P.S: Весь мой вопрос можно было решить за 1 день, после первого поста.

    Читать далее
  • Ещё один момент, если вам нужно добавить товар, то нужно нужно переключатель "Тип импорта" ставить в положение "Добавить". Но делаете ли вы так - такой информации я тоже не увидел. Вытаскивать из вас информацию по кусочкам - слишком долго.

    Читать далее
  • Вы отправляетесь в бан на 2 дня. Каждый раз одно и то же. Мне не нужна информация сколько вы раз возвращали резервную копию. Но нужен полный конфиг, а не кусочки. При этом нормальная информация "делаю так - получаю так", а не "получаю так или так" (не известно при каких действиях).

    У меня изначально стоял параметр false, я пробую и так и сяк

    Не нужно пробовать "так и сяк", нужно делать так как написано и так как правильно по смыслу описания параметров. После этого писать на форуме, что "делаю как должно быть, но получается не так". Если вы что-то пробуете, что вообще не правильно по смыслу, то мне об этом писать не нужно.

    Читать далее