home | sitemap

Agendaoverzicht op elke pagina 

Het overzicht van de agendamodule kan eenvoudig worden getoond door een link in te voegen naar

/cgi/agenda.cgi?site=mijnwebsite

Deze link zal het overzicht tonen op de default pagina van de website.

Door het toevoegen van de parameter conpag kan het overzicht op elke willekeurige pagina worden getoond.
Dit kan worden gebruikt om het overzicht bijvoorbeeld te tonen op elke pagina, namelijk in een iframe.

Stappenplan:

1. Maak een bijna lege html pagina met alleen het tekstvlak

Deze lege pagina gaat dienen als inhoud van het iframe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<!-- TMPL_VAR NAME="language" -->" lang="<!-- TMPL_VAR NAME="language" -->">
<head>
  <!-- TMPL_VAR NAME="xcmsHead1" -->
  <link rel="stylesheet" type="text/css" href="/css/mijnstijl/iframe.css">
  <!-- TMPL_VAR NAME="xcmsHead2" -->
  <script type="text/javascript">
  function myInit() {
    var a = document.getElementById("tekst").getElementsByTagName("A");
    for (var i = 0; i < a.length; i++) {
      xcmsAddEventListener(a[i], "click", showItem);
    }
  }
  function showItem(evt) {
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
      var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
      parent.location.href = elem.href.replace(/conpag=p\d+/, "conpag=none");
    }
  }  
  AddToInitArray(myInit);
  </script>
</head>
<body>
<!-- TMPL_VAR NAME="xcmsSaveForm" -->
<div id="tekst" <!-- TMPL_IF NAME="edit" --> contenteditable="true" <!-- /TMPL_IF -->>
<!-- TMPL_VAR NAME="tekst" -->
</div>
</body>
</html>

Via de iframe.css (of elke andere naam die er aan wilt geven) is het alleen nodig het overzicht van de agendaitems op te maken. De javascript (myInit() en showItem()) zorgt er voor dat als een bezoeker op een agendaitem klikt hij het agendaitem niet in het iframe maar als gewone pagina te zien krijgt. In plaats van conpag=none had ook een ander ID van een pagina opgegeven kunnen worden om de agenda op te tonen.

2. Maak een nieuwe pagina aan om het overzicht op te tonen

Maak een nieuwe pagina aan om het overzicht op te tonen. Deze pagina wordt verder niet gebruikt en hoeft eigenlijk helemaal geen tekst te bevatten. Voor de duidelijkheid is het handig er wel wat tekst op te zetten zodat een redacteur weet waar deze pagina voor dient.
Stel bij de pagina-instellingen van deze pagina de stijl in op de net gemaakte html pagina en zet de status op publiceren (en publiceer deze pagina of de hele website.)
Onthoud het ID van deze pagina!

3. Maak in de html pagina wat ruimte vrij voor het iframe

Op de html pagina van de vormgeving wordt een IFRAME ingevoegd waarin het agendaoverzicht getoond gaat worden.

...
<div id="sidebar">
  <iframe src="/cgi/agenda.cgi?site=mijnwebsite;conpag=p000234" frameborder="no"></iframe>
</div>
...

De conpag parameter wordt ingesteld op het ID van de net aangemaakte lege pagina voor in het iframe. 

In het iframe wordt nu alleen het agendaoverzicht getoond.

Deze opzet kan bijvoorbeeld ook worden gebruikt om het agendaoverzicht te tonen de homepage. In plaats van het iframe op elke pagina te tonen kan het via een TMPL_IF ook alleen op de homepage worden getoond.

Tip: moet het overzicht op verschillende pagina's een ander layout hebben? Maak gewoon meerdere pagina's aan (stap 1 en 2) en geef op de gewenste plek de url voor het iframe een andere ID voor conpag mee.