Gespräch vereinbaren
Werbung
FeatValue
Das Kundenportal für Agenturen und Freelancer
Integriert sich in das bestehende Projektmagement-System
Kostenlos registrieren

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 meine Software FeatValue.

Über mich

Stefan Wienströer

Ich entwickle Webanwendungen mit viel Leidenschaft. Mein Wissen gebe ich dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

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

Auswahl speichern