MyCashflow'ssa voit myydä tuotepaketteja, joissa useita tuotteita liitetään yhteen pakettihinnan kanssa. Tässä ohjeessa kerrotaan, kuinka verkkokaupan teemaan lisätään tuki tuotepaketeille.

Tutustu tuotepaketteihin myös kauppiaan oppaassa.

Tuotepaketit voidaan toteuttaa teemassa karkeasti ottaen kahdella eri tavalla:

Tuotepakettien oletustoteutus

Tuotepaketit tulostetaan oletusarvoisesti {ProductShortDesc}-tagin sisällön loppuun. Jos haluat sijoittaa tuotepaketit haluamaasi kohtaan kaupan teemassa, aseta teeman asetuksiin arvo <ProductBundles supported="true" /> ja lisää teemaan {ProductBundles}-tagi, joka tulostaa listan tuotteen tuotepaketeista.

Oletustoteutuksessa tuotepaketit esitetään yksittäisen tuotteen sivupohjan kautta. Jos teemassa on myös tuotepakettien sivupohja, yllä mainittua teema-asetusta ei huomioida lainkaan, vaan tuotepaketin sivupohja on automaattisesti käytössä.

Tuotepakettien sivupohja ja tagit

Tuotepaketin tiedot esitetään sivupohjassa themes/shop/THEME/product-bundle.html. Jos teemasta löytyy tuotepakettien sivupohja, /theme.xml-tiedoston tuotepakettiasetusta ei käytetä lainkaan, vaan tuotepaketit esitetään sivupohjan avulla.

Tuotepaketin tietoja tulostetaan sivupohjassa tuotepakettien tageilla:

themes/shop/THEME/product-bundle.html
<h1>{BundleName}</h1>
{BundleShortDesc}
{BundleImages}
{BundlePrices}
{BundleAvailability}
{BundleBuy}

Voit tulostaa sivupohjaan myös muotoiltavan listan tuotepaketin sisältämistä tuotteista käyttämällä {BundleProducts}-tagia, jonka helper-attribuutissa voidaan käyttää tuotepakettien tuotteiden tageja:

{BundleProducts(
    helper: {{
        <a href="{BundleItemUrl}">
            <h2>{BundleItemTitle}</h2>
            {BundleItemImageUrl(
                before: '<img alt="{BundleItemImageCaption}" src="',
                after: '"/>'
            )}
        </a>
    }}
)}

Voit sisällyttää tuotepakettien tietoja myös tuotelistoille sekä tuotesivulle käyttämällä {ProductBundles}-tagia:

{Products(
    helper: {{
        <h2>{ProductName}</h2>
        <p>Tuote kuuluu seuraaviin tuotepaketteihin:</p>
        {ProductBundles(
            helper: {{
                {BundleName}
            }}
        )}
    }}
)}

Esimerkin sisäkkäiset helper-attribuutit eivät toimisi oikeasti, vaan ne tulee sijoittaa erillisiin tiedostoihin.

Esimerkin mukaisessa merkkauksessa olisi mahdollista myös käyttää tuotteiden tageja {ProductBundles}-tagin helper-attribuutissa, jolloin ne tulostavat kulloinkin käsiteltävän tuotteen tietoja samalla tavalla, kuin niitä käytettäisiin ylätason {Products}-tagin helperissä.

{Bundles}-tagin avulla voit tulostaa vapaasti muotoiltavan listan verkkokaupan tuotepaketeista millä tahansa sivulla. Voit käyttää tagin helper-attribuutissa tuotepaketin tageja:

{Bundles(
    before: '<ul>',
    helper: {{
        <li>
            <a href="{BundleUrl}">
                <h3>{BundleName}</h3>
                {BundleImage}
                {BundlePrice}
            </a>
        </li>
    }}
    after: '</ul>'
)}

{Bundles}-tagilla on myös useita attribuutteja, joiden avulla voit suodattaa ja järjestellä listaa eri tavoin. Tällöin voit laatia verkkokaupan eri osioihin erilaisia tuotepakettilistauksia.