Kontakt aufnehmen

Seitentyp Neue Seite erstellen (CMS)

Heute morgen haben wir das Ordner erstellen übertragen. Jetzt geht es um das Seiten erstellen. Dazu gibt es den Seitentyp /system/classes/pagecreatorpage.php. Diese beinhaltet den Inhalt der alten /admin/includes/site-new.html mit kleinen Änderungen:

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

    public function display(){
      if(!$_POST['alias']){
        $template = new Template();
        $template->load("site_new");
        $template->assign_var("URL",getSetting("global","global","host").$this->page->alias.".html");
        $template->assign_var("ALIAS",$_POST['alias']);
        $template->assign_var("DIR",$_SESSION['dir']);
        $template->assign_var("HOST",getSetting("global","global","host"));
        $template->assign_var("ENDING",".html");
        $types = Page::getPagesTypes();
        if($types){
          foreach($types as $type){
            $index = $template->add_loop_item("TYPES");
            $template->assign_loop_var("TYPES",$index,"CLASS",$type->class);
            $template->assign_loop_var("TYPES",$index,"NAME",$type->name);
          }
        }
        $template->output();
      }
      else{
        if($_SESSION['dir']){
          $dir = $GLOBALS['db']->EscapeString($_SESSION['dir'])."/";
        }
        else{
          $dir = "/";
        }
        $id = Page::create("../",$dir.$GLOBALS['db']->EscapeString($_POST['alias']),$GLOBALS['db']->EscapeString($_POST['type']));
        if($id){
          $template = new Template();
          $template->load("site_new_succeeded");
          $template->assign_var("URL","/admin/home.html?dir=".$_SESSION['dir']);;
          $template->output();
        }
        else{
          $template = new Template();
          $template->load("message");
          $template->assign_var("MESSAGE","Die Seite konnte leider nicht erstellt werden.");
          $template->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){
    }
}
?>

Für eine erleichterte Bedienung wird statt der Textbox mit dem Namen Alias jetzt die komplette Url mit Textbox angezeigt. So weiß auch jeder was gemeint ist. Das Template /system/templates/site_new.html sieht nun so aus:

<form action="{VAR:URL}" method="post">
  <table>
    <tr>
      <td>{LANG:TYPE}:</td>
      <td>
        <select name="type">
            {LOOP:TYPES}
            <option value="{VAR:CLASS}">{VAR:NAME}</option>
          {/LOOP:TYPES}
        </select>
      </td>
    </tr>
    <tr>
      <td>Url:</td>
      <td>{VAR:HOST}{VAR:DIR}<input name="alias" />{VAR:ENDING}</td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" value="{LANG:CREATE}" /></td>
    </tr>
  </table>
</form>

Alle Änderungen stehen in Revision 30.

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