Kontakt aufnehmen

Rollenliste (CMS)

In unserem CMS gibt es zur Zeit standardmäßig drei Rollen:

  • Administrator
  • Gast
  • Alle

Diese Rollen sollen erweiterbar und veränderbar sein. Hierfür bauen wir heute schon einmal die Auflistung der Rollen unter Benutzer->Rollen. Zunächst starten wir mit dem template system/templates/role_list.html:

<table>
  <thead>
    <tr>
      <td><strong>{LANG:ID}</strong></td>
      <td><strong>{LANG:NAME}</strong></td>
      <td><strong>{LANG:ACTIONS}</strong></td>
    </tr>
  </thead>
  <tbody>
    {LOOP:ROLELIST}
    <tr>
      <td>{VAR:ID}</td>
      <td>{VAR:NAME}</td>
      <td>{VAR:ACTIONS}</td>
    </tr>
    {/LOOP:ROLELIST}
  </tbody>
</table>

Diese ist so ähnlich aufgebaut, wie die Liste der Benutzer. Die dahinter steckende Klasse ist die /system/classes/rolelist.php:

<?PHP
  class RoleList extends Editor{
    function __construct($page){
      $this->page = $page;
    }

    public function display(){
      $rolelist = new Template();
      $rolelist->load("role_list");

      foreach(Role::getAllRoles() as $role){
        $index = $rolelist->add_loop_item("ROLELIST");
	    $rolelist->assign_loop_var("ROLELIST", $index, "ID", $role->ID);
	    $rolelist->assign_loop_var("ROLELIST", $index, "NAME", $role->name);
      }

      $rolelist->output();
    }

    function getHeader(){
    }

    public function getEditableCode(){
      return "<input name="save" type="submit" value="Ändern" onclick="form.action='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."' ; target='_self' ; return true" />";
    }

    public function save($newPage,$oldPage){
    }
}
?>

Des Weiteren hab ich noch einige Elemente gecachet, wie zum Beispiel fast alle Widgets. So läuft ContentLion noch schneller.

Alle Änderungen im Detail gibt es in Revison 73 und Revision r74. Die Änderungen stehen auch als Update bereit.

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern