Ik heb een idee waarbij ik graag het Zend Framework wil gebruiken. Daarbij zit ik met een probleempje:
Ik gebruik alleen custom routes. Deze routes gaan naar een bepaalde "page". Deze page is een definitie van een of meerdere modules. Zo kan ik een tweekolommen-pagina aanmaken waarbij twee keer een bepaalde module/controller/actie wordt aangeroepen. Ik zou ook graag definiëren in welke key van de layout deze verschillende aanroepen terecht komen.
Even schematisch een voorbeeld:
Ik heb onderdelen van de documentatie gelezen zoals named segments van het response object en configuratie opties van Zend_Layout (bijvoorbeeld met de contentKey() setter).
Toch kom ik nu er _niet_ uit. Ik heb gewoonweg geen idee hoe ik hiermee kan starten. Er staat nog weinig code op papier, omdat ik liever eerst wil weten wat ik moet doen, dan het 100 keer proberen. Het komt kortweg op 2 punten neer:
Maar dit lijkt me nogal omslachtig. Moet het zo, of zijn er andere mogelijkheden?
Ik gebruik alleen custom routes. Deze routes gaan naar een bepaalde "page". Deze page is een definitie van een of meerdere modules. Zo kan ik een tweekolommen-pagina aanmaken waarbij twee keer een bepaalde module/controller/actie wordt aangeroepen. Ik zou ook graag definiëren in welke key van de layout deze verschillende aanroepen terecht komen.
Even schematisch een voorbeeld:
XML:
Dan heb ik in (bijvoorbeeld) een database alle pagina's van de website staan. Deze entries van de database bevatten de url en een verwijzing naar het type pagina (dus bijv. twocolumn). Ik heb dan een bijbehorende layout waar dan dit mogelijk is:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <nav> <page> <name>twocolumn</name> <config> <element> <module>default</module> <controller>index</controller> <action>index</action> <key>left</key> </element> <element> <module>default</module> <controller>index</controller> <action>index</action> <key>right</key> </element> </config> </page> <!-- hier meer pagina's --> </nav> |
HTML:
1
2
3
4
| <!-- layout gedeelte --> <div id="left"><?= $this->layout()->left ?></div> <div id="right"><?= $this->layout()->right ?></div> <!-- meer layout --> |
Ik heb onderdelen van de documentatie gelezen zoals named segments van het response object en configuratie opties van Zend_Layout (bijvoorbeeld met de contentKey() setter).
Toch kom ik nu er _niet_ uit. Ik heb gewoonweg geen idee hoe ik hiermee kan starten. Er staat nog weinig code op papier, omdat ik liever eerst wil weten wat ik moet doen, dan het 100 keer proberen. Het komt kortweg op 2 punten neer:
- In de dispatch loop meerdere acties aanroepen
- Deze verschillende uitkomsten in verschillende keys van de layout stopppen.
Maar dit lijkt me nogal omslachtig. Moet het zo, of zijn er andere mogelijkheden?