PHP PHP Array in HTML Struktur ausgeben

Dominic

Well-known member
ID: 38
L
24 April 2006
577
27
Hi zusammen,

ich nutze das CMS Contao und habe das Problem, dass ich die von Contao ausgegebene Menüstruktur in das Format meines HTML-Templates bringen muss.

Leider sind meine PHP Kenntnisse etwas eingerostet - vielleicht kann mir hier ja jemand helfen...
Gerne gibt es auch einige Lose als Belohnung für die Lösung :)

Die Ausgabe des Menüs bei Contao sieht folgendermaßen aus:
PHP:
<ul class="<?php echo $this->level; ?>">
  <?php foreach ($this->items as $item): ?>
    <?php if ($item['isActive']): ?>
      <li class="<?php echo $item['class']; ?>"><span class="<?php echo $item['class']; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></li>
    <?php else: ?>
      <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php endif; ?>
  <?php endforeach; ?>
</ul>

Mein HTML-Template aber so:
PHP:
<div class='navi'><div class='navilink'><a href='index.html'>STARTSEITE</a></div>
<div class='navilink_trenne'></div>
<?php foreach ($this->items as $item): ?>
 <?php if ($item['isActive']): ?>
<div class='navilink_dropper'><ul><li><a href='<?php echo $item['href']; ?>'><?php echo $item['class']; ?></a>
 <?php else: ?>
<ul><li><a href='index.html' >Unterlink</a></li>
<li><a href='index.html' >Unterlink</a></li>
<li><a href='index.html' >Unterlink</a></li></li></ul></ul></div>
<div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>ANREISE</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>VERKEHRSMITTEL</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>RESTAURANTS/ PUBS</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>HOTELTIPPS</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>TIPPS & NUETZLICHES</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>FAQ</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div><div class='navilink_dropper'><ul><li><a href='index.html'>FORUM</a><ul><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li><li><a href='index.html' >Unterlink</a></li></li></ul></ul></div><div class='navilink_dropper_pfeil'></div><div class='navilink_trenne'></div></div><div class='header' ></div>
<div class='big_trenne' ></div>

Hat jemand eine Idee ? Bei Bedarf kann ich gerne auch Screenshots von beidem liefern...
 
Hab es nur mal kurz überflogen. Mir ist aufgefallen, dass du als Linktext den falschen Wert nutzt. Dort muss
PHP:
<?php echo $item['link']; ?>
rein.

Sprich:
PHP:
<a href='<?php echo $item['href']; ?>'><?php echo $item['link']; ?></a>

Sonst bitte Screenshots verlinken.