basis setup voor CGEcommerce Suite

Een board om T&T's te plaatsen m.b.t. CMSMS, PHP of Smarty

Moderator: velden

(M)
Forum Members
Forum Members
Posts: 118
Joined: Tue Mar 18, 2008 11:43 pm

Re: basis setup voor CGEcommerce Suite

Post by (M) »

In het standaard detail template van de Productmanager is er een verwijzing naar Cart2. In de uitleg van de Products module wordt alleen Cart genoemd.
Ik ga de templates van Cart2 ook maar eens voorzien van de nodige styling en activeren.
(M)
Forum Members
Forum Members
Posts: 118
Joined: Tue Mar 18, 2008 11:43 pm

Re: basis setup voor CGEcommerce Suite

Post by (M) »

Ik kom nog een ander probleem tegen met de optie; Velddefinities.
De standaard code geeft te veel overbodige informatie weer. Zelfs de bestandsnaam van de afbeelding bij een artikel.

Code: Select all

{* accessing all of the fields in a list *}
{if isset($entry->fields) && count($entry->fields)}
  <h4>Custom Fields</h4>
  {foreach from=$entry->fields key='name' item='field'}
     <div class="product_detail_field"><p>
       {$Products->Lang('name')}: {$name}<br/>
       {$Products->lang('type')}: {$field->type}<br/>
       {$Products->lang('value')}: {$field->value}<br/>
       {if $field->type == 'image' && isset($field->thumbnail)}
         <img src="{$entry->file_location}/{$field->thumbnail}" alt="{$field->value}"/>
       {/if}
     </p></div>
  {/foreach}
{/if}
Ik heb code gestript tot;

Code: Select all

        {if isset($entry->fields) && count($entry->fields)}
          {foreach from=$entry->fields key='name' item='field'}
             <div class="product_detail_field"><p>
               {$field->value}<br />
             </p></div>
          {/foreach}
        {/if}
Dit is nog niet werkbaar wat de bestandsnaam van de afbeelding blijft in beeld naast de velden die ik wel wil tonen.
Is het mogelijk om {$field->value} uniek te maken zodat ik in de template kan bepalen wat ik wil tonen?

De optie "Publieke velden zijn zichtbaar voor het publiek" uitvinken werkt niet.
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

Re: basis setup voor CGEcommerce Suite

Post by frankmanl »

In welke module en sjabloon is dit?
Overigens is het misschien beter hiervoor een nieuwe vraag te openen in het forum - we zitten in de thread basis setup voor CGEcommerce Suite en dit begint wat off topic te worden lijkt me.

Frank
(M)
Forum Members
Forum Members
Posts: 118
Joined: Tue Mar 18, 2008 11:43 pm

Re: basis setup voor CGEcommerce Suite

Post by (M) »

Het gaat over punt 5 uit het overzicht van Pedes
5/ Products module configuratie
- Product hierachie instellen
- Categorien instellen
- Velddefinities instellen
De code staat in het detail sjabloon.
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

Re: basis setup voor CGEcommerce Suite

Post by frankmanl »

OK, ik heb het zo opgelost.
Een HTML-blok MOD_PRODUCTS_variabelen:

Code: Select all

{if isset($entry->fields) && count($entry->fields)}
{foreach from=$entry->fields key='name' item='field'}
{* VARs:   $name    $field->type    $field->value *}
{if $field->type == 'image'}
  {$productimage = $field->value}
{/if}
{if $name == 'serie'}
  {$serie = $field->value}
{/if}
{if $name == 'boektitel'}
  {$boektitel = $field->value}
{/if}
{/foreach}
{/if}
In de (detail)sjabloon een aanroep naar dit HTML-blok:

Code: Select all

{* ITEMS *}
{foreach from=$items item=entry}
{* VARIABELEN *}
{global_content name='MOD_PRODUCTS_variabelen'}

<div class="ProductList">
(...)
<p>boek: {$boektitel}<br />
uit de serie : <em>{$serie}</em></p>
(...)
Het komt er dus op neer dat ik in het HTML-blok per product alle $field->value's ophaal en overzet in variabelen die een begrijpelijke naam hebben. In mijn geval check op images en op de twee velddefinities boektitel en serie.
Vervolgens kan ik in de sjabloon elk van deze variabelen plaatsen waar ik wil.
Het kan misschien nog wel slimmer, maar ik vind het prettig om al die 'abstracte' code (if isset(entry->fields) etc. etc. ) buiten mijn sjabloon te houden en in de sjabloon zo veel mogelijk met begrijpelijke code ($productimage, $serie, etc) te werken.
janvl
Power Poster
Power Poster
Posts: 947
Joined: Wed Aug 13, 2008 10:57 am

Re: basis setup voor CGEcommerce Suite

Post by janvl »

In de products-module kun je de velden die je zelf gedefinieerd hebt ophalen met:

{$entry->fields.jouwveldnaam->value}

let er wel op dat als je hoofdletters in je veldnaam hebt die ook daar in staan.

m.vr.gr.
Jan
(M)
Forum Members
Forum Members
Posts: 118
Joined: Tue Mar 18, 2008 11:43 pm

Re: basis setup voor CGEcommerce Suite

Post by (M) »

janvl, bedankt!
Na de if en foreach elementen verwijderd te hebben, werkt het.
Locked

Return to “Tips en Trucs”