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

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

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

33 комментария к “Натяжка на 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. при активации быстрого просмотра их выводить
      Если берем способ их видео, то там достаточно в колбеке аякса получить нужные поля и их просто подхватить уже на фронте когда выводим данные

      Ответить
    • @Финты WordPress в общем получилось по аналогии с
      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, то наверно можно и Айрис? Она же тоже встроенная.

      Ответить
    • @Финты WordPress Пока не нашел, ну то ладно. У меня более важный момент. Красивые вариации в виде цвета, размера из плагина 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 вашим способом. Заранее благодарю за ответ!

    Ответить
    • ​@Финты WordPress Артем еще один вопрос. Если не трудно. Тоже по скриптам. Сделал мини корзину. Почему то не удаляются товары из нее. Классы на кнопке оставил стандартные (‘,). Не было у вас такого?

      Ответить
  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
      Если у вас во фрагмент попадает неверный класс, то ничего срабатывать не будет

      Ответить

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

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