CMS-modules integreren en aanpassen
In deze tutorial pas je het blogmodule van het bluetronix CMS aan: van het activeren en integreren van de bloglijst tot aan eigen modulebestanden, configuratiewaarden en taaldocumenten.
Vereisten en doel van de tutorial
Voor deze tutorial heb je een ontwikkelaars toegang tot het bluetronix CMS nodig. Je zou al moeten weten hoe de ontwikkelaarsmappen werken en waarom eigen bestanden in de systeemmappen met _own worden gemarkeerd.
We gebruiken het bestaande Nieuws - Blog-module als voorbeeld. Je activeert de module, integreert de lijstweergave in een CMS-pagina en past vervolgens doelgericht een eigen modulebestand en de configuratie aan. De originele bestanden blijven intact.
1. Blogmodule activeren
Open in het CMS Modules en kies Nieuws - Blog.

Activeer de optie Blogmodule activeren en bevestig de beveiligingsvraag met OK.
Vervolgens staat de moduleconfigurator voor je klaar. Links bevinden zich de technische instellingen, rechts de taalafhankelijke module teksten.
2. Bloglijst in een CMS-pagina insluiten
Open de pagina /Blog/index.html en kies HTML-code. De blogpagina wordt geïntegreerd via een korte CMS-markering.
<!--bx_Mod/Blog/Modul-Blog-List-->
De markering verwijst naar het blogmodule en diens lijstweergave. Het CMS plaatst bij het renderen op deze plek de gegenereerde output van de module.
3. Centrale modulebestanden in de bestandsmanager openen
De werkelijke PHP- en HTML-logica van de modules ligt niet direct in de pagina-HTML, maar centraal in de systeemmap bx_Mod. Open in de Bestandsmanager eerst deze map en daarna de submap Blog.
In de blogmap vind je bijvoorbeeld Modul-Blog-List.php, Modul-Blog-ShowCase.php, config.php, andere modulebestanden en de submap languages.
4. Standaardbestand van de bloglijst bekijken
Kies Modul-Blog-List.php en open het via Bewerken.
Het standaardbestand bevat de programmalogica voor de lijstweergave. In de getoonde code worden onder andere de moduleconfiguratie en, indien aanwezig, de project specifieke config_own.php ingeladen.
Hiermee kan een enkele module-integratie op verschillende pagina's dezelfde centrale programmalogica gebruiken. Voor projecten die de standaardmodule gebruiken, kunnen latere CMS-updates wijzigingen in dit bestand aanleveren.
Bewerk het originele Modul-Blog-List.php niet direct. Het behoort tot het systeem en kan bij een CMS-update worden overschreven.
5. Eigen lijstweergave met _own maken
Om de uitvoer zelf te wijzigen, kopieer je het standaardbestand. De eigen kopie krijgt exact de passende _own-aanduiding:
Modul-Blog-List.php
↓ kopieren
Modul-Blog-List_own.php
Open het nieuwe bestand Modul-Blog-List_own.php. In deze project specifieke versie kun je PHP-logica en HTML-uitvoer wijzigen, zonder het standaardbestand aan te raken.
In onze test voegen we bij de kop de goed zichtbare tekenreeks NEW!!!! toe. De overige lijstweergave blijft intact.
Sla je eigen modulebestand op en laad de blogpagina opnieuw. Het CMS gebruikt de juiste _own-variant, terwijl de placeholder in /Blog/index.html onveranderd blijft. Je herkent het actieve eigen bestand aan de gewijzigde kop NEW!!!! NIEUWSTE ARTIKELEN.
6. Module-instellingen en eigen configuratie
Naast de HTML-uitvoer kun je ook de configuratie van de module wijzigen. De screenshot toont in de configurator bijvoorbeeld voor Modul-Blog-ShowCase de waarde DS Repeats = 3.
Verander de waarde in 2 en sla de instelling op. Hiermee wordt het gewenste aantal voor dit ShowCase-gebied vastgesteld. De instelling heeft betrekking op Modul-Blog-ShowCase en is niet automatisch gelijk aan het aantal artikelen van de bloglijstweergave.
De eigen configuratie bevindt zich onder bx_Mod/Blog/config_own.php. Kies dit bestand in de bestandsbeheerder.
De getoonde config_own.php overschrijft de waarde specifiek alleen als het betreffende modulegebied Modul-Blog-ShowCase wordt geladen:
if($ModulNameGB == "Modul-Blog-ShowCase") {
$CF_DS_Repeats = 2;
}
De standaardwaarden komen nog steeds uit config.php. Een eigen configuratiebestand hoeft daarom niet alle standaardwaarden te herhalen, maar kan alleen de gewenste afwijkingen bevatten.
7. Databasetabel en modulepagina's vaststellen
In de standaardconfiguratie bx_Mod/Blog/config.php vind je onder andere de gebruikte databasetabel en de paden naar de detail- en lijstweergave. In het getoonde voorbeeld zijn de waarden:
$CF_DatabaseTable = "Blog";
$CF_DetailPage = "/Blog/Detail.html";
$CF_ListPage = "/Blog/index.html";
Als je op basis van het blogmodule een eigen variant voor een ander doel ontwikkelt, kun je in je eigen configuratie bijvoorbeeld een andere databasetabel opslaan. Controleer of de nieuwe tabel de door jouw modulebestand verwachte velden bevat en of lijst- en detailpagina's bij de nieuwe variant passen.
8. Taalbestanden van de module
Onder bx_Mod/Blog/languages bevinden zich de taalbestanden van de blogmodule. Voor de aanwezige talen zijn er aparte PHP-bestanden, bijvoorbeeld de.php, en.php en fr.php.
Hier worden taalafhankelijke module teksten beheerd. Gebruik voor project specifieke wijzigingen het door jouw moduleversie ondersteunde eigen bestandsformaat, in plaats van originele taalbestanden rechtstreeks te overschrijven.
9. Standaardmodule en eigen versie onderscheiden
De _own-regel beschermt jouw aanpassingen tegen overschrijving door reguliere updates. Tegelijkertijd ben je zelf verantwoordelijk voor het onderhoud van deze individuele versie. Controleer bij latere CMS-updates of belangrijke wijzigingen in het standaardbestand ook relevant zijn voor jouw eigen bestand.
10. Samenvatting
Je activeert de blogmodule onder Module → Nieuws - Blog, integreert de lijstweergave via een CMS-markering en beheert de eigenlijke programmalogica centraal onder bx_Mod/Blog. Voor eigen wijzigingen kopieer je Modul-Blog-List.php naar Modul-Blog-List_own.php. Instellingen die van de standaard afwijken, sla je indien nodig op in config_own.php.
CMS-Seite /Blog/index.html
↓ Modul-Markierung
bx_Mod/Blog/Modul-Blog-List.php
↓ passende _own-Datei vorhanden?
Modul-Blog-List_own.php
↓ Konfiguration und Datenbank
HTML-Ausgabe innerhalb der CMS-Seite
Op deze manier kan een bestaand module gerichte worden uitgebreid, zonder de oorspronkelijke systeembestanden te veranderen.
FAQ
wat klanten ons vaak vragen
Welke toegang heb ik nodig om CMS-modules aan te passen?
Je hebt een ontwikkelaars toegang tot het bluetronix CMS nodig. Daarnaast moet je de ontwikkelaarsmappen en de _own-regel kennen.
Waar activeer ik de blog-module?
Open Modules, kies Nieuws - Blog en activeer Blog module activeren. Bevestig de veiligheidsvraag.
Hoe integreer ik de bloglijst in een CMS-pagina?
Open de HTML-code van de gewenste pagina en voeg de module-tag <!--bx_Mod/Blog/Modul-Blog-List--> toe.
Moet ik de volledige PHP-code van de bloglijst in de pagina kopiëren?
Nee. De pagina bevat alleen de module-tag. De bijbehorende logica wordt centraal uit de blog-module geladen.
Waar bevindt zich het standaardbestand van de bloglijst?
Je vindt het onder bx_Mod/Blog/Modul-Blog-List.php in het ontwikkelaarsgebied van de bestandsbeheerder.
Hoe maak ik een modulebestand update-bestendig?
Kopieer het standaardbestand en markeer de kopie met _own, bijvoorbeeld Modul-Blog-List_own.php. Bewerk vervolgens alleen dit eigen bestand.
Moet de module-tag veranderd worden als ik een _own-bestand aanmaak?
Nee. Voor een door het CMS ondersteund modulebestand kan de bijbehorende _own-variant automatisch worden gebruikt, zonder de bestaande module-inbinding te veranderen.
Waarvoor is config_own.php nodig?
Via bx_Mod/Blog/config_own.php kun je afzonderlijke waarden uit de standaardconfiguratie projecten specifiek overschrijven.
Wat doet DS Repeats in dit voorbeeld?
In het getoonde voorbeeld wordt de instelling voor Modul-Blog-ShowCase van 3 naar 2 gewijzigd. Dit geeft het aantal herhalingen van dit modulegebied aan.
Waar is vastgelegd welke database tabel de blog-module gebruikt?
In de configuratie bx_Mod/Blog/config.php staat in het voorbeeld $CF_DatabaseTable = "Blog";. De toewijzing kan worden aangepast voor een eigen modulevariant.
Waar vind ik de taalbestanden van de blog-module?
De taalafhankelijke PHP-bestanden bevinden zich onder bx_Mod/Blog/languages, bijvoorbeeld de.php en en.php.
Wie zorgt voor het onderhoud van een eigen modulebestand?
Het eigen _own-bestand blijft bestaan bij reguliere CMS-updates. De ontwikkelaar moet zelf controleren of nieuwe bugfixes of functies uit het standaardbestand moeten worden overgenomen.