Instrukcja do wtyczki "Kolekcje produktów"
Jak utworzyć własny „blok” dla produktów w kolekcji&
Jeśli chcesz utworzyć własny, oddzielny blok o takim samym wyglądzie jak cross/upselling, musisz skopiować część kodu z crossselling, zastąpić tablicę i nagłówek.
Dla szablonu Domyślny będzie to wyglądać następująco:
To było:
<!-- RELATED PRODUCTS -->
{$upselling = $product->upSelling(12)}
{$crossselling = $product->crossSelling(12)}
{if $upselling || $crossselling}
<div class="product-info">
{if $crossselling}
<section class="related">
<h3>{sprintf('Kupujący, którzy kupili %s, również kupili', $product.name|escape)}</h3>
{include file="list-thumbs-mini.html" products=$crossselling ulclass="related-bxslider"}
</section>
{/if}
{if $upselling}
<section class="related">
<h3>
Zachęcamy do obejrzenia
{$compare_ids = array_merge(array($product.id), array_keys($upselling))}
<input type="button" onClick="javascript:window.location='{$wa->getUrl('/frontend/compare', ['id' => implode(',', $compare_ids)])}';" value="Porównaj wszystkie" class="gray" />
</h3>
{include file="list-thumbs-mini.html" products=$upselling ulclass="related-bxslider"}
</section>
{/if}
</div>
{/if}
Stało się:
<!-- RELATED PRODUCTS -->
{$upselling = $product->upSelling(12)}
{$crossselling = $product->crossSelling(12)}
{$mycollection = shopStek37Plugin::get($product.id, 12)}
{if $upselling || $crossselling || $mycollection}
<div class="product-info">
{if $crossselling}
<section class="related">
<h3>{sprintf('Kupujący, którzy kupili %s, również kupili', $product.name|escape)}</h3>
{include file="list-thumbs-mini.html" products=$crossselling ulclass="related-bxslider"}
</section>
{/if}
{if $upselling}
<section class="related">
<h3>
Zachęcamy do obejrzenia
{$compare_ids = array_merge(array($product.id), array_keys($upselling))}
<input type="button" onClick="javascript:window.location='{$wa->getUrl('/frontend/compare', ['id' => implode(',', $compare_ids)])}';" value="Porównaj wszystkie" class="gray" />
</h3>
{include file="list-thumbs-mini.html" products=$upselling ulclass="related-bxslider"}
</section>
{/if}
{if $mycollection}
<section class="related">
<h3>To jest moja dodatkowa kolekcja </h3>
{include file="list-thumbs-mini.html" products=$mycollection ulclass="related-bxslider"}
</section>
{/if}
</div>
{/if}
Co zostało zrobione?
- Uzyskana tablica kolekcji:
{$mycollection = shopStek37Plugin::get($product.id, 12)} - Dodano warunek wyświetlania bloku powiązanych (Related) towarów w przypadku posiadania własnej kolekcji:
{if $upselling || $crossselling || $mycollection} - Skopiowałem blok crossselingu i zmieniłem w nim tablicę i nagłówek:
{if $mycollection} <section class="related"> <h3>To jest moja dodatkowa kolekcja</h3> {include file="list-thumbs-mini.html" products=$mycollection ulclass="related-bxslider"} </section> {/if}
W większości szablonach graficznych ten blok jest wykonany niemal identycznie, z niewielkimi różnicami w użytych elementach html, nazwach klas elementów html i użytym szablonie listy produktów (list-thumbs-mini.html, list-thumbs.html, products-list.html itp.).
Jak dodać produkty z kolekcji do listy sprzedaży cross/upselling?
Zmiany są wprowadzane w szablonie product.html. Kod może wyglądać nieco inaczej w różnych szablonach graficznych, ale zmiany są wprowadzane w ten sam sposób.
W ogólnej formie, helper do pobierania tablicy produktów grupy wygląda następująco:
shopStek37Plugin::get($product.id, 12)
W helperze przekazywany jest ID produktu (na stronie produktu jest to $product.id) oraz limit liczby produktów (12 w przykładzie). Jeśli limit nie jest ustawiony, pobrane zostaną wszystkie produkty w kolekcji.
Aby wyświetlić produkty z kolekcji wraz z produktami upselling, znajdź kod, aby uzyskać tablicę $upselling w szablonie:
{$upselling = $product->upSelling(12)}
I zamień ten kod na:
{$upselling = $product->upSelling(12) + shopStek37Plugin::get($product.id, 12)}
Aby wyświetlić produkty z kolekcji wraz z produktami ze sprzedaży crossselling, znajdź kod, aby uzyskać tablicę $crossselling w szablonie:
{$crossselling = $product->crossSelling(12)}
I zamień ten kod na:
{$crossselling = $product->crossSelling(12) + shopStek37Plugin::get($product.id, 12)
W ten sam sposób można dodawać produkty z kolekcji do dowolnej innej tablicy/listy produktów.


