bezorg de laatste berichten direct op de desktop
Welkom, Gast
Alstublieft Inloggen of Registreren.    Wachtwoord verloren?

Categorieën in het paginasysteem
(1 bezoeker) (1) Gast
Ga naar onderkantPagina: 12
TOPIC: Categorieën in het paginasysteem
#6123
Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
Iemand een idee hoe je met categorieën en subcategorieën kan werken in het php paginasysteem?

Ik ben momenteel aan een site bezig waar redelijk wat subcategorieën aanwezig zijn.

Bijvoorbeeld:
Nederlands > info > openingsuren
URL: www.mijndomein.be/index.php?language=nl&...ameter1=openinghours
Clean URL: www.mijndomein.be/nl/info/openinghours

Engels > info > opening hours
URL: www.mijndomein.be/index.php?language=en&...ameter1=openinghours
Clean URL: www.mijndomein.be/en/info/openinghours

Nederlands > Te koop > Auto's > Kever
URL: www.mijndomein.be/index.php?language=nl&...mp;parameter2=beetle
Clean URL: www.mijndomein.be/nl/forsale/auto/beetle

Engels > For Sale > Cars > Beetle
URL: www.mijndomein.be/index.php?language=en&...mp;parameter2=beetle
Clean URL: www.mijndomein.be/en/forsale/auto/beetle


Nu bepaalt de "load"-parameter welke pagina geladen wordt, maar vanaf dat er subcategorieën bijkomen zit'k vast. Hoe kan'k die subpagina includen in de indexpagina met behoud van de clean url?

Iemand een idee? Alvast bedankt!
Hori
Newbie
Berichten: 5
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
Laatste Wijziging: 09/09/2008 09:48 Door Hori.
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#6125
Re:Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
De categorieën zitten in een database en elke categorie of subcategorie zal een parent_id hebben. (dus ongelimiteerde boomstructuur)

de pagina's worden geladen zoals het php-paginasysteem op deze site. Maar in die tutorial is er maar 1 parameter(load) die de te laden pagina bepaalt en zit er geen virtuele mappenstructuur in de url.

[php]<?php
// laden van bestanden

if (is_file($load . ".php")) {
include($load . ".php");
}

// laden van errorpagina

else {
include("errors/fout404.php");
}

?> [/php]


zie voorbeeld:
http://www.bbt4vw.com/bbt3/
http://www.bbt4vw.com/bbt3/en/
http://www.bbt4vw.com/bbt3/en/info/ ($load=info)
load-parameter= 'info', dus include van pagina 'info.php'
http://www.bbt4vw.com/bbt3/en/info/who/ ($load=info, $menu1=who)
load-parameter is nog steeds 'info', dus include van pagina 'info.php', terwijl de pagina 'who.php' moet laden.

De eigenlijke url zonder mod_rewrite staat op de pagina zelf.

Volgens de tutorial zou ik dit moeten doen:
http://www.bbt4vw.com/bbt3/en/who/ ($load=who)
Maar zoals je kan zien is er dan geen sprake meer van een mappenstructuur in de url.

'k hoop dat het een beetje duidelijk is...


Mod_rewrite:
Code:

# this is the initialization
Options         +FollowSymLinks
RewriteEngine   On
RewriteBase     /
# these are the rewrite conditions
RewriteCond     %{REQUEST_FILENAME}     !-f
RewriteCond     %{REQUEST_FILENAME}     !-d
# and finally, the rewrite rules
RewriteRule     ^([a-zA-Z0-9\-]+)/?$    /bbt3/index.php?language=$1 [L,QSA]
RewriteRule     ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$   /bbt3/index.php?language=$1&load=$2 [L,QSA]
RewriteRule     ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$   /bbt3/index.php?language=$1&load=$2&menu1=$3 [L,QSA]

Hori
Newbie
Berichten: 5
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#6124
Re:Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
Het is moeilijk voor ons om te weten hoe je dit moet doen aangezien niet duidelijk is wat je huidige oplossing is.
Ik doel hierbij op het feit of jij je categorieen uit een database haalt, of uit een file systeem of een andere oplossing verzonnen heb.
Misschien kun je de code laten zien hoe jij een pagina in laad?
_arno_
WMS Fan
Berichten: 16
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#6126
Re:Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
Code:


if ( !empty($_GET['menu1']) ) {
$load = $_GET['load'] . '/' . $_GET['menu1'] . '.php';
}
if (is_file($load . ".php")) { 
include($load . ".php");   
}  


Ik weet niet of ik je precies begrijp, maar zoiets zal toch al afdoende moeten zijn?
_arno_
WMS Fan
Berichten: 16
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#6127
Re:Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
Inderdaad, dat zou voldoende moeten zijn als je met 1 subcategorie werkt, maar er zullen meer subcategorieën zijn.

'k zal het anders verwoorden:

www.bbt4vw.com/en/info/
www.bbt4vw.com/index.php?language=en&page=info
include van 'info.php'

Maar ik heb meerdere subcategorieën nodig zoals:
www.bbt4vw.com/en/info/about
www.bbt4vw.com/index.php?language=en&...ut&cat1=info
category=info
include van 'about.php'

www.bbt4vw.com/en/forsale/cars/beetle/09-09-2008/1959nicebeetle
www.bbt4vw.com/index.php?language=en&...ar_id=1959nicebeetle
cat = forsale
subcat = cars
date=09-09-2008
car_id=1959nicebeetle
include van 'beetle.php'

Er zijn dus meerdere categorieën en subcategorieën die ongelimiteerd kunnen uitgebreid worden. Daarnaast moeten er nog andere parameters kunnen achtergezet worden.
Dus in het ht.access bestand zou een mod_rewrite gezet moeten worden, die deze dynamische url's kan omzetten naar clean url's. En vanuit die clean url moeten de juiste variabelen genomen kunnen worden voor een include.
Hori
Newbie
Berichten: 5
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#6128
Re:Categorieën in het paginasysteem 1 Jaar, 10 Maanden geleden Karma: 0
Dan zou ik het zoiets doen, uiteraard is hieronder maar voorbeeld scriptje, en check ik compleet niks met veiligheid.
Code:


$l_sFileName = false;
foreach($_GET as $l_sKey => $l_sValue) {
// Blijkbaar categorie
if ( substr($l_sKey, 0, 3) == 'cat' ) {
$l_sFileName .= '/' . $l_sValue;
}
}
$l_sFileName .= '.php'
if ( !empty($_GET['menu1']) ) {
$load = $_GET['load'] . '/' . $_GET['menu1'] . '.php';
}

_arno_
WMS Fan
Berichten: 16
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
Ga naar bovenkantPagina: 12
Moderators: Rik, Roy