[CMS] Variabel aantal menu's op template

Pagina: 1
Acties:

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
Goedemiddag allen,


Ik zit met een kleine drempel. Bij het uitwerken van een zelf te ontwikkelen CMS loop ik tegen het volgende punt aan.

Een pagina heeft doorgaans een menu. Maar het kan zijn dat een pagina 2 menu's bevat of juist helemaal geen.
Nu lukt het me maar niet om een juiste manier van opslag te bedenken.
Op dit moment zit ik zo diep in dit probleem dat ik door de bomen het bos niet meer kan zien.

Is er hier iemand die mij even een duwtje in de goede richting kan geven?

In de meeste cms'en die ik heb bekeken worden pagina's direct aan een menu-item gekoppeld. Dat is niet wat ik wil. Ik wil het zo maken dat ik 0 of meerdere menu's aan een pagina kan koppelen, afhankelijk van het aantal dat de betreffende template wilt.

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Als je een database gebruikt, kan je bijvoorbeeld een record per menu maken en dan in de kolom een array in de vorm van een komma-gescheiden lijst neerzetten. Dan krijg je dus 3 of 4 kolommen, met url, text, hover text etc. Welke menu's er aan of uit staan bewaar je in je config bestand/tabel.

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
mwa die opslag is het probleem niet. Het gaat mij om de koppeling tussen een menu en een pagina.

Uitgaande van 2 templates, eentje met 1 menu (aan de linkerkant bijvoorbeeld) en eentje met 2 menu's (zowel links als rechts bijvoorbeeld)

Dan heb je dus een variabel aantal menu's per pagina en dus niet "elke pagina heeft een menu".
Daar loop ik nu een beetje tegenaan.

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-02 13:44
Misschien los je het al op door een paginatype genaamd snelkoppeling te maken? Je kan dan bijvoorbeeld een menu maken met daarin alleen maar (nep) pagina's.

  • benoni
  • Registratie: November 2003
  • Niet online
Rhapsody schreef op zaterdag 08 juli 2006 @ 14:35:
Op dit moment zit ik zo diep in dit probleem dat ik door de bomen het bos niet meer kan zien.
Even zomaar een ideetje hoor:

Kun je desnoods een sitemap- of overzichtsfunctie van het CMS aan de zijkant plaatsen, en door middel van Javascript en CSS alleen de items 'openklappen' die relevant zijn voor je pagina? Da's voor de gebruikers ook handig (want ze kunnen snel naar andere hoofstukken navigeren).

Aanvullend kun je in het admin-gedeelte van hetzelfde navigatie-menu een formulier maken met checkboxes voor de hoofstuktitels, zodat je per pagina met de hand kunt aanklikken wat je opengeklapt of dichtgeklapt wilt hebben. Van de aangeklikte hoofstukken bewaar je de ID's in een extra gegevensveld in je pagina-record, zodat je bij het tonen van de pagina met een stukje PHP of Javascript de bijbehorende hoofdstukken kunt openklappen.

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
djluc schreef op zaterdag 08 juli 2006 @ 15:50:
Misschien los je het al op door een paginatype genaamd snelkoppeling te maken? Je kan dan bijvoorbeeld een menu maken met daarin alleen maar (nep) pagina's.
Ik begrijp je niet.

Maar ik denk dat we op een andere frequentie zitten, ik zal het proberen te verduidelijken. Ik denk dat ik het wat te ingewikkeld/vaag heb uitgelegd.

De 2 templates:
Afbeeldingslocatie: http://www.sqicit.nl/private/templates.gif

Bij het toevoegen van een pagina, wil ik kunnen aangeven welke menu ('s) er aan de pagina gekoppeld moeten worden. Afhankelijk van de template is dat dus 1 menu of 2 menu's.

Maar ik kom er maar niet uit hoe ik dat nu moet vertalen naar de opzet/opslag in de db.

[ Voor 6% gewijzigd door Rhapsody op 08-07-2006 16:13 ]

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • H@rry
  • Registratie: Maart 2001
  • Laatst online: 10-02 22:15
Kan je het niet zo doen als je nu zelf zegt? Gewoon 2 templates maken.

In de DB geef je aan welke template bij de pagina hoort, en aan de hand daarvan ga je de content op de template toepassen.

GoT a clue? Specs


  • benoni
  • Registratie: November 2003
  • Niet online
Inderdaad. En waarschijnlijk lukt het ook wel met 1 template.

De meeste CMS'en hebben een standaard template met div's voor een linker- en rechtermenu. Als zo'n div niet wordt gevuld neemt hij geen ruimte in beslag. Het enige wat je moet doen is dus een functie gebruiken of een hack maken die een blok invoegt aan de hand van een code in je pagina.

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
007BigHarry schreef op zaterdag 08 juli 2006 @ 16:15:
Kan je het niet zo doen als je nu zelf zegt? Gewoon 2 templates maken.

In de DB geef je aan welke template bij de pagina hoort, en aan de hand daarvan ga je de content op de template toepassen.
Ja nou ja die templates dat is het probleem dus niet, maar het lukt me niet om die koppeling te leggen met een pagina.

Een pagina heeft template A. Maar hoe weet ik nu hoeveel menu's die template verwacht?

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-02 13:44
Niet, dat stel je in een soort configuratie in bij een template.

Ik kan je misschien helpen door je een idee te geven hoe het in Typo3 werkt: Je maakt een template, daarin geef je alle elementen een ID. Dus je hebt dan de elementen:
menu1
menu2
contentarea

Dit kan je onbeperkt doen. Vervolgens heb je een configuratie voor je site. Die maak je bijvoorbeeld zo aan:
TypoScript:
1
2
3
4
5
lib.menu1 = TMENU
lib.menu1 {
  directory = 1
  startPID = 4334
}

Wat is nu het leuke: Je kunt dus een pagina-tree maken die heel logisch is en tegelijkertijd alle mogelijk menu-structuren maken. Wat je sowieso niet moet doen is je pagina-tree opbouwen op een manier die handig is voor je menu's, dat kan je het beste los zien.

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
Misschien dat ik het nog niet helemaal zie, maar waar geef je dan aan hoeveel menu's eraan je pagina gekoppeld kunnen worden?

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • benoni
  • Registratie: November 2003
  • Niet online
Rhapsody schreef op zaterdag 08 juli 2006 @ 16:59:
Misschien dat ik het nog niet helemaal zie, maar waar geef je dan aan hoeveel menu's eraan je pagina gekoppeld kunnen worden?
Een veld toevoegen in je pagina-tabel waarin je je menu-voorkeuzes voor die pagina kunt opslaan, of een 'publication type id' (zo ken ik het van Xaraya). Aan de hand van die paar codes (of van de ID die is gekoppeld aan een publication types tabel met bijbehorende voorkeuren) kan je CMS dan de juiste gegevens erbij opvissen en die in het juiste aantal blokken weergeven.

Probeer anders toch nog even wat CMS'en uit zodat je meer vergelijkingsmateriaal en ideeën hebt :)

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 23:01

Rhapsody

In Metal We Trust

Topicstarter
Ik ga dat zeker doen. In ieder geval bedankt! (Allen)

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)

Pagina: 1