Seite 1 von 1

Verschachtelte Arrays ausgeben?

Verfasst: 26.05.2005 16:48
von Iulius
Hi!
Ich schreibe gerade an einer Homepage und benutze dafür das phpbb template system. Die Seite wird in mehreren Sprachen angeboten werden, Deutsch, Englisch und Italienisch. Jeder Benutzer hat Rechte um in seinem Fachbereich Artikel zu schreiben, zu editieren und eben den Artikel in neuer Sprache hinzuzufügen. Jetzt ergibt sich folgendes Problem. Ist ein Artikel in Deutsch und Englisch eingetragen, so soll es nur möglich sein die Artikel zu editieren, und nur noch Italienisch steht als neuhinzuzufügende Sprache zur Verfügung usw. eben in allen möglichen Konstellationen.
Dafür benutze ich folgendes Array:

Code: Alles auswählen

$_parse_array = array( "datum" => "", "titel" => "", "edit" => array( "link"=>"", "image"=>""), "sprache" => array( "link"=>"", "image"=>""));
.....
$template->assign_block_var('artikel', $_parse_array );
Link und Image der Arrays Edit und Sprache sind wiederum arrays die je nachdem wie es benötigt wird gefüllt werden. so kann sprache auch leer bleiben, falls der Artikel in allen Sprachen vorhanden ist.
Ich habe mir nun folgendes Template ausgedacht:

Code: Alles auswählen

<table>
      <!-- BEGIN artikel -->
   <tr>
      <td>{artikel.datum}</td>
      <td>{artikel.titel}</td>
      <td>
         <!-- BEGIN edit -->
            <a href="{artikel.edit.link}"><img src="{artikel.edit.image}"></a>
         <!- END edit -->
      </td>
         <!-- BEGIN sprache -->
            <a href="{artikel.sprache.link}"><img src="{artikel.sprache.image}"></a>
         <!- END sprache -->
      </td>
   <tr>
      <!-- END artikel -->
<table>
Die liefert aber nich das gewünschte Ergebnis :(
Es müssen ja die <a><img></a> folgen wiederholt werden, damit die flaggen für die einzelnen Sprachen ausgegeben werden....

Schonmal danke für eure antworten!!

Bye
Iulius

Verfasst: 27.05.2005 01:27
von QCO
Ganz einfach: Du rufst

Code: Alles auswählen

$template->assign_block_var('sprache', ... );
einfach für jede Sprache auf...

Verfasst: 27.05.2005 13:12
von Iulius
thx für deine antwort.
jetzt funzt es auch. hab die nacht drüber gegrübelt und nochmal in die Knowledge Base geguckt und die Antwort gefunden. Hatte vorher zwar auch schon in die KB geguckt, es da aber übersehen.
Trotzdem vielen Dank für die Antwort.

cu
Iulius