Олег

Олег

С нами с 23 марта 2021; Место в рейтинге пользователей: #724
25 января 2022, 14:24
0
В общем-то всё решилось. Оказалась, проблема была в скрипте вызова всплывающей корзины, который отслеживал клик на всем документе, и если ближайший элемент — корневой узел всплывашки, то корзина обновлялась по AJAX. После такого ощущаешь себя мартышкой с гранатой)) но, на то он и опыт)
24 января 2022, 17:35
0
Добрый день. Как вы решили эту проблему?
24 января 2022, 16:58
0
мини-корзина открывается по клику:
document.addEventListener("click", function(event) {
        if (event.target.closest(".header .cart")) {
          $.ajax({  
            type: "POST",  
            url: '[[~10]]',
            success:  function(data) { 
              if (data){
                $('.cart__list').html(data);
              }else{
                miniShop2.Message.error('Что-то пошло не так, попробуйте позже!');
              }
            }
          });
          cart1.classList.add("cart--active");
        }
        if (!event.target.closest(".header .cart")) {
          cart1.classList.remove("cart--active");
        }
      });
В ресурсе №10 лежит список товаров, который вызывается
[[!msCart?
  &tpl=`toggleCart`
]]
toggleCart:
{foreach $products as $product}
  <li class="cart__item">
    <form class="cart__product ms2_form" id="dynamic-{$product.id}" method="post">
      <img class="cart__thumb" src="{$product.image}" alt="{$product.pagetitle}">
      <div class="cart__info">
        <p class="cart__title">
          {$product.article}
        </p>
        <span class="cart__price">
          {$product.price}
        </span>
      </div>
      <div class="cart__product-quantity">
      </div>
      <input type="hidden" name="id" value="{$product.id}">
      <input type="hidden" name="key" value="{$product.key}">
      [[!msDynamicCount?
    		&id=`{$product.id}`
    	]]
    </form>
  </li>
{/foreach}
таким образом получается следующее: при клике «положить в корзину» сколько бы то ни было раз товар в нужном количестве попадает в корзину. При открытии мини-корзины AJAX-ом делается запрос на ресурс №10, который сниппетом msCart по шаблону toggleCart формирует из корзины список товаров и их количество. Из toggleCart запускается сниппет msDynamicCount при изменении количества единиц товаров. Учитывая, что запросы выполняются AJAX'ом, возможно, не стоит ждать быстрой скорости реакции. В моем случае это 1-3 секунды при обновлении страницы. И даже в этом случае нет гарантии, что количество единиц товара будет изменено. Плюс, в инпут невозможно ввести свои показания: фокус очень быстро «уходит» с инпута(возможно ввести символы, но такое никуда не годится).
24 января 2022, 14:41
0
Когда добавляю товар в корзину появляется jgrowl-попап об успешном добавлении товара в корзину, а счетчик товара прибавляет один товар и сразу же отнимает. Чтобы добавить единицу товара в корзину нужно нажать 1-3 раза по плюсу. Если после нажатия на плюс сразу перейти в корзину — товар добавляется, иначе — возможно да, а может и нет. Что-то мешает, причем каждый раз необходимо разное количество попыток чтобы увеличить количество товара.
Кто-нибудь знает где примерно искать причину или может сталкивался с подобным?
21 января 2022, 17:34
0
Вы бы стали его использовать?
30 сентября 2021, 19:46
0
Да, мой босс тоже считает что фронт и бэк одно и тоже, потому что главное — желание)) Да, можно научиться, и это хорошо, если хочется развиваться в этом направлении. Я тоже не хочу уходить из этого места, где работаю, но некоторые моменты очень напрягают. Вы такой список функций привели, что могли бы работать и без руководства) Я, например, переживаю что не смогу сделать полноценный проект из-за нехватки знания в технологиях и опыта. Не хочу показаться грубым и не сочтите за неуважение, но вы зря себя недооцениваете. С таким обширным опытом и технологической прослойкой вас с руками оторвут если надо)
30 сентября 2021, 17:34
0
Вы, наверное, крутой дядька, если успеваете все это делать. Не представляю как бы я справился с таким количеством функций. Учитесь сами по форумам и ютубам? Или это время уже прошло и вы делаете все это на автомате?
Не мое дело, это точно, но видимо что то вас держит, если вы еще не сбежали с этой карусели.
30 сентября 2021, 17:10
+1
Видимо, ваш сеошник — самодур и дилетант без опыта и любви к профессии. Согласен, что с такими людьми работать не очень приятно. У меня на работе такой вот товарищ — дизайнер, ей лишь бы поскорее сделать работу и скинуть, а это выглядит как «и так сойдёт» — не ее дело. Тоже небольшая контора)
В моем, правда, случае, сеошник со стажем десять лет и горбатого не лепит, даже подсказывает что-то мне, если знает. Тот задаёт работу всем, и я учусь делать какие-то новые вещи.
Жаль, конечно, но я думаю что это отличительная черта многих маленьких фирмочек. Да, наш дизайнер ещё и старый друг директора… поэтому такой бедлам.
30 сентября 2021, 11:25
0
Да, по ТЗ их будут указывать вручную. Возможно потому что сайт небольшой. Хотя мне тоже кажется это немного неудобным. Лучше делать рандомную выборку из родительского контейнера. Ну, сеошнику наверное виднее)
30 сентября 2021, 11:19
0
Да! Все работает, спасибо за помощь)
23 марта 2021, 16:22
0
Можно ли обойтись малой кровью не меняя кодировку для всей БД, поменяв кодировку у одной таблицы? Если нет, то я как я могу сменить кодировку?