PHP requires moeten extra stylesheet aanroepen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
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?

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
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.

Verwijderd

Topicstarter
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.
nu heb ik deze code:
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 ]


Verwijderd

Door een stukje PHP aan je <head> toe te voegen? 8)7

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Output buffering en dan later nog vervangen.

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 20:57

MueR

Admin Tweakers Discord

is niet lief

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. 8)7

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.


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Is niet zo'n gekke suggestie hoor, iets als het Zend Framework doet dat ook.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

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'


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
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.
*
PHP:
1
<html><head><?php foreach ($stylesheets as $stylesheet) { echo '<link href="' . $stylesheet' . " rel="stylesheet" type="text/css" />'; } ?> </head> <!-- etc -->
Pagina: 1