Vielä tästä minun cms:stä, jota olen opettelumielessä väsäämässä.
Minulla on admin puoli (http://localhost/testi/admin/index.php), joka näyttää body-osalta tältä:
----------------------------------------------------------------------------------------
Etusivulle
Footer teksti tähän
--------------------------------------------------------------------
Siis sillä index-sivulla on neljä nappia, jotka painettaessa liittää url:ään lisukkeen (mikä on oikea termi?), esim. http://localhost/testi/admin/index.php?pagesadmin. Sitten minulla on funktio, joka on include-komennolla liitetty sivun alkuosaan, joka ottaa vastaan tuon kutsun:
function contentRender(){
if (isset($_GET[pagesadmin'])) {
include("menu/pages_admin.php");
}
.
.
.
.
}
Jos esim. "pagesadmin" on osoiterivillä, funktio contentRender() ottaa sen vastaan ja näyttää content-div:issä tuon kyseisen tiedoston (esim. pages_admin.php). Tällä tavalla layout pysyy koko ajan samana ja ainoastaan sisältö content-div:ssä vaihtuu.
Olen alkanut miettiä, onkohan tämä hyvää koodausta. Kaikkiin tiedostoihin, jotka haluaa näkyvän content div:ssä, on liitettävä lisuke url:ään, ja tuo contentRender() alkaa olla tällä hetkellä aika pitkä:
---------------------------------------------------------------------------------
function contentRender(){
if (isset($_GET['menuadmin'])) {
include("menu/menu_admin.php");
}
if (isset($_GET['media_admin'])) {
include("media/upload_form.php");
}
if (isset($_GET['catadmin'])) {
include("categories/categories_admin.php");
}
if (isset($_GET['pagesadmin'])) {
include("pages/pages_admin.php");
}
if (isset($_GET['edit'])) {
include("pages/pages_edit_form.php");
}
if (isset($_GET['new'])) {
include ("pages/pages_add_new.php");
}
if (isset($_GET['upload'])) {
include("media/file_upload.php");
}
if (isset($_GET['edited'])) {
include("pages/pages_edit.php");
}
if (isset($_GET['mandra'])) {
include("menu/menu_edit.php");
}
if (isset($_GET['newsingleitem'])) {
include("menu/menu_objekt_single.php");
}
if (isset($_GET['newmenuitem'])) {
include("menu/menu_objekt_ny.php");
}
if (isset($_GET['menuparse'])) {
include("menu/menu_objekt_ny_parse.php");
}
if (isset($_GET['menueditparse'])) {
include("menu/menu_edit_parse.php");
}
if (isset($_GET['singleitemparse'])) {
include("menu/objekt_single_parse.php");
}
if (isset($_GET['mandra_single_article'])) {
include("menu/menu_edit_single_article.php");
}
if (isset($_GET['menu_up'])) {
include("menu/menu_ordning.php?");
}
if (isset($_GET['menu_down'])) {
include("menu/menu_ordning.php?");
}
if (isset($_GET['singlemenueditparse'])) {
include("menu/menu_edit_single_article_parse.php");
}
if (isset($_GET['menudelete'])) {
include("menu/menu_delete.php");
}
if (isset($_GET['catandra'])) {
include("categories/categories_edit_form.php");
}
if (isset($_GET['cateditparse'])) {
include("categories/categories_edit_parse.php");
}
if (isset($_GET['newcat'])) {
include("categories/categories_new.php");
}
if (isset($_GET['catdelete'])) {
include("categories/categories_delete.php");
}
if (isset($_GET['newcatparse'])) {
include("categories/categories_new_parse.php");
}
if (isset($_GET['newsingle'])) {
include("pages/pages_new_single.php");
}
if (isset($_GET['singleitemparse'])) {
include("menu/menu_objekt_single_parse.php");
}
}
Voisikohan systeemin tehdä jotenkin yksinkertaisemmin mutta kuitenkin niin, että layout pysyy samana ja pelkästään sisältö content-div:ssä vaihtuu?
P.S Toivottavasti html-tägit eivät strippaudu viestiä säästettäessä.
CMS:än admin puolen suunnittelu
PPietari
1
411
Vastaukset
- juhakorkeapudas
Pistät koko hoidon taulukkoon ja sieltä sitten valitset urlin parametrin mukaan oikean sivun.
Eli siis yksinkertaistettuna:
$pages = array('admin' => 'menu/menu_admin.php', jne);
$page = $pages[$_GET];
Sitten kontentin kohdalla määrittelet vain yhden includen
include($page);
Tämä on nyt tällainen esimerkki, todellisuudessa urlista tuleva parametri ja sivun olemassaolo täytyy jotenkin varmistaa (file_exists) ennen kuin pukataan sitä esille.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Lataus pakkaskelissä
En olisi koskaan ostanut sähköautoa jos olisin tajunnut että ne eivät lataa pakkasissa suurteholatauksella vaan istut tu1495119Kun väestö ikääntyy ja veronmaksajat vähenee, mitä sitten vasemmistolaiset?
Maahanmuutto ei vaan ole ratkaisu väestön ikääntymiseen. Maahanmuutto lykkää ja hidastaa väestön ikääntymistä ja työv822724Miksei Trump ole kiinnostunut Suomen valloittamisesta?
Täällähän on enemmän turvetta kuin Norjalla öljyä. Eikö Ttump ole turvenuija?851727Kyllä mä suren
Sitä että mikään ei ole kuten ennen. Ei niitä hetkiä ja katseita. Toisaalta keho lepää eikä enää tarvitse sitä tuskaa ko91196- 48934
- 66902
Olet mies aika ailahteleva luonteeltasi
Olen nähnyt kuinka olet iloinen, sosiaalinen ja osallistuva. Autat ja kannustat muita. Ja sitten olen nähnyt kuinka istu122883- 21883
Yhteen hiileen velanottoveljet V P K
Tytäryhtiöissä palaa julkista rahaa ja vastuuttomuuden takia -ei pakollisten -kuntalain edellyttämien asioiden takia! N75862Mitä tarkoitat
”Silti koen sinulta puuttuvan jotain, joka kutsuu minua antamaan sinulle juuri sitä.”23808