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](/i/stefan-264.png)
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project