Tuotesuositusten näyttäminen tuotesivulla
Huomio
Tämä on edistyneille käyttäjille tarkoitettu tutoriaali, jota Shopify ei tue . Verkkosuunnittelun kielten, kuten HTML:n, CSS:n, JavaScriptin ja Liquidin, tuntemus on tarpeen. Jos tarvitset apua, voit palkata Shopify Partnerin .
Huomio
Vanhoja teemoja ei ole saatavilla Theme Storessa. Vanhoissa teemoissa ei ole Shopifyn Online Store 2.0 ‑teemoihin sisältyviä ominaisuuksia, eikä Shopifyn ilmaisiin vanhoihin teemoihin tehdä muita päivityksiä kuin tietoturvakorjauksia.
Huomaa
tämä mukautus koskee vain vanhoja Shopify-teemoja, eikä sitä sovelleta Online Store 2.0 -teemoihin.
Tässä tutoriaalissa kuvataan, miten Debut -teemassa lisätään tuotesuositukset tuotesivulle. Lue lisää siitä, miten tuotesuositukset toimivat, tuotesuositusten näyttämistä tuotesivuilla käsittelevästä kohdasta.
Vaihe 1: luo osio product-recommendations.liquid
Tietokone
Siirry Shopify Adminissa kohtaan Verkkosivu > Teemat .
Etsi teema, jota haluat muokata, avaa toimintovalikko klikkaamalla ... -painiketta ja klikkaa sitten Muokkaa koodia .
Klikkaa Osat -hakemistossa kohtaa Lisää uusi osa .
Anna uudelle osiolle nimeksi product-recommendations
ja valitse sitten Luo osio .
Korvaa koko sisältö alla olevalla koodilla:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . performed %}
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
{% else %}
<div class="product-recommendations__loading-dots">
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
</div>
{% endif %}
</div>
Klikkaa Tallenna .
Kun osio hahmonnetaan tuotesivulla, recommendations.performed
muuttuu tilaan false
, jolloin luotu HTML näyttää latausanimaation:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
<div class= "product-recommendations__loading-dots" >
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
</div>
</div>
Jos et halua näyttää latausanimaatiota, käytä sen sijaa tätä koodia:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
Kun yllä oleva osa muodostetaan tuotesivulla, luotu HTML on div
-elementti, jossa ei ole sisältöä:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
Jos käyttäjä käyttää vaihtoehtoista alueasetusta, alue sisällytetään div-elementin data-base-url
-osoitteeseen. Esimerkiksi /fr/recommendations/products
.
iPhone
Napauta Shopify-sovelluksessa … -painiketta.
Napauta myyntikanavat -osiossa Verkkokauppa .
Napauta Hallitse teemoja .
Etsi teema, jota haluat muokata, avaa toimintovalikko klikkaamalla ... -painiketta ja klikkaa sitten Muokkaa koodia .
Klikkaa Osat -hakemistossa kohtaa Lisää uusi osa .
Anna uudelle osiolle nimeksi product-recommendations
ja valitse sitten Luo osio .
Korvaa koko sisältö alla olevalla koodilla:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . performed %}
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
{% else %}
<div class="product-recommendations__loading-dots">
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
</div>
{% endif %}
</div>
Klikkaa Tallenna .
Kun osio hahmonnetaan tuotesivulla, recommendations.performed
muuttuu tilaan false
, jolloin luotu HTML näyttää latausanimaation:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
<div class= "product-recommendations__loading-dots" >
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
</div>
</div>
Jos et halua näyttää latausanimaatiota, käytä sen sijaa tätä koodia:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
Kun yllä oleva osa muodostetaan tuotesivulla, luotu HTML on div
-elementti, jossa ei ole sisältöä:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
Jos käyttäjä käyttää vaihtoehtoista alueasetusta, alue sisällytetään div-elementin data-base-url
-osoitteeseen. Esimerkiksi /fr/recommendations/products
.
Android
Napauta Shopify-sovelluksessa … -painiketta.
Napauta myyntikanavat -osiossa Verkkokauppa .
Napauta Hallitse teemoja .
Etsi teema, jota haluat muokata, avaa toimintovalikko klikkaamalla ... -painiketta ja klikkaa sitten Muokkaa koodia .
Klikkaa Osat -hakemistossa kohtaa Lisää uusi osa .
Anna uudelle osiolle nimeksi product-recommendations
ja valitse sitten Luo osio .
Korvaa koko sisältö alla olevalla koodilla:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . performed %}
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
{% else %}
<div class="product-recommendations__loading-dots">
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
<div class="product-recommendations__loading-dot"></div>
</div>
{% endif %}
</div>
Klikkaa Tallenna .
Kun osio hahmonnetaan tuotesivulla, recommendations.performed
muuttuu tilaan false
, jolloin luotu HTML näyttää latausanimaation:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
<div class= "product-recommendations__loading-dots" >
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
<div class= "product-recommendations__loading-dot" ></div>
</div>
</div>
Jos et halua näyttää latausanimaatiota, käytä sen sijaa tätä koodia:
{% assign limit = 4 %}
<div class="page-width product-recommendations" data-base-url="{{ routes . product_recommendations_url }} " data-product-id="{{ product . id }} " data-limit="{{ limit }} " data-section-id="{{ section . id }} " data-section-type="product-recommendations" data-intent="related">
{% if recommendations . products_count > 0 %}
<div class="section-header text-center">
{% if recommendations . intent == 'related' %}
<h2> You may also like</h2>
{% elsif recommendations . intent == 'complementary' %}
<h2>Pair it with</h2>
{% endif %}
</div>
<ul class="grid grid--uniform grid--view-items">
{% for product in recommendations . products %}
<li class="grid__item small--one-half medium-up--one-quarter">
{% include 'product-card-grid' , max_height : 250 %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
Kun yllä oleva osa muodostetaan tuotesivulla, luotu HTML on div
-elementti, jossa ei ole sisältöä:
<div class= "page-width product-recommendations" data-base-url= "/recommendations/products" data-product-id= "123" data-limit= "4" data-section-id= "product-recommendations" data-section-type= "product-recommendations" data-intent= "related" >
Jos käyttäjä käyttää vaihtoehtoista alueasetusta, alue sisällytetään div-elementin data-base-url
-osoitteeseen. Esimerkiksi /fr/recommendations/products
.
Vaihe 2: sisällytä osio product.liquid
-malliisi Jos haluat näyttää tuotesuosituksia tuotesivusi alaosassa, sisällytä osio templates/product.liquid
-tiedostosi alaosaan:
Avaa Templates -hakemistossa product.liquid -tiedosto.
Lisää seuraava koodi tiedoston alareunaan:
{% section 'product-recommendations' %}
Klikkaa Tallenna .
Vaihe 3: muokkaa theme.js
-tiedostoasi ladataksesi suositukset asynkronisesti Sinun täytyy ladata suositukset tyhjään säilöön, jonka osio loi tuotesivulle. JavaScriptin avulla voit tehdä HTTP GET ‑pyynnön <base_url>?section_id=<section_id>&product_id=<product_id>
.
Avaa Assets -hakemistossa theme.js -tiedosto.
Etsi seuraava koodirivi:
sections . register ( ' hero-section ' , theme . HeroSection );
Lisää tämän rivin alle seuraava koodi:
sections . register ( ' product-recommendations ' , theme . ProductRecommendations );
Lisää seuraava koodi tiedoston alareunaan:
theme . ProductRecommendations = ( function () {
function ProductRecommendations ( container ) {
var $container = ( this . $container = $ ( container ));
var baseUrl = $container . data ( ' baseUrl ' );
var productId = $container . data ( ' productId ' );
var limit = $container . data ( ' limit ' );
var intent = $container . data ( ' intent ' );
var productRecommendationsUrlAndContainerClass = baseUrl + ' ?section_id=product-recommendations&limit= ' + limit +
' &product_id= ' + productId + ' &intent= ' + intent +
' .product-recommendations ' ;
$container . parent (). load ( productRecommendationsUrlAndContainerClass );
}
return ProductRecommendations ;
})();
Klikkaa Tallenna .
Vaihe 4: luo latausanimaatio muokkaamalla theme.scss.liquid
-tiedostoasi (valinnainen) Jos käytit koodinpätkää, joka näyttää latausanimaation tuotesuositusosiossa, lisää seuraava koodi assets/theme.scss.liquid
-tiedostosi loppuun:
Avaa Assets -hakemistossa theme.scss.liquid -tiedosto.
Lisää tiedoston loppuun seuraava koodi:
.product-recommendations {
padding-top : $section-spacing-small ;
padding-bottom : $section-spacing-small ;
@include media-query ( $medium-up ) {
padding-top : $section-spacing ;
padding-bottom : $section-spacing ;
}
}
.product-recommendations__loading-dots {
height : 350px ;
display : flex ;
align-items : center ;
justify-content : center ;
}
.product-recommendations__loading-dot {
animation : dot-keyframes 1 .5s infinite ease-in-out ;
background-color : $color-text ;
border-radius : 10px ;
display : inline-block ;
height : 10px ;
width : 10px ;
margin : 0 3px ;
& :nth-child ( 2 ) {
animation-delay : 0 .5s ;
}
& :nth-child ( 3 ) {
animation-delay : 1s ;
}
}
@keyframes dot-keyframes {
0 % {
opacity : 0 .4 ;
transform : scale ( 1 , 1 );
}
50 % {
opacity : 1 ;
transform : scale ( 1 .2 , 1 .2 );
}
100 % {
opacity : 0 .4 ;
transform : scale ( 1 , 1 );
}
}
Klikkaa Tallenna .