Hallo zusammen,
ich möchte die Metadaten Rechte von geschwichter Knoten auslesen.
Wen ich z.B. auf einem Menupunkt der Eben 0 clicke und der User keine lese Rechte auf die Startseite des Menupunktes hat,
dann soll er die Knoten, die auf der selben Ebene sind, prüfen. Wenn er dann auf einer der Geschwichter Lese Rechte hat, dann soll er auf seine Seite springen und anzeige.
Soweit bin ich:
$-- hier leist er die Rechte des Folders aus.
$CMS_SET(set_permissions, #global.node.parent.getMetaFormData.get(lang, "md_groups").get.getAllowed("access").toString(";"))$
<?php
$-- hier soll er die geschwichter des Folders auslesen und die uid auslesen
in dem Children Array sind am anfang immer 2 String Objekt drin die ich weg haben möchte. Kann man dem sagen, dass er nur die pageref kinder auslesen soll?
Sonst sind auch noch die geschwichter des #global.node.parent drin. Kann man die nur durch #global.node.parent.parent.children auslesen?
--$
$CMS_FOR(for_child,#global.node.parent.parent.Children())$
echo '$CMS_VALUE(for_child.getClass)$';
echo '<br>';
$--im 2 D Array muss die url und das Recht der SEITE stehen --$
$children[] = array("url" => "$CMS_REF(pageref:(for_child.uid))$", "groups" => "$CMS_VALUE(for_child.getMetaFormData.get(lang, "md_groups").get.getAllowed("access").toString(";"))$");
$CMS_END_FOR$
im for_child.uid ist die uid vom Folder gespeichert. Kann man nicht die uid von der Seite die drunter liegt auslesen?
Hier ist dann die Prüfung
<?php
if(!$_Application->ppc->set_permission_module('fsPagePermission')->setPagePermission("$CMS_VALUE(set_permissions)$")->checkPagePermission()){
$url = $_Application->ppc->set_permission_module('fsSiblingPagePermission')->
setPagePermission("$CMS_VALUE(set_permissions)$")->setChildrenMeta($children)->checkPagePermission();
if($url != false){
$_Application->prc->set_redirect_module('fsPageStdRedirect')->setUrl($url)->redirect();
}
else{
$_Application->prc->set_redirect_module('fsPageStdRedirect')->setUrl("$CMS_REF(pageref:"homepage")$")->redirect();
}
}
?>
Ist der Ansatz so richtig oder kann man es besser machen?
Ich hoffe ihr versteht mich.
Viele Grüße,
Aissam