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.