Content-A. Tuning
Verfasst: Mo 26. Jan 2009, 14:57
Ich beschäftige mich gerade ein bisschen mehr mit CA und wühle mich ein bisschen durch die Classen. Dabei ist mir folgendes aufgefallen:
Ich benutze:
Contenido 4.8.8
CA.-Plugin 4.8.10
MySQL 5.0.51a
Übersicht
1. Master-Baum Sortierung
2. Tuning für große Bäume
3. menuless
Master-Baum Sortierung
Wenn ich einen neuen Haupt-Baum anlege bekommt dieser immer 'sortorder = 1' was zur folge hat das alle Bäume mit 'parentid = 0' nicht Sortiert werden können.
File: class.content_allocation_tree.php Zeile: 502-506
Original:
Neu:
So funktioniert es bei mir.
Tuning für große Bäume
File: class.content_allocation_tree.php Zeile: 166-176
Original:
Neu:
Bei dem neuen Code wird erst abgefragt ob der Punkt offen (expanded) ist und wenn ja dann werden die kinder (children) versucht zuholen.
Natürlich wird das erst wirksam wenn man sehr sehr große Bäume hat.
menuless
Bei der Area 'content_allocation' kann man 'menuless' auf 1 setzen. Somit werden die beiden linken Frames nicht geladen.
mfg OliverL
Ich benutze:
Contenido 4.8.8
CA.-Plugin 4.8.10
MySQL 5.0.51a
Übersicht
1. Master-Baum Sortierung
2. Tuning für große Bäume
3. menuless
Master-Baum Sortierung
Wenn ich einen neuen Haupt-Baum anlege bekommt dieser immer 'sortorder = 1' was zur folge hat das alle Bäume mit 'parentid = 0' nicht Sortiert werden können.
File: class.content_allocation_tree.php Zeile: 502-506
Original:
Code: Alles auswählen
if ($parentId === false) {
$sql .= " WHERE parentid IS NULL";
} else {
$sql .= " WHERE parentid = " . Contenido_Security::toInteger($parentId);
}
Code: Alles auswählen
$sql .= " WHERE parentid = " . Contenido_Security::toInteger($parentId);
Tuning für große Bäume
File: class.content_allocation_tree.php Zeile: 166-176
Original:
Code: Alles auswählen
if (count($result_tmp) > 0) {
$result = array(); // result array
foreach ($result_tmp as $rs) { // run results
$children = $this->fetchTree($rs['idpica_alloc'], $level + 1, $bUseTreeStatus);
if ($children !== false && $rs['status'] == 'expanded') {
$rs['children'] = $children;
}
array_push($result, $rs);
}
return $result;
} else
Code: Alles auswählen
if (count($result_tmp) > 0) {
$result = array(); // result array
foreach ($result_tmp as $rs) { // run results
if ($rs['status'] == 'expanded') { // -- NEW ----------------
$children = $this->fetchTree($rs['idpica_alloc'], $level + 1, $bUseTreeStatus);
if ($children !== false) { // -- MODIFIED ----------------
$rs['children'] = $children;
}
} // -- NEW ----------------
array_push($result, $rs);
}
return $result;
} else
Natürlich wird das erst wirksam wenn man sehr sehr große Bäume hat.
menuless
Bei der Area 'content_allocation' kann man 'menuless' auf 1 setzen. Somit werden die beiden linken Frames nicht geladen.
Code: Alles auswählen
UPDATE con_area SET menuless = '1' WHERE name = 'content_allocation' LIMIT 1;
mfg OliverL