Ik ben bezig met de administrator van een cms dat ik aan het maken ben. Binnen dit systeem is het zo dat een lijst aangeeft welke 'applicaties' opgevraagd moeten worden. deze 'applicaties' zijn in feite mappen met een vaste structuur aan bestanden met code iconen resources etcetera. Nu is het de bedoeling dat in de toekomst meerdere 'applicaties' kunnen worden gebruikt. Die elk misschien wel een extra stylesheet nodig hebben. Nu wil ik deze stylesheet dus laten aanroepen alleen is het punt waarom de styelsheets worden gelinkt (dus de 'head') al aangeroepen en voorbij gegenereerd. Hoe los ik dit dus op?
Door je <head> later uit te voeren.
De lijst met stylesheets kan je maken door alle 'applicaties' hun stylesheets centraal te laten registreren. Vanuit dat centrale punt kan je vervolgens alle style-links uitvoeren.
De lijst met stylesheets kan je maken door alle 'applicaties' hun stylesheets centraal te laten registreren. Vanuit dat centrale punt kan je vervolgens alle style-links uitvoeren.
nu heb ik deze code:ValHallASW schreef op donderdag 17 september 2009 @ 12:52:
Door je <head> later uit te voeren.
De lijst met stylesheets kan je maken door alle 'applicaties' hun stylesheets centraal te laten registreren. Vanuit dat centrale punt kan je vervolgens alle style-links uitvoeren.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <?php //directory change to acces framework chdir('../'); require_once('ini_/ini_config.php'); require_once('use_/use_requireallfunctions.php'); $login=checklogin(); if(!isadministrator($login['id']) AND !ispublisher($login['id']) AND !iseditor($login['id']) AND !isauthor($login['id']) AND !ismoderator($login['id']) AND !ispublisher($login['id'])) { require_once('administrator/login.php'); exit(); } if(isset($_GET['application']) AND is_dir('administrator/apps/'.$_GET['application'])) $application=$_GET['application']; else $application='controlpanel'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>ADMINISTRATOR</title> <link href="stylesheet.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../cybercat_files/jquery/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="../cybercat_files/jquery/jquery.tablesorter.min.js"></script> </head> <body> <div id="container"> <div id="header"></div> <div id="menupanel"> <?php require_once('apps/menubaritems.php'); ?> </div> <div id="content_top"></div> <div id="content_middle"> <div id="content_left"> <?php require_once("apps/$application/left.php"); ?> </div> <div id="content_right"> <?php require_once("apps/$application/right.php"); ?> </div> </div> <div id="content_bottom"></div> <div id="footer"></div> </div> </body> </html> |
Hoe zou ik dat hier dan in gaan toepassen?
EDIT: Krijgt opeens idee: alle directories van apps doorzoeken
[ Voor 1% gewijzigd door Verwijderd op 17-09-2009 13:05 . Reden: de smily werkte niet ]
Oh ja, die zal het lekker doen. Je complete pagina gaan opslaan in een output buffer om er nog wat html aan toe te voegen in de header. 
De simpele oplossing: maak een array met daarin je stylesheets. Elke keer dat er een nieuwe bij moet, kan je die simpel toevoegen. Of verwijderen. In je head gewoon over de array loopen.
en als je slim bent hou je ook meteen rekening met meta tags, javascript, overige <link> elementen enz.

De simpele oplossing: maak een array met daarin je stylesheets. Elke keer dat er een nieuwe bij moet, kan je die simpel toevoegen. Of verwijderen. In je head gewoon over de array loopen.
en als je slim bent hou je ook meteen rekening met meta tags, javascript, overige <link> elementen enz.
Anyone who gets in between me and my morning coffee should be insecure.
Ik moet me bij MueR aansluiten. Het in en buffer plaatsen van de hele pagina en vervolgens met string functies alsnog dingen toe gaan voegen en lopen vervangen, terwijl je de daarvoor benodigde info ook al had voordat je überhaupt met de eerste html open tag begonnen bent vind ik wel een gekke suggestie.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Hier zijn een paar hints:
* Gebruik een bestaand CMS, en voeg daar zelf iets aan toe als je echt iets heel specifieks nodig hebt.
* Gebruik een framework die dit soort zaken ook af kan handelen.
*
* Gebruik een bestaand CMS, en voeg daar zelf iets aan toe als je echt iets heel specifieks nodig hebt.
* Gebruik een framework die dit soort zaken ook af kan handelen.
*
PHP:
1
| <html><head><?php foreach ($stylesheets as $stylesheet) { echo '<link href="' . $stylesheet' . " rel="stylesheet" type="text/css" />'; } ?> </head> <!-- etc --> |
Pagina: 1