Bekijk deze pagina in het Engels - vanaf daar zijn ook andere talen te vinden.
gebeurtenissen beheer
Met gebeurtenissenbeheer kunnen gebruikergedefinieerde tags of modules gebeurtenissen afhandelen die zijn geactiveerd door andere modules. News stuurt bijvoorbeeld een gebeurtenis als een nieuw artikel is toegevoegd en het is mogelijk deze gebeurtenis te verwerken met een gebruikergedefinieerde tag of een andere module zonder dat de code van de News module aangepast hoeft te worden.
In het kort werkt dit als volgt:
a) Een module of de core kan gebeurtenissen registreren en vervolgens verzenden, zoals "newNews", "newFronteEndUser", "fileUploaded" of "editPage". Op dit moment zijn er zo'n 50 gebeurtenissen in de core en verschillende modules zoals Uploads en FrontendUsers hebben hun eigen gebeurtenissen.
b) Via het beheerpaneel kunt u opgeven welke modules en/of gebruikergedefinieerde tags de gebeurtenissen af moeten verwerken en in welke volgorde dit moet gebeuren.
c) Als een van de gebeurtenisverwerkers een module is, dan wordt de DoEvent methode aangeroepen met de naam van de gebeurtenis en met de gegevens die het wil meesturen.
Deze functionaliteit laat iedereen met een beetje PHP kennis en het vermogen om door de CMSMS-code heen te kijken, zijn eigen werkvolgorde schrijven. Bijvoorbeeld, het zou eenvoudig moeten zijn een brug tussen FrontendUsers en forum-software te slaan waarmee gebruikers en groepen in het forum constant bijgewerkt worden.
De Search-module gebruikt ook gebeurtenissen. Dankzij dit mechanisme kan inhoud die via de Uploads-module wordt verzonden, zoals de samenvatting en de beschrijving, doorzoekbaar worden gemaakt met de Search-module. In de zoekresultaten wordt een link getoond naar het bestandsrapport en wordt u de mogelijkheid geboden het bestand te downloaden.
Een voorbeeld
Om CMSMS iemand een email te sturen als een pagina wordt bewerkt, moet u het volgende doen:
1. Maak een nieuwe gebruikergedefinieerde tag aan en noem het zoiets als 'EmailRedacteur'. Zet de volgende inhoud in deze tag:
mail('mijn@email.nl','pagina bewerkt','de pagina is bewerkt');
Sla de tag op.
2. Ga naar het Gebeurtenissenscherm en zoek de regel genaamd "ContentEditPost" en klik op de bewerkknop .
3. Selecteer uw gebruikergedefinieerde tag uit het keuzemenu ('EmailRedacteur' dus) en klik op 'Toevoegen'.
Dat is alles. Als iemand nu een pagina bewerkt, krijgt u een emailtje toegezonden.
Omdat het inhoudobject ook naar de gebruikergedefinieerd tag wordt gezonden is het ook mogelijk om de paginainhoud, titel of auteur in het emailtje te verwerken.
U zou waarschijnlijk de CMSMailer-module moeten gebruiken in plaats van de ingebouwde php-versie. Bovenstaande is echter een voorbeeld hoe het zou kunnen.
Bijdragen aan de Nederlandse wiki? Check dan eerst het forum-topic WIKI - wat doen we daarmee?