как ввести {% include snippetname. liquid % }.жидкость %} в корзину жидкость автоматически во время установки приложения?

#php #shopify #code-snippets #shopify-app

#php #Shopify #фрагменты кода #Shopify-приложение

Вопрос:

Я столкнулся с проблемой при отправке приложения Shopify. Проблема в том, что рецензент сказал мне автоматически вставлять код самим приложением вместо ручной вставки кода.

На самом деле я работаю над приложением, в котором мне нужно вставить фрагмент на страницу моей корзины прямо над кнопкой отправки. Я делаю это вручную, и это работает нормально. Но теперь мне нужно сделать это автоматически, поскольку это требование «Shopify APP store listing». Я получил электронное письмо от рецензента приложения, что это должно быть сделано автоматически самим приложением.

Мое приложение работает нормально, в нем нет других проблем. Пожалуйста, помогите мне решить эту проблему.

О приложении: Мое приложение построено с использованием PHP. В сниппете это просто добавление флажка на странице корзины перед переходом к процессу оформления заказа.

Комментарии:

1. Проверьте функцию тегов скриптов Shopify

2. Лол, серьезно… Я ненавижу приложения, которые изменяют код темы таким образом, и Shopify заставляет вас делать это… Единственный способ добиться этого — использовать Asset API и изменить шаблон корзины или раздел, проблема в том, что вы должны знать, находится ли кнопка в шаблоне / разделе / фрагменте… таким образом, вы ограничиваете работу своего приложения только в определенных случаях, если клиент использует пользовательскую тему, вы немного облажаетесь, так как не будете знать, где искать (кнопка может быть везде). Таким образом, у вас также должен быть ручной вариант. (@HymnZ API скриптов предназначен только для JS, вы не можете добавить с ним код liquid)

3. @drip .. Понятия не имею, о чем приложение op или даже о том, что содержит так называемый фрагмент. Как владелец магазина, было бы здорово, если бы темы не затрагивались, потому что многие приложения оставляют мусор при удалении. Таким образом, единственный надежный способ обеспечить чистоту темы — это использовать js-инъекцию или app-proxy, что здесь излишне.

4. @HymnZ да, я полностью согласен. Просто хотел выбросить это на случай, если ОП запутается в том, что он может добавить фрагмент с помощью API тегов скрипта.

5. Да, это основная проблема,, некоторые темы используют Ajax cart, некоторые используют разделы cart-template. liquid и некоторые используют только cart.liquid. есть ли какой-либо способ узнать, где находится точная страница корзины в теме?

Ответ №1:

Согласно всем комментариям, ваше приложение считается плохим, если вы вводите Liquid вручную или используете вызовы Asset API для изменения темы. Поэтому вместо этого используйте JS и тег Script. С помощью этого вы можете определить, находитесь ли вы на странице корзины, и если да, добавьте элементы DOM для достижения ваших целей в сочетании с вашим приложением. На самом деле нет излишеств, используйте то, что вам предоставляется, и используйте это хорошо.

Комментарии:

1. Привет, спасибо за ваш комментарий, но как мы можем добавить элемент DOM, если мы не имеем ни малейшего представления о кнопке, используемой на странице корзины. кнопка может быть простой кнопкой или кнопкой ввода. что, если страница корзины является пользовательской, означает, что классы, идентификаторы не совпадают с классами по умолчанию?

2. Это ваша настоящая проблема. Я уверен, что вы можете это выяснить. обнаружение кнопки — одна из самых простых задач, с которыми мы справились на компьютерах!

3. Да, @David Lazar проблема устранена, и она работает нормально.