Even de situatie ik heb een cms geschreven om pagina's te editten, users,...
nu ben ik begonnen aan de fotogallerij, dit is in mijn ogen een module.
Vandaar de volgende structuur in de database:
modules:
id (1)
title (photo gallery v1)
description (een simpele foto gallerij met verschillende albums)
active (1)
controllerTitle (photogallery)
Nu is het probleem waar ik tegenaan loop het volgende:
ik wil op elke pagina kunnen zeggen buiten de standaard tekst die aangepast moet kunnen worden moet hierop ook de fotogallerij te zien zijn.
dus een extra tabel aangemaakt in de db:
pagesmodules:
id
pageID
moduleID
Hierdoor kan ik wanneer een pagina wordt opgeroepen kijken welke modules actief zijn voor die pagina, die wil ik vervolgens 1 voor 1 inladen.
Ik heb echter geen idee hoe ik dit dynamisch kan doen?
De gedachte was een beetje als volgt:
$arrayModules = array(); //bevat alle data die de view nodig heeft (de pagina)
voor de fotogallerij zou ik dit moeten doen
$photoGallery = new photoGallery();
$photoGallery -> setAlbum(1);
$photoGallery -> getData(); (waarna ik een array met images en dergelijke krijg voor dat album)
$arrayModules[] = $photoGallery;
Voor een poll zou ik bv moeten doen
$poll = new poll();
$poll -> setID(53); // slechts een voorbeeld natuurlijk
$poll -> getData();
$arrayModules[] = $poll;
vervolgens meegeven aan de pagina
registry::get('template') -> assign('modules', $arrayModules);
Vervolgens zou ik in mijn template alles kunnen overlopen en outputten.
Maar hoe verwerk je dit nu mooi? Moet ik in de for loop waar ik kijk welke modules ik voor de pagina heb een hoop cases gaan doen met dan vervolgens elke keer dit soort code ertussen adhv de module?
Of is er toch een simpelere manier?
Ik hoop dat het verhaal een beetje duidelijk is want ik zie door de bomen het bos niet meer.
nu ben ik begonnen aan de fotogallerij, dit is in mijn ogen een module.
Vandaar de volgende structuur in de database:
modules:
id (1)
title (photo gallery v1)
description (een simpele foto gallerij met verschillende albums)
active (1)
controllerTitle (photogallery)
Nu is het probleem waar ik tegenaan loop het volgende:
ik wil op elke pagina kunnen zeggen buiten de standaard tekst die aangepast moet kunnen worden moet hierop ook de fotogallerij te zien zijn.
dus een extra tabel aangemaakt in de db:
pagesmodules:
id
pageID
moduleID
Hierdoor kan ik wanneer een pagina wordt opgeroepen kijken welke modules actief zijn voor die pagina, die wil ik vervolgens 1 voor 1 inladen.
Ik heb echter geen idee hoe ik dit dynamisch kan doen?
De gedachte was een beetje als volgt:
$arrayModules = array(); //bevat alle data die de view nodig heeft (de pagina)
voor de fotogallerij zou ik dit moeten doen
$photoGallery = new photoGallery();
$photoGallery -> setAlbum(1);
$photoGallery -> getData(); (waarna ik een array met images en dergelijke krijg voor dat album)
$arrayModules[] = $photoGallery;
Voor een poll zou ik bv moeten doen
$poll = new poll();
$poll -> setID(53); // slechts een voorbeeld natuurlijk
$poll -> getData();
$arrayModules[] = $poll;
vervolgens meegeven aan de pagina
registry::get('template') -> assign('modules', $arrayModules);
Vervolgens zou ik in mijn template alles kunnen overlopen en outputten.
Maar hoe verwerk je dit nu mooi? Moet ik in de for loop waar ik kijk welke modules ik voor de pagina heb een hoop cases gaan doen met dan vervolgens elke keer dit soort code ertussen adhv de module?
Of is er toch een simpelere manier?
Ik hoop dat het verhaal een beetje duidelijk is want ik zie door de bomen het bos niet meer.
Modelbouw - Alles over modelbouw, van RC tot diorama