#javascript #shopify #shopify-template
#javascript #shopify #shopify-шаблон
Вопрос:
Итак, я пытаюсь вызвать простую функцию оповещения внутри моей страницы snippets / product-card-grid.liquid.
Может кто-нибудь, пожалуйста, скажите мне, что я делаю не так и почему моя функция не выполняется на странице product-card-grid?
в нижней части страницы я добавил функцию с именем «foo ()», которая должна выполнять предупреждающее сообщение, когда страница загружает страницу с одним продуктом. Поскольку одна страница продукта содержит этот фрагмент.
Однако он не выдает предупреждающее сообщение, так как я могу написать здесь функцию JS, чтобы заставить ее работать.
{% comment %}
Renders a product card using "Grid" style
Accepts:
- max_height: {Number} Maximum height of the product's image (required)
- product: {Object} Product Liquid object (required)
- show_vendor: {Boolean} Show the product's vendor depending on the section setting (optional)
Usage:
{% include 'product-card-grid', max_height: max_height, product: product, show_vendor: section.settings.show_vendor %}
{% endcomment %}
<script>
console.log('here....');
</script>
<div class="grid-view-item{% unless product.available %} grid-view-item--sold-out{% endunless %} product-card">
<a class="grid-view-item__link grid-view-item__image-container full-width-link" href="{{ product.url | within: collection }}">
<span class="visually-hidden">{{ product.title }}</span>
</a>
{% capture img_id %}ProductCardImage-{{ section.id }}-{{ product.id }}{% endcapture %}
{% capture wrapper_id %}ProductCardImageWrapper-{{ section.id }}-{{ product.id }}{% endcapture %}
{%- assign preview_image = product.featured_media.preview_image -%}
{%- assign img_url = preview_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%}
{% unless preview_image == blank %}
{% include 'image-style', image: preview_image, height: max_height, wrapper_id: wrapper_id, img_id: img_id %}
{% endunless %}
<div class="product-card__image-with-placeholder-wrapper" data-image-loading-animation>
<div id="{{ wrapper_id }}" class="grid-view-item__image-wrapper product-card__image-wrapper js">
<div style="padding-top:{% unless preview_image == blank %}{{ 1 | divided_by: preview_image.aspect_ratio | times: 100 }}%{% else %}100%{% endunless %};">
<img id="{{ img_id }}"
class="grid-view-item__image lazyload"
alt="{{ preview_image.alt }}"
data-src="{{ img_url }}"
data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
data-aspectratio="{{ preview_image.aspect_ratio }}"
data-sizes="auto"
data-image>
</div>
</div>
</div>
<noscript>
{% capture image_size %}{{ max_height }}x{{ max_height }}{% endcapture %}
<img class="grid-view-item__image" src="{{ preview_image | img_url: image_size, scale: 2 }}" alt="{{ preview_image.alt }}" style="max-width: {{ max_height | times: preview_image.aspect_ratio }}px;">
</noscript>
<div class="h4 grid-view-item__title product-card__title" aria-hidden="true">{{ product.title }}</div>
{% include 'product-price-listing', product: product, show_vendor: show_vendor %}
<div>
<script>
function foo() {
alert('hellos');
}
foo();
</script>
<img src="logo.jpg" style="width:103px !important; padding-top: 3px;"><span style="font-size:13px; position:absolute; margin-top:17px;">From $ <script> calWeeklyFixedTerm({{ product.price | money_without_currency }}, 12);</script>/week</span>
</div>
</div>
Комментарии:
1. Вы можете видеть при просмотре исходного кода, появляется ли тег script на нужной странице?
2. Да, он отображает тег сценария и функцию на странице, но не влияет на функцию.
3. Можете ли вы открыть консоль в dev tools и посмотреть
foo
, существует ли функция?4. Вы уверены, что это правильный фрагмент?
5. Да, это тоже показывает меня в консоли @Mike Я скоро разместлю фотографию в этом посте