Die Version verzichtet komplett auf das Seitencache (Supercache), auch hier gilt für diese Version - der Aufwand ist größer als der Nutzen.
Der Vorteil - tatsächlich ist wegen des veränderten Konzeptes schneller als alle Vorversionen , die vielleicht mit Supercache an die Zeiten heran gekommen sind, wie sie hier rein dynamisch gelingen.
Was die neue Menüstruktur betrifft ist der Aufwand für das Hauptmenü geringer, Veränderungen wie verschieben , löschen oder hinzufügen sind erheblich einfacher.
Da der Hammelsprung (ähmm ) Levelsprung das Kriterium ist ergibt sich das so.
Der Aufwand wird allerdings bei den Breadcrumbs höher da nun ein einfacher Vergleich der Hierarchy entfällt.
Hier mal das Template für 1.3 aus der da mitgelieferten Demo:
<?php
if (isset($this->VARS['menu'][0]['currentindex'])) {
echo '<ul>';
$this->printText('HINWEIS6');
$_si=$this->VARS['menu'][0]['currentindex'];
$_level= $this->VARS['menu'][$_si][0];
if ($_si==0) {
echo '<li><a href="'.ROOT_URL.'/index.php?'.QUERY_VAR.'='.$this->VARS['menu'][0][3].'&'.LANG_QUERY.'='.$this->VARS[LANG_QUERY].'" title="'.$this->VARS['menu'][0][4].'">'.$this->VARS['menu'][0][2].'</a></li>';
}
else {
$_x=$_si;
$_a=array();
$_last=array();
$_out=array();
while ($_x > 0 ) {
if (! in_array($this->VARS['menu'][$_x][0],$_last) && $this->VARS['menu'][$_x][0] <= $_level)
$_out[]=$this->VARS['menu'][$_x];
array_push($_last,$this->VARS['menu'][$_x][0]);
$_x --;
}
$_out=array_reverse($_out);
foreach ($_out as $entry)
echo '<li><a href="'.ROOT_URL.'/index.php?'.QUERY_VAR.'='.$entry[3].'&'.LANG_QUERY.'='.$this->VARS[LANG_QUERY].'" title="'.$entry[4].'">'.$entry[2].' </a></li>';
}
echo '</ul>';
}
?>
Die Aufbereitung der Breadcrumbs in der index.php (wie vorherin pmenu enthalten) entfältt, da nicht jeder breadcrumbs einsetzen will, also sollen nur die (kaum spürbar) leiden, die es einsetzen.
Bei allen normalen Inhalten liegen die Generierungszeiten im Millisekundenbereich.
Bei der Verwendung von Pipictures mit den Demoinhalten liegt die Seite inkl. Ajax via Jquery beim Erstaufruf (Generierung der Thumbs) bei
Verbrauch normal:973144 Verbrauch Spitze:1310720 Gesamtzeit:0.33813905715942
und dann bei
Verbrauch normal:973224 Verbrauch Spitze:1310720 Gesamtzeit:0.011669874191284
also durchaus erträglich.
Ajaxnutzung ist bei dieser Version mehr Standard als Ausnahme und das alles bei extrem verringertem RAM Bedarf.
Für diese Version gibt es keine Pirorität - ich mache das aber abhgängig vom Fortschritt in der Wiki.
Wer Smarty kennt und sich den Code einmal ansieht, der stellt fest, das man so etwas mit Smarty als Template direkt überhaupt nicht hinbekommen würde.
Man müsste also für Smarty ein Plugin basteln das $_out damit an Smarty zuweisen um es dann über Display von Smarty ausgeben zu lassen.
Smarty müsste recht umständlich das Plugin einbinden, es abarbeiten, Variable zuweisen und dann das Template auf Gültigkeit prüfen (compiliert ja nein nach Bedarf compileren) um es dann lezten Endes auszugeben.