Натяжка на WooCommerce. HTML2WC. Часть #8.4. Архивы: быстрый просмотр товара на ajax

Артем Абрамович

Меня зовут Артем Абрамович и я являюсь фрилансером-вордпресером. Занимаюсь настройкой и редактированием сайтов созданных на CMS WordPress. Это основная моя специализация, есть еще несколько работ, которыми я занимаюсь, но обо этом вы можете более подробно узнать из моего портфолио.

34 комментария к “Натяжка на WooCommerce. HTML2WC. Часть #8.4. Архивы: быстрый просмотр товара на ajax”

  1. Здравствуйте вы пользовались темой sanfrancisco — multiconcept?
    Есть ли возможность её скачать бесплатно? И если она вам интересно может мы её купим на пополам?

    Ответить
  2. Артем, доброго времени.

    Не приходилось ли менять скобочки счетчика товаров в категориях и атрибутах?
    Бьюсь нифига не получатся . Хотел фильтром woocommerce_layered_nav_count, но… нифига не выходит.
    Плюнул — полез файлы корячить в дочерней… и там не применяет… только замена в папке вуу 😵
    Куда только не совал их в дочерней…

    Ответить
    • Доброго! Это в видежете? Если да, то виджет использует функцию wp_list_categories и можно ипользовать фильтр wp_list_categories для корректировки выходного хтмл

      Ответить
  3. отличный урок, делать пока не буду, но все ясно и понятно уже, очень доходчивая демонстрация, спасибо!

    Ответить
  4. Артем ! Подскажите вы в этом курсе расматриваете реализацию фильтра товаров ? Если да, то сориентируйте пожалуйста в каком видео (не могу найти) ? Какой лучше плагин для этого использовать?

    Ответить
    • Нет, фильтров не будет. Сложно это все, проще плагин использовать. Про плагины фильтров будет отдельное видео

      Ответить
  5. Спасибо за идею самописной модалки quick view! Во всех плагинах есть что-то, что не нравится, а так можно все сделать как нравится.
    У меня вопрос по Вашему материалу. У Вас есть статьи про создание произвольных полей для товаров и вариаций. https://wpruse.ru/woocommerce/custom-fields-in-products/ и https://wpruse.ru/woocommerce/custom-fields-in-variations/.
    Как их значения вывести в эту модалку? Чтобы тоже подтягивались динамично для каждого открытого в данный момент товара.
    Покажите пожалуйста хоть один пример. Поля по инструкции созданы, выведены на странице товара — нужно только в модалке quick view.
    Любой пример из статьи, хоть самое простое текстовое поле.

    Ответить
    • Тут два способа, зависит как вообще быстрый просмотр сделан
      1. Через js просто со страницы подхватывать их из того элемента в котом они выводятся по классу или по id
      2. при активации быстрого просмотра их выводить
      Если берем способ их видео, то там достаточно в колбеке аякса получить нужные поля и их просто подхватить уже на фронте когда выводим данные

      Ответить
    • @@wpruse в общем получилось по аналогии с
      get_short_description(); ?>
      вывести и Ваши примеры полей
      get_meta( ‘special_price’, true ); ?>
      get_meta( ‘_term_prod_var’, true ); ?>
      Я что-то в первый раз попробовал выводить как echo get_post_meta( $post->ID, ‘_text_field’, true ); но для этого модала так не подойдет.
      А можно ли добавлять поле с color picker(Iris) и сохранять так же его знаечние?
      Как в плагинах это делать я знаю, но мне очень интересно разбирать, как это делается без них. Если можно встроенный редактор Tiny, то наверно можно и Айрис? Она же тоже встроенная.

      Ответить
    • @@wpruse Пока не нашел, ну то ладно. У меня более важный момент. Красивые вариации в виде цвета, размера из плагина variation switcher и ему подобных подцепляются к кнопке woocommerce_template_single_add_to_cart() выводятся вместе с ней. Где взять ее шаблон вывода по аналогии с woocommerce_template_loop_add_to_cart()? В каком файле?

      Ответить
    • В общем перед $product = wc_get_product(esc_attr($_POST[‘id’])); поставить global $post, $woocommerce, $product; не знаю, какая глобальная переменная таки решающая, но прям все сразу наверняка помогли. А вместо куска шаблона, выводящего кнопку, . Если кому надо, или Вам чтоб с вариациями и наименшими усилиями. Модифицируем хороший материал=)

      Ответить
    • $product решающая, если на странице товара находимся. Но и даже она не нужна. wc_get_product() — автоматически подхватывает id текущего товара, если он не передан

      Ответить
  6. Добрый день Артем! Я попробовал Ваш способ по просмотру товара на ajax, все нормально, получилось (Спасибо за видео). Но в моей верстке попап сделан на плагине magnific popup.js. сама верстка окна вынесена в отдельный файл. Не могу понять как подключить magnific popup к ajax вашим способом. Заранее благодарю за ответ!

    Ответить
  7. Артем еще один вопрос. Если не трудно. Тоже по скриптам. Сделал мини корзину. Почему то не удаляются товары из нее. Классы на кнопке оставил стандартные ( class=»remove remove_from_cart_button fa fa-times fa-delete»). Не было у вас такого? Еще раз благодарю за ответы и терпение!

    Ответить
    • Совсем не удаляются или после перезагрузки страницы все удаляются?

      Ответить
    • @Владислав Галунов Это значит, что надо еще данные в рефреш добавить. Посмотрите в консоли на владке Network что происходит когда отрабатывает аякс

      Ответить
    • @Финты WordPress Добрый вечер. Посмотрел. При удалении статус запроса 200. Во вкладке запрос выдает какой то ключ (cart_item_key»a3f390d88e4c41f2747bfa2f1b5f87db»). Во вкладке ответ выдает html код . Может не туда смотрю?

      Ответить
    • Добрый! Решил вопрос, просто снял галочку с » Включить Ajax для кнопки добавления в корзину из архивов » в настройках. Я думал она наоборот нужна!

      Ответить
    • Ну теперь у вас со страниц архивов добавление товаров без аякса происходит, это не всегда удобно. Ну и да, не туда смотрите. Есть такой функционал фрагментов. ПРи удалении товара их корзины он срабатывает https://github.com/woocommerce/woocommerce/blob/trunk/includes/class-wc-ajax.php#L194
      Если у вас во фрагмент попадает неверный класс, то ничего срабатывать не будет

      Ответить
  8. Хорошие и качественные видео. Именно то, что нужно для понимания с примерами, обзорами и комментариями)) Спасибо огромное!

    Ответить

Добавить комментарий

%d такие блоггеры, как: