In our opinion there is optimisation need in page generation time, visualisation of the content parts in the backend and the menu replacement tags. We made some work-arounds, will post our results here from time to time. Please excuse if similar solutions are posted somewhere else on this forum -> we are one-week-newbies and have no complete overview . The snippets just helped us to realize our projects, so we think they are also helpful for others.
Custom menu: We needed a special menu showing ONLY the second level menu items of the actual selected group. For example:
Code: Select all
[0] Home
[1] About Us
[2] Contact
[3] News
[4] Product
[] Product 1-1
[] Product 1-2
[] Product 1-2-1
[] Product 1-2-2
[] Product 1-2-3
[] Product 1-3
[] Product 1-4
[5] Company
[] Company 1-1
[] Company 1-2
[] Company 1-3
[] Company 1-3-1
[] Company 1-3-2
[] Company 1-3-3
[] Company 1-4
[] Company 1-5
[] Company 1-5-1
[6] Contact
Problem: If you are in a sub-menu the $Globals dont delivers the specific id of the first level page. But we can read out the ["acat_struct"] to get this (for better understanding we dont nest it here in a for... loop and request only 7 levels up):
Code: Select all
[PHP]
$actual_ebene = $GLOBALS[content][cat_id];
$request_ebene = $actual_ebene;
$ebene_ho1 = $GLOBALS[content][struct][$request_ebene]["acat_struct"];
if($ebene_ho1 > 0){$request_ebene = $ebene_ho1;}
$ebene_ho2 = $GLOBALS[content][struct][$ebene_ho1]["acat_struct"];
if($ebene_ho2 > 0){$request_ebene = $ebene_ho2;}
$ebene_ho3 = $GLOBALS[content][struct][$ebene_ho2]["acat_struct"];
if($ebene_ho3 > 0){$request_ebene = $ebene_ho3;}
$ebene_ho4 = $GLOBALS[content][struct][$ebene_ho3]["acat_struct"];
if($ebene_ho4 > 0){$request_ebene = $ebene_ho4;}
$ebene_ho5 = $GLOBALS[content][struct][$ebene_ho4]["acat_struct"];
if($ebene_ho5 > 0){$request_ebene = $ebene_ho5;}
$ebene_ho6 = $GLOBALS[content][struct][$ebene_ho5]["acat_struct"];
if($ebene_ho6 > 0){$request_ebene = $ebene_ho6;}
$ebene_ho7 = $GLOBALS[content][struct][$ebene_ho6]["acat_struct"];
if($ebene_ho7 > 0){$request_ebene = $ebene_ho7;}
$GLOBALS["spec_hauptmenuebene"] = $request_ebene;
[/PHP]
Code: Select all
[PHP]
$hauptmenuebene=$GLOBALS["spec_hauptmenuebene"];
$keys = array_keys($GLOBALS[content][struct]);
$coun = count($GLOBALS[content][struct]);
for ($a = 0; $a < $coun; $a++) {
if($GLOBALS[content][struct][$keys[$a]][acat_struct] == $hauptmenuebene && $GLOBALS[content][struct][$act_area][acat_hidden] ==0){
$subm_arr[] = $GLOBALS[content][struct][$keys[$a]][acat_name];
$subm_lnk[] = $GLOBALS[content][struct][$keys[$a]][acat_alias];
}
}
if(isset($subm_arr)){
$lk = 0;
foreach ($subm_arr as $value) {
echo "<li><a href=index.php?".$subm_lnk[$lk].">".$value."</a></li>";
$lk += 1;
}
}
unset($subm_arr);
unset($subm_lnk);
[/PHP]