WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Hallo, bei meiner Site gibt es mehrere Benutzer und viele Seiten mit Unterseiten, wo noch dazu einige die Benutzer gar nichts angehen. Dadurch ist der pagetree etwas verwirrend. Gibt es eine Möglichkeit, jedem einzelnen Benutzer nur die 1-2 Seiten anzuzeigen, die nur ihn etwas angehen?
Offline
Nein, das ist leider nicht möglich.
Du könntest aber im Template Deiner Seite das Droplet LoginBox integrieren. Mit Loginbox wird im Frontend eine Eingabemaske für Benutzernamen und Kennwort angezeigt; wenn der Benutzer angemeldet ist und das Recht hat, die betr. Seite zu bearbeiten, erscheint dort dann ein Link "Seite bearbeiten", der dann direkt die betr. Seite zur Bearbeitung im Backend öffnet.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Gibt es eine Möglichkeit, jedem einzelnen Benutzer nur die 1-2 Seiten anzuzeigen, die nur ihn etwas angehen?
Wie bereits florian geschrieben hat, ist das ausblenden, nicht möglich.
Es ist aber möglich, über die Gruppen, das Recht um die Seite zu bearbeiten zu kontrollieren.
Um wie viele Benutzer geht es denn hier?
Wenn der Aufwand nicht zu groß ist, könnte man für jeden Benutzer eine eigene Gruppe machen, und die Gruppe dann nur die Seiten zuweisen, die sie bearbeiten darf.
Offline
Danke für Eure Antwort. Das mit den Benutzern und Gruppen wäre mir schon klar. Mir ging es darum, die pages-Seite übersichtlicher hinzubekommen, indem jeder nur die Seiten sieht, die er bearbeiten darf und die anderen sollen ausgeblendet sein.
Das im Code zu ändern, ist nicht gut wegen Updates, oder?
Offline
Was und wie der Seitenbaum dargestellt wird, wird hauptsächlich in der page_tree.php geregelt.
Seit der Version 1.2 (beta) besteht die Möglichkeit eine eigene page_tree.php im Backend-Theme Verzeichnis einzuhängen. An der könntest du dann rumeditieren ohne, das die Änderungen bei Updates des Cores überschrieben würden.
In der 1.2(beta) kannst du dir im Backend-Theme Argos-Reloaded mal ansehen wie das gemacht ist.
... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...
Offline
Super bernd, das war hilfreich
Offline
Ich hab mir mal was gebastelt:
Es erzeugt ein kleines Extra-Menü, in dem NUR die Seiten stehen, die der angemeldete User sehen darf (=die für ihn privat sind)
Ist als include im Template eingehängt.
if($wb->is_authenticated()) {
include .....
}
[== PHP ==]
$user_in_groups = $wb->get_groups_id();
if (in_array(1, $user_in_groups)) { return 0; } //kurzer prozess bei Admins
$allpage_trail = array();
$allpages = array();
$privatemenue = '';
foreach($user_in_groups as $ug) {
$query = "SELECT page_id, menu_title, page_trail FROM ".TABLE_PREFIX."pages WHERE visibility = 'private' AND FIND_IN_SET('".$ug."', viewing_groups)";
$get_pages = $database->query($query);
$rs = $get_pages->numRows();
if ($rs > 0) {
while ($ps = $get_pages->fetchRow()) {
$ptarr = explode(',',$ps['page_trail']);
foreach($ptarr as $un) {
if(!in_array($un, $allpage_trail)) {$allpage_trail[] = $un;}
}
$pid = $ps['page_id'];
if(!in_array($pid, $allpages)) {
//doppeleinträge vermeiden:
$allpages[] = $pid;
$privatemenue .= '<a class="privatemenue" href="[wblink'.$pid.']">'.$ps['menu_title'].'</a>';
}
}
}
}
$out1 = ''; $out2 = '';
echo '<style type="text/css">
<!--
';
foreach($allpage_trail as $p) {
$out1 .= '.pid'.$p.', '; $out2 .= '.lid'.$p.', ';
}
echo $out1.' .nix { font-weight: bold; color: #ffcc00 ! important; }
'.$out2.' .nix { font-weight: bold; color: #000! important ; }
-->
</style>
';
Beitrag geändert von grindbatzn (09.05.2017 13:01:32)