Toon posts:

[php/html] verwijzingen

Pagina: 1
Acties:
  • 229 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Aangezien mijn php script op elke bladzijde dezelfde header en onderzijde heeft heb ik deze op elke php pagina in een functie gestopt, nml:

PHP:
1
2
3
4
5
6
7
<? include("config.php"); ?>

<? include("bovenkant.html"); ?>

<div id="bla">site</div>

<? include("onderkant.html"); ?>


echter nu werk ik in een submap bijv "admin" en wil ik daar in mijn php bestanden ook verwijzen naar bovenkant.html en onderkant.html, dit kan natuurlijk met
PHP:
1
<? include("../bovenkant.html"); ?>
echter zit in bovenkant.html de verwijzing naar het bestand standard.css (vanuit de root te vinden in style/standard.css) echter wanneer bovenkant.html wordt toegevoegd aan bijvoorbeeld admin/index.php zal hij in de map admin natuurlijk geen map style vinden.. hoe vang je dit MOOI af...?

Verwijderd

niet :)

Hier is geen magische oplossing voor.

[ Voor 75% gewijzigd door Verwijderd op 15-05-2005 16:08 ]


  • samo
  • Registratie: Juni 2003
  • Laatst online: 22:08

samo

yo/wassup

het is af te vangen met is_file()... Dat als in de huidige werkdirectory de css niet gevonden kan worden, het dan een direcory hoger proberen. Met limiet, wanner toepasbaar...

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


Verwijderd

Topicstarter
dan zoek ik een eleganter alternatief.. arelaxed..

Verwijderd

Een stukje code schrijven dat de document root van alle paden afhaalt, zodat je het relatieve pad tov de document root overhoudt, en dat plak je achter de webroot. Dan zien al je includes er bijvoorbeeld zo uit:

PHP:
1
include SITE_ROOT . 'bla.php';

En een stylesheet:
PHP:
1
<link rel="stylesheet" type="text/css" href="<?=WEB_ROOT?>bla.css" />

Je moet de code die die defines doet natuurlijk in elk script includen (met include_once).

  • A_L
  • Registratie: Juni 2001
  • Niet online

A_L

Door te switchen naar een absolute verwijzing ipv relatief. Dus www.serv.er.nl/stylesheet.css.

[ Voor 3% gewijzigd door A_L op 15-05-2005 16:15 . Reden: typo ]


Verwijderd

Topicstarter
tsja.. dat moet dan toch maar.. is wel zo makkelijk.. beetje vies though..

[ Voor 98% gewijzigd door Verwijderd op 15-05-2005 16:21 . Reden: bezweken voor abso path verwijzing :( ]


Verwijderd

absolute paden hebben zeker wel voordelen. Als je namelijk een site hebt waarvan de content nogal eens gequote wordt is absoluut wel zo handig, dan is de sourcecode namelijk zo over te nemen (w3c had dat imho moeten doen)

Nadeel is wel dat als je je server anders gaat inruimen, je kans hebt dat het allemaal niet meer klopt. Maar eigenlijk is het ook wel weer zo dat URL's nooit zouden moeten wijzigen. Verder id dat allemaal ook wel op te lossen door een constructie zoals Cheatah voorstelt

Verwijderd

Topicstarter
tsja het idee is natuurlijk dat je je php bestanden zo opsteld dat deze alleen bezig zijn met php draaien.. dus html wil ik dan zoveel mogelijk doen via include zodat de layout van de website in zo min mogelijk bestanden wordt bepaald, dit zodat je alle pagina's desgewenst via 1 bestand kan aanpassen...

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

waarom is de
HTML:
1
<base href="http://rootvanjesite.com/">

hier nog niet voorbij gekomen?
of deze methode:
HTML:
1
<link rel="stylesheet" href="/style/standard.css" type="text/css">

(let op de 1e slash)

[ Voor 43% gewijzigd door crisp op 15-05-2005 19:39 ]

Intentionally left blank

Pagina: 1