Prijslijst module?

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
MarlyNL
Forum Members
Forum Members
Posts: 20
Joined: Sat May 07, 2011 2:10 pm

Prijslijst module?

Post by MarlyNL »

Hallo iedereen,
Iemand vroeg mij of ik kon helpen om een prijslijst met categorieën makkelijk kan maken.
Hij had eerst een hele tabel die met pijn en moeite aangepast moest worden.
Zijn website is al in CMSMS, dus ik vroeg mij af is er een module waarmee ik een prijslijst kan maken?
Ik heb al gezocht, en kwam listit2 tegen, alleen ik heb geen idee hoe daarmee te beginnen en of dat wel daarvoor bedoeld is.

Voorbeeld van wat de klant zou willen (het gaat dus niet om deze site): Prijslijst voorbeeld

Alvast bedankt!
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: Prijslijst module?

Post by velden »

Perfect mogelijk:

http://forum.cmsmadesimple.org/viewtopi ... =5&t=70017

Maar het is wel wat werk als je alle prijzen moet aanpassen hoor. Want betekent wel dat je elke item moet 'openen', wijzigen en opslaan.

Wellicht kan het dan trouwens ook wel met een export/import. Nooit geprobeerd.
MarlyNL
Forum Members
Forum Members
Posts: 20
Joined: Sat May 07, 2011 2:10 pm

Re: Prijslijst module?

Post by MarlyNL »

Bedankt Velden, dat ziet er goed uit!
Ik heb je een PM gestuurd met wat vragen.

De import en export net getest.
Eerst producten toegevoegd, toen export gedaan.
In die CSV velden aangepast en daarna weer geïmporteerd, en dat werkt goed.

Verder ben ik er nog niet helemaal uit maar ben wat aan het proberen.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: Prijslijst module?

Post by velden »

Ik zal even wat stukken van mijn opzet posten. Als dat voldoet of als je dat aan kunt passen is het handig voor je.

Goed om te weten: De pizza pagina is qua opzet zodanig dat ik het nodig vond om twee keer de module aan te roepen (per categorie).

Dat zie je terug in het page template fragment hieronder.

De drankenkaart vond ik weer een andere uitdaging. Daar worden de categorien automagisch verdeeld over de drie kolommen. Dat zie je dan ook duidelijk terug in de category template

Pizza (ListIt2 module)

Field definitions:
pizza_fielddefs.jpg
Aanroepen vanuit page template:

Code: Select all

<div class="group">
<div class="col col1-2">
<h2 class="kaart-category">Pizza</h2>
{ListIt2Pizza category='pizza'}
</div>
<div class="col col2-2">
{$content}
<h2 class="kaart-category kaart-red">Bambino (tot 12 jaar)</h2>
{ListIt2Pizza category='bambino'}
</div>
</div>

Summary Template Pizza

Code: Select all

{if $items|@count > 0}
<table class="pizza kaart{if $actionparams.category == 'bambino'} kaart-red{/if}">
	{foreach from=$items item=item}
  <tr class="{cycle values='odd,even' name='selector'}"><td class="kaarten-col1 pizza-col1">{$item->title}{if $item->fielddefs.ingredienten->value != ''}<br />{$item->fielddefs.ingredienten->value|nl2br}{/if}</td><td class="kaarten-col2 pizza-col2">€&nbsp;{trim($item->fielddefs.prijs->value)}</td></tr>
{/foreach}
</table>
{/if}

Dranken (Listit2 module):

Aanroep in template/content van de prijslijst:

Code: Select all

<div class="group">
{ListIt2Dranken action='category'}
</div>
2 Field definitions: 'Category' (Categories type) en 'prijs' (text input type)

Category template:

Code: Select all

{$cat_count = $categories|count}
{$cat_floor = floor($cat_count/3)}
{$cat_mod = $cat_count % 3}
{if $cat_mod == 0}
  {$cnt_col1 = $cat_floor}
  {$cnt_col2 = $cat_floor * 2}
{elseif $cat_mod == 1}
  {$cnt_col1 = $cat_floor + 1}
  {$cnt_col2 = ($cat_floor * 2) + 1}
{else}
  {$cnt_col1 = $cat_floor + 1}
  {$cnt_col2 = ($cat_floor * 2) + 2}
{/if}
<div class="col1-3 col">
{foreach from=$categories item=category name='loop'}
<h2 class="dranken-category kaart-category">{$category->name}</h2>
  {ListIt2Dranken category=$category->alias}
{if $smarty.foreach.loop.iteration == $cnt_col1}
</div><div class="col2-3 col">
{elseif $smarty.foreach.loop.iteration == $cnt_col2}
</div><div class="col3-3 col">
{/if}

{/foreach}
{$content}
</div>
Summary template:

Code: Select all

{cycle values='odd,even' name='selector' reset=true print=false advance=false}
{if $items|@count > 0}
<table class="drankenkaart kaart">
  {foreach from=$items item=item}
  <tr class="{cycle values='odd,even' name='selector'}"><td class="kaarten-col1 dranken-col1">{$item->title}</td><td class="kaarten-col2 dranken-col2">{if preg_match('/^\d/',trim($item->fielddefs.prijs->value))}€&nbsp;{/if}{trim($item->fielddefs.prijs->value)}</td></tr>
{/foreach}
</table>
{/if}
MarlyNL
Forum Members
Forum Members
Posts: 20
Joined: Sat May 07, 2011 2:10 pm

Re: Prijslijst module?

Post by MarlyNL »

Bedankt Velden!
Hier kan ik mee verder :)
Post Reply

Return to “Dutch - Nederlands”