LISE category alias

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm
Location: Deventer, Netherlands

LISE category alias

Post by timdebuurman »

Hoi,

Ik heb in LISE de alias van de categorieën nodig, om deze als classes toe te voegen aan items.

De standaard code in het voorbeeld voor het tonen van de categorie namen (dus niet de alias) is dit:

Code: Select all

{foreach from=$item->fielddefs item=fielddef}
	
			{*
				Categories were moved to field definitions.
				If you need Categories, create new Field definition with alias "category"
				and Categories will be available again.
			*}
	
			{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
	
			{* use LISELoader plugin if you need Category information in default module action templates *}
			{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
	
			<!-- categories -->
			<div class="item-category">
				Category: {$cats|implode:','}
			</div>
			<!-- categories //-->
			{/if}
{/foreach}
Het lukte mij maar niet om de aliassen van de categorieën als output te krijgen.
Uiteindelijk is het wel gelukt, maar ik verwacht dat het vele malen simpeler had gekund en ik ben dan ook benieuwd of iemand een betere oplossing heeft.

Wat ik nu uiteindelijk gedaan heb is dit:

Code: Select all

	{foreach from=$items item=item}
	
	<a class="{strip}{foreach from=$item->fielddefs item=fielddef}
			{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
			{LISELoader item='category' force_array=1 value=$fielddef.value assign='cats'}
				{foreach from=$cats item=catitem}{$catitem->alias} {/foreach}
			{/if}
                        {/foreach}{/strip}" href="{$item->url}">
    <span>{$item->title}</span></a>

	{/foreach}
gr Tim
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: LISE category alias

Post by velden »

Op zich is je aanpak niet verkeerd maar inderdaad veel te inefficient.

De foreach loop door fielddefs wordt in een voorbeeld template gebruikt. Aangezien de ontwikkelaar vooraf niet weet hoe jij je velden gaat noemen moet dat met een foreach loop.

Maar jij weet wél hoe het veld heet (bijvoorbeeld 'categorie'):

Code: Select all

{LISELoader item='category' force_array=1 value=$item->fielddefs['categorie'].value assign='cats'}
<a class="{foreach from=$cats item=catitem}{$catitem->alias}
 {/foreach}" href="{$item->url}"><span>{$item->title}</span></a>
Bovenstaande code heb ik niet getest overigens.
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm
Location: Deventer, Netherlands

Re: LISE category alias

Post by timdebuurman »

Hoi Velden,

Werkt perfect, bedankt!
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
deactivated010521

Re: LISE category alias

Post by deactivated010521 »

Had ook zoiets nodig maar dan uit een andere LISE instance:

Code: Select all

{foreach from=$items item='item'}

   {* verwijzing naar andere LISE instance *}
  {LISELoader item='category' identifier='category_id' instance='LISEBerichten' value=$item->fielddefs.category.value assign='cats'}
  (cats) category_alias: {$cats->alias}

  -- of --
   {* eigen instance *}
  {LISELoader item='category' force_array=1 value=$item->fielddefs.category.value assign='xcats'}
  (xcats) category_alias: {$xcats[$item->fielddefs.category.value]->alias}

{/foreach}	
Post Reply

Return to “Dutch - Nederlands”