Page 1 of 1

[Gelöst] Company Directoy Template alphabetisch

Posted: Tue Feb 02, 2010 2:57 pm
by antiheld2000
Hi,

ich versuche gerade ein Template zu erstellen, in dem eine Liste aller Einträge erscheint. Bei jedem ersten Vorkommen einen neuen Anfangsbuchstaben, soll dieser dick über den nächsten Einträgen erscheinen. Leider komme ich nicht voran, da ich den Anfangsbuchstaben nicht herausbekomme. Ich dachte, es wäre so zu lösen:

Code: Select all

{if isset($items)}

{foreach from=$items item=entry}

{assign var=first-letter value='$entry->company_name|substr:0:1'}

  <div class="CompanyDirectoryItem">
  {$first-letter}: <a href="{$entry->detail_url}">{$entry->company_name}</a><br />
  </div>
  {/foreach}
{/if}
Leider bekomme ich immer nur eine 0 ausgegeben. Ein anderer Ansatz fällt mir nicht ein. Hat jemand eine Tipp?

Mit Dank und Gruß
anti

Re: Company Directoy Template alphabetisch

Posted: Thu Feb 04, 2010 7:43 am
by antiheld2000
Einfache Lösung, wenn man sich mit Smarty gut genug auskennt:

Man benutze keine - in Variablennamen. Das ist im übertragenen Sinne tödlich.

Code: Select all

{if isset($items)}
{foreach from=$items item=entry}
{assign var=firstletter value=$entry->company_name|substr:0:1}
  <div class="CompanyDirectoryItem">
  {if $firstletter != $aktletter}<br /><strong>{$firstletter}</strong><br />{assign var=aktletter value=$firstletter}{/if}<a href="{$entry->detail_url}">{$entry->company_name}</a><br />
  </div>
  {/foreach}
{/if}

Re: [Gelöst] Company Directoy Template alphabetisch

Posted: Thu Feb 04, 2010 8:14 am
by cyberman
Passt offensichtlich in diese Kategorie

http://forum.cmsmadesimple.org/index.ph ... 205.0.html

Habs dort gleich mal ergänzt ...