Shopkeeper и tagmanager2



  • Здравствуйте!
    На сайте установлен Shopkeeper и пытаюсь настроить tagmanager2
    Фильтрация не аякс работает, с аякс - совсем не хочет ничего происходить.
    Заметил что куча ошибок в консоли. Внешне они сайту не мешали, но какая-то проблема с java похоже. Подскажите, пожалуйста что можно сделать? Явно что-то с явой, не пойму как наладить второй день

    Ошибки без таг менеджера с одним шопкипером (страница сайта):

    jquery.livequery.js:226 Uncaught ReferenceError: jQuery is not defined
    at jquery.livequery.js:226
    shopkeeper.js:9 Uncaught ReferenceError: jQuery is not defined
    at shopkeeper.js:9
    icpdas-i-8000w.html:28 Uncaught ReferenceError: jQuery is not defined
    at icpdas-i-8000w.html:28
    SHKCur.js:75 Uncaught ReferenceError: jQuery is not defined
    at SHKCur.js:75

    Корзина, добавление товаров, пересчет валют работает много времени, не замечал что болеет.

    На странице (сама страница сайта) где присутствует и корзина шопкипера и тагменеджер2 вот такой список в консоли:

    jquery.livequery.js:226 Uncaught ReferenceError: jQuery is not defined
    at jquery.livequery.js:226
    shopkeeper.js:9 Uncaught ReferenceError: jQuery is not defined
    at shopkeeper.js:9
    icpdas-m-7000.html:29 Uncaught ReferenceError: jQuery is not defined
    at icpdas-m-7000.html:29
    SHKCur.js:75 Uncaught ReferenceError: jQuery is not defined
    at SHKCur.js:75
    jquery-ui-1.10.3.custom.min.js:6 Uncaught ReferenceError: jQuery is not defined
    at jquery-ui-1.10.3.custom.min.js:6
    jquery.history.js:1 Uncaught TypeError: r is not a function
    at Object.bind (jquery.history.js:1)
    at Function.h.initCore (jquery.history.js:1)
    at Function.h.init (jquery.history.js:1)
    at jquery.history.js:1
    at jquery.history.js:1
    view_switch.js:20 Uncaught ReferenceError: $ is not defined
    at view_switch.js:20
    at view_switch.js:86
    icpdas-m-7000.html:1094 Uncaught ReferenceError: jQuery is not defined
    at icpdas-m-7000.html:1094



  • Ну да, судя по ошибкам у вас jquery либо отсутствует, либо конфликтует (два вызова на странице)
    Проверьте, какие скрипты загружаете и есть ли jquery



  • @slaad
    подключаю jquery один раз, сам файл библиотеки существует. конфликтовать может с кем-то? Всю голову сломал уже... Ошибки только на тех страницах, где корзина шопкипера пристутсвует
    0_1493139945358_upload-56ce2ca2-7c4a-48c5-aa78-f769a9962226



  • livequery и jquery разные вещи
    Вам нужен jquery



  • Эта запись удалена!


  • @slaad
    если подключаю jquery jquery-1.12.4.min

    то список ошибок такой становится
    shopkeeper.js:105 Uncaught TypeError: jQuery(...).live is not a function
    at n.fn.init.jQuery.fn.shopkeeper (shopkeeper.js:105)
    at HTMLDocument.<anonymous> (icpdas-i-8000comm.html:33)
    at HTMLDocument.dispatch (jquery-1.12.4.min.js:3)
    at HTMLDocument.r.handle (jquery-1.12.4.min.js:3)
    at Object.trigger (jquery-1.12.4.min.js:3)
    at n.fn.init.triggerHandler (jquery-1.12.4.min.js:3)
    at Function.ready (jquery-1.12.4.min.js:2)
    at HTMLDocument.K (jquery-1.12.4.min.js:2)

    если jquery-3.2.1.min, то короче список, но все что-то на шопкипере завязано

    icpdas-i-8000comm.html?currencies=set&curKey=RUR:31 Uncaught TypeError: Cannot set property 'data' of undefined
    at icpdas-i-8000comm.html?currencies=set&curKey=RUR:31
    (anonymous) @ icpdas-i-8000comm.html?currencies=set&curKey=RUR:31

    наиболее адекватно работает с 1.12.4 - появилась возможность указать количество, которое кидать в корзину, но пропала кнопка "оформить заказ" в корзине. чанк корзины не трогал
    0_1493190643615_upload-833e185d-7359-4edf-9435-547d72cc2230



  • @semenov80 в пакете шопкипера в той же папке, где и live идет jquery, с которым он работает, можете его подключить попробовать?



  • Посмотрите как на демо сайте это подключено:

       <script type="text/javascript" src="/assets/template/js/jquery-3.1.1.js"></script>
        <script type="text/javascript" src="/assets/components/shopkeeper3/web/js/lang/ru.js"></script>
        <script type="text/javascript" src="/assets/components/shopkeeper3/web/js/shopkeeper.js"></script>
        <script type="text/javascript" src="/assets/components/tag_manager2/js/web/jquery-ui-1.10.3.custom.min.js"></script>
        <script type="text/javascript" src="/assets/components/tag_manager2/js/web/jquery.history.src.js"></script>
        <script type="text/javascript" src="/assets/components/tag_manager2/js/web/filters.js"></script>
        <script type="text/javascript" src="/assets/components/tag_manager2/js/web/view_switch.js"></script>
    
    

    Также, SHK подключает скрипты автоматически, лучше при первой настройке воспользоваться именно этой опцией, а не подключать вручную. Когда заработает, тогда уже отключаете автомат и делайте в ручном режиме.
    А еще лучше демо сайт поставьте, много вопросов снимите и себе и другим))



  • Эта запись удалена!


  • @slaad
    Еще раз спасибо огромное, разобрался кажется с шопкипером - разработчик сайта с чанками корзины и строки намудрил, но вроде распутал клубок.
    С разработчиком не было прямого контакта, с фирмой у которой заказывал 3 года контакта нет, а сайт рабочий, вот допиливаю как время есть)

    Jquery подключил, надеюсь и аякс на тагменеджере заработает



  • tagmanager на аяксе заработал. столкнулся с такой вещью - фильтр срабатывает и карточки криво отображаются. вместо валют кусок кода, шрифты не те
    0_1493384859942_upload-d16e6cfe-37b6-4711-81e5-ccbb5286ecda
    нажимаю f5 и все становится в норму
    0_1493384912706_upload-da679ab3-6b83-4186-8000-cbc7f7e08b07
    где-то что-то кэшировать надо?
    в консоли ошибок нет
    по ощущениям как не те TV подхватывает из товара. но при F5 все в норму приходит - это с толку сбивает. как с корзиной шопкипера было - первый раз считывает шаблон из чанка в файле шопкипера, второй (после обновления) - из пользовательского чанка.



  • судя по всему аякс начинает тупить, натыкаясь у меня на эту конструкцию из чанков и phx
    [[+tv.noprice:is=1:then=[[$nosendtobasketinlist?&id=[[+id]]&pagetitle=[[+pagetitle]]&tv.price=[[+tv.price]]]]:else=[[$sendtobasketinlist?&id=[[+id]]&pagetitle=[[+pagetitle]]&tv.price=[[+tv.price]]]]]]

    это часть чанка product шопкипера, отвечающая за вывод кнопки добавить в корзину и цену товара, с условием что на товар открыта цена (если закрыта, то пишет "по запросу")
    после F5 страница приобретает нужный вид, до f5 как будто не переваривает. скрипты тагменеджера и вручную грузил и по умолчанию - не помогает.
    кто сталкивался, помогите пожалуйста.



  • Я думаю, что у вас параметры заданы непосредственно в вызове, а не в наборе параметров.

    Приведите пример, как вызываете тагменеджер и каталогфилл.



  • @slaad
    в наборе параметров забиваю параметры (в гетпейдж)
    вызываю без параметров, как в примере документации (сортировку убрал чтоб не захламляла)
    [[tmFilters?
    &filterOuterTpl=tm2_filterOuterTpl
    &filterTpl=tm2_filterTpl
    &filterNumericOuterTpl=tm2_filterOuterTpl
    &filterNumericTpl=tm2_filterNumericTpl
    &jsMap=0
    &toPlaceholder=filters
    &categoryId=313
    ]]

    <ul class="goods-list">
    <div id="products">
    [[!tmCatalog]]
    <div class="clearfix"></div>
    </div>
    </ul>
    <ul class="pages" id="pages">
    [[!+page.nav]]
    </ul>

    В наборах параметров гетпродуктс если указываю имена ТВ, которые используются в выводе товара, то картина более причесанный вид приобретает, но всё равно рушится на phx конструкции до того как нажать F5
    думаю все оттого что на сайте старый шопкипер версии 2.0, а обновить его нет возможности - там модуль валют дописывался.
    сейчас присмотрелся - вообще бардак, только тихий стал. там где вызывается тагменеджер, там блокируется скрипт валюты (чтобы можно было поправку в % в курс вносить). в консоли тишина, а валюта не меняется. провозился день, понял что несостыкуемо все.



  • не подскажите, если шопкипер обновить до последней версии, то какие файлы старого затрутся?



  • Эта запись удалена!


  • с валютой разобрался - в сниппете tmFilters была настройка работы только на Шопкипер3 папку
    require_once $modx->getOption('core_path') . "components/shopkeeper3/model/shopkeeper.class.php";

    исправил на свою и валюта заработала. а вот продукты выводит tmCatalog все равно криво, если потом не нажать F5. После F5 становится как надо



  • как сделать чтобы при ajax-фильтрации скрипты отрабатывались? получается все встало из-за того что цена у меня пересчитывается на ходу и еще засунуто все в конструкцию
    [[+tv.noprice:is=1:then=[[$nosendtobasketinlist?&id=[[+id]]&pagetitle=[[+pagetitle]]&tv.price=[[+tv.price]]]]:else=[[$sendtobasketinlist?&id=[[+id]]&pagetitle=[[+pagetitle]]&tv.price=[[+tv.price]]]]]]
    ее ajax отработать не может и получается такое0_1493419734804_upload-f80177df-0cd5-4606-906d-339562cd4d8e
    после F5 приходит в норму
    0_1493419783075_upload-1cb70d24-3a36-4bcf-8e40-e415272a0663
    и заметил JSmap=1 тоже не работает, если ставить в tmFilters - чекбоксы не активны. если =0, то активны. Может здесь какой-то ключ...



  • сделал категории некэшируемыми, убрал "!" из вызовов всех сниппетов кроме tmCatalog, которые при аякс отрабатывают, убрал конструкцию phx - всё заработало внешне как нужно.
    осталось jsmap=1 - почему-то фильтры неактивны при таком значении, только jsmap=0 работают.
    я так понимаю без jsmap число товаров не видно будет?



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.