Page 1 of 1

CTL Module Maker vraag

Posted: Tue Dec 21, 2010 8:03 pm
by markdig
Hallo,

ik ben aan het proberen een module te maken met CTL Module Maker maar ik kom ergens niet uit. Ik kan online bar-weinig informatie vinden over hoe het werkt. Ik gebruik versie 1.8.9.2 van de module.

Ik probeer een menukaart module te maken. Ik heb 2 niveaus gemaakt namelijk categorieen en gerechten. Op de website moet het er dus zo uit komen te zien:

Categorie
- Gerecht
-gerecht

Categorie 2
-Gerecht
-gerecht

etc.

Het lukt mij echter maar per template om variabelen van 1 soort niveau aan te roepen. Via $item->name bijvoorbeeld krijg ik de naam van het gerecht. Hoe kan ik nou bij de waarde van categorie komen? Hoe kan ik het voorbeeldje dat ik wil hebben gemakkelijk realiseren?

Mark

Re: CTL Module Maker vraag

Posted: Tue Dec 21, 2010 8:59 pm
by Jos
De module die je gemaakt hebt, heeft rechts bovenin een link naar de modulehulp. Als je daarop klikt dan staat er op diverse plaatsen een link naar FAQ.

Eén van de vragen daarin luidt: "How can I display a list of elements sorted in a certain way?"

Misschien heb je daar iets aan om je moduletemplate mee te maken?

Re: CTL Module Maker vraag

Posted: Thu Dec 23, 2010 12:18 pm
by markdig
Die helpmogelijkheid is bij mij niet te vinden. Is er niemand die mij kan vertellen hoe ik dat kan doen? Ik heb maar even een klein duwtje in die richting nodig dan kan ik het zelf wel ontdekken verder.

Mark

Re: CTL Module Maker vraag

Posted: Thu Dec 23, 2010 12:27 pm
by Jos
Zou per versie kunnen verschillen dat je die link daardoor niet hebt... maar dit is wat het zegt:
How can I display a list of elements sorted in a certain way?

We will look at how to create a list of sorted elements in the following way:

[Sorting field]
[element]
[element]
[element]
[Sorting field]
[element]
...
The basic idea will be to order elements by the sorting field, and notice when there's a change.



Order by parents
Create the following template (which I'll call "order_by_parents"):

Code: Select all

			<ul>
			{assign var="parentflag" value=false}
			{foreach from=$itemlist item="item"}
				{if $item->parent_name != $parentflag}
					{if $parentflag}</ul></li>{/if}
					<li>{$item->parent_name}<ul>
					{assign var="parentflag" value=$item->parent_name}
				{/if}
				<li>{$item->name}</li>
			{/foreach}
			</ul>

and call it using {cms_module module="mymodule" what="item" listtemplate="order_by_parents" orderby="parent"}

Order by field
Let's say your level has a dropdown field named "myfield", and you wish to list elements sorted on that field. Create the following template (which I'll call "order_by_myfield"):

Code: Select all

			<ul>
			{assign var="fieldflag" value=false}
			{foreach from=$itemlist item="item"}
				{if $item->myfield != $fieldflag}
					{if $fieldflag}</ul></li>{/if}
					<li>{$item->myfield}<ul>
					{assign var="fieldflag" value=$item->myfield}
				{/if}
				<li>{$item->name}</li>
			{/foreach}
			</ul>

and call it using {cms_module module="mymodule" what="item" listtemplate="order_by_myfield" orderby="myfield"}