Anbei die Änderungen, wie man den Menüname zweiten Platzhalter für CSS-KLasse verwendne kann.
Dabei wird die CSS wie folgt manipuliert:
- Keine Leerzeichen,
- keine Sonderzeichen (erweiterbar),
- alles Kleinschreibung,
- es werden nur die ersten 7 Buchstaben ausgegeben.
Somit kann man bei einer Menüsruktur, welche immer wieder kommt - also immer die gleiche Menüpunkte hat - anhand des Menünamen, bzw. in diesem Fall jetzt des CSS-Erweiterung, auf bestimmte Menüpunkte individuelle CSS-Formatierungen vornehmen.
Basierend von meinen Post darüber muss jetzt nur noch das
Aus der Original-Klasse:
Code: Alles auswählen
} else {
$name1 = $this->navigationTree[$parentId][$next]['name'];
$name2 = '';
}
In das geändert werden:
Code: Alles auswählen
} else {
$name1 = $this->navigationTree[$parentId][$next]['name'];
$name2 = '';
$css = $this->navigationTree[$parentId][$next]['name'];
$ersetzemal = array("ß", " ", "ü", "&", "ä", "ö", "Ä", "Ö", "Ü", "?", "!");
$css = html_entity_decode(strip_tags(str_replace($ersetzemal, "", urldecode($css))));
$css = strtolower($css);
$css = substr($css, 0, 7);
}
Bzw., wer schon die Änderung aus dem erst Post übernommen hat das suchen und ersetzen:
Code: Alles auswählen
} else {
$name1 = $this->navigationTree[$parentId][$next]['name'];
$name2 = '';
$css = $next;
}
ACHTUNG: Es muss natürlich auch (wie bereits im Post darüber schon beschrieben)
Aus der Original-Klasse:
Code: Alles auswählen
if ($this->isActive($next) & !empty ($this->maskActive[$type]) & !empty ($this->maskActive[$type])) {
$returnValue .= $this->beforeSelected[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{link}', $link, ($sub == '') ? ($this->maskActive[$type]) : ($this->maskActiveSub[$type])))));
}
elseif ($this->isSelected($next)) {
$returnValue .= $this->beforeSelected[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{link}', $link, ($sub == '') ? ($this->maskSelected[$type]) : ($this->maskSelectedSub[$type])))));
} else {
$returnValue .= $this->beforeEach[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{link}', $link, $this->maskNormal[$type]))));
}
In das geändert werden:
Code: Alles auswählen
if ($this->isActive($next) & !empty ($this->maskActive[$type]) & !empty ($this->maskActive[$type])) {
$returnValue .= $this->beforeSelected[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{css}', $css, str_replace('{link}', $link, ($sub == '') ? ($this->maskActive[$type]) : ($this->maskActiveSub[$type]))))));
}
elseif ($this->isSelected($next)) {
$returnValue .= $this->beforeSelected[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{css}', $css, str_replace('{link}', $link, ($sub == '') ? ($this->maskSelected[$type]) : ($this->maskSelectedSub[$type]))))));
} else {
$returnValue .= $this->beforeEach[$type];
$returnValue .= str_replace('{sub}', $sub, str_replace('{name2}', $name2, str_replace('{name1}', $name1, str_replace('{css}', $css, str_replace('{link}', $link, $this->maskNormal[$type])))));
}
Gerne auch Verbesserungsvorschläge
MfG Steffen