Zu früh gefreut!
Zwar war die Fehlermeldung im Backend verschwunden - aber leider war auch das Modul im Frontend verschwunden.
Nachdem ich es den Code jetzt dutzende Mal nach Versuch und Irrtum an verschiedenen Orten eingesetzt habe (wenn ich Programmierer wäre, würde ich das wissen, aber dann wäre ich auf vorgefertigte Module nicht angewiesen

möchte ich noch mal nachfragen.
Wo muss ich das einsetzen, und ist der Funktionsname richtig?
Zur besseren Kenntlichkeit habe ich den Code, der um die Funktion herum gebaut werden muss, markiert:
Das soll um die Funktion herum eingebaut werden:
- Code: Alles auswählen
// ++++++++++++++++++++++++++++++++++++++++++
if(!function_exists('recurse')) { function recurse() {
// ++++++++++++++++++++++++++++++++++++++++++
Hier kommt die Funktion rein (es scheint 2 zu geben?)
// ++++++++++++++++++++++++++++++++++++++++++
} }
// ++++++++++++++++++++++++++++++++++++++++++
Das ist der Quelltext des A-Z Moduls:
- Code: Alles auswählen
<div class="artikel-index">
<?php
// ------------ Funktionen
function recurse( $cat, &$index)
{
// aktuelle Cat zum Index
if ( $cat->getId() != REX_CATEGORY_ID) {
article2Index( $cat, $index);
}
// alle Artikel zum Index
$articles = $cat->getArticles();
if ( is_array( $articles)) {
foreach( $articles as $article) {
if ( $article->getId() != REX_ARTICLE_ID) {
article2Index( $article, $index);
}
}
}
// Alle Childs zum Index
$childs = $cat->getChildren();
if ( is_array( $childs)) {
foreach( $childs as $child) {
recurse( $child, $index);
}
}
}
function article2Index( $article, &$index) {
if ( $article == null)
{
return;
}
$name = $article->getName();
$name = strtolower( $name);
// Ä,Ö,Ü ersetzen, damit im Index nicht zuletzt steht!
// Das 2. a damit Wörter mit Umlaut immer ganz vorne stehen
$name = str_replace( array( 'ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü'), array( 'aa', 'ua', 'ua', 'Aa', 'Oa', 'Ua'), $name);
$name = ucwords( $name);
$index[$name] = $article;
}
// ------------ Start-Kategorie
$root = oocategory::getCategoryById( REX_CATEGORY_ID);
$index = array();
recurse( $root, $index);
// ------------ Sortierung
ksort( $index);
// ------------ Ausgabe
$firstChar = '';
$first = true;
foreach ( $index as $name => $article) {
$nextChar = $firstChar != $name{0};
if ( $nextChar) {
if ( $first) {
$first = false;
} else {
echo '
</fieldset>'. "\n";
}
$firstChar = $name{0};
echo '<fieldset>
<legend> '. $firstChar .' </legend>'. "\n";
}
echo ' <a href="'. $article->getUrl() .'" style="margin-left: 5px">'.htmlentities( $article->getName()).'</a><br/>'. "\n";
}
echo '
</fieldset>';
?>
</div>