Posts tagged ‘modules’

Vervolg: opmaken Joomla template van joomlaxtc. Plaatsen van html blokken.

In mijn vorige blogpost over dit thema heb ik aandacht gegeven aan de module blokken op de voorpagina van template “Motif” van http://www.joomlaxtc.com. Vandaag ga ik proberen om via het invoegen van html blokken formulieren te plaatsen binnen dit design. Ik gebruik daartoe de nieuwe website van een nieuw concept van dewebmeester.nl: Gratis test hosting via www.123web.be (ja ook in Belgie is dewebmeester.nl actief en daar heten we natuurlijk dewebmeester.be). Ik wil dat de bezoeker aan 123web.be makkelijk zichzelf kan aanmelden voor deze gratis hosting. Over het hoe en waarom van gratis hosting ga ik een extra blog post schrijven.

Doel: via html een formulier plaatsen binnen een Joomla template.

Uitwerking: dit blijkt prima te werken via artikelbeheer. Ik kies een artikel uit of maak een nieuw artikel aan en kies na het openen van het artikel in een editor voor “toggle editor” zodat de html code van het artikel getoond wordt. Vervolgens plak ik gewoon het hele html formulier (encrypted javascript formulier) binnen deze code en sla het artikel op. Het resultaat is heel erg goed. De css van de template wordt netjes overgenomen zodat het formulier automatisch past binnen de layout van de template. Het resultaat is te bekijken via: http://123web.be/index.php/gratis-hosting

Conclusie: het is niet altijd nodig om externe modules of componenten te installeren. Vaak kunnen wensen worden uitgewerkt door de code van de applicatie direct te plaatsen binnen dit design. Dit zal overigens niet het geval zijn voor elk Joomla design. Voor dit “bootstrapped” geoptimaliseerde design van Joomlaxtc geldt dit blijkbaar wel.

Visualisering van de structuur van het Open So...

Visualisering van de structuur van het Open Source Content Management Systeem Joomla!. Gebruikt voor toelichting bij het artikel van joomla. Zelgemaakte afbeelding (Photo credit: Wikipedia)

Hier een afbeelding van een standaard opbouw van een Joomla website. In dit voorbeeld heb ik “inhoud” gebruikt om binnen “template” een formulier zichtbaar te maken op “website”. Dat kan ook via “Component” (formulieren component) of “Module” of “Mambot” (antieke term voor moderne term “Plugin”).

Aanvulling: formulier functionaliteit wordt uitgeschakeld door Joomla editor (JCE) en door Joomla 3.0; de oplossing

Excuses: het verhaal hierboven klinkt te makkelijk. Ja het klopt, het formulier werd mooi weergegeven volgens de css (style sheet) van het Joomla template. Maar dat betekent niet dat het formulier ook werkt. Zoals zo vaak bij invoegen van code (javascript of anders) via de editor (content, artikel of module), wordt de code gestript na klikken op “opslaan” en soms is dit niet zichtbaar (zoals in dit geval).

Oplossing: een oplossing is om een extra module te installeren die is ontworpen om deze code te behouden. Voorbeelden zijn te vinden via deze link:

http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/custom-code-in-modules

Ik gebruik voor mijn formulier de “Flexi Custom Code“, installeer de module en plaats het formulier script binnen deze module. Maar: ik wil dit formulier binnen een artikel tonen! Geen probleem. Daarvoor dient “Modules Anywhere” van “NoNumber” waarmee in “no time” elke module binnen elk willekeurig artikel geplaatst kan worden. Ik doe dat ook en het lijkt te werken. Kijk hier voor het formulier (waarmee gratis hosting van dewebmeester.nl besteld kan worden):

http://123web.be/index.php/gratis-hosting

Test: Joomlaxtc templates. Start: Template “Motif”

Joomlaxtc.com is een gerenommeerde Joomla template club die de laatste jaren ook gespecialiseerd is in WordPress themes. Daarnaast kent deze Joomla club ook een extensies club. Elk Joomla design is een apart verhaal. Ja er zijn overeenkomsten maar de verschillende verdienen aandacht. Zeker de verschillen tussen verschillende templates van verschillende template clubs. De templates van joomlashack.com zien er niet alleen heel anders uit dan de templates van icetheme.com of joomlaxtc.com, ze zijn ook compleet anders opgebouwd.

Dit lijkt mogelijk vreemd. Een template is toch slechts een onderdeel van het hele Joomla pakket? Nee, de template, het design, bepaalt waar welke modules gepubliceerd worden. De template bepaalt hoe het functioneren van de componenten aan de voorkant zichtbaar gemaakt kan worden. Kortom: iedere keer als een klant een bestelling doet bij dewebmeester.nl en iedere keer dat een bepaalde Joomla template deel uitmaakt van de bestelling, dan moeten we ons eerst goed verdiepen in de de volgende vragen: hoe is de template opgebouwd? Via welke modules worden welke artikelen zichtbaar gemaakt? Welke teksten worden via artikelen zichtbaar gemaakt en welke teksten via modules? Welke afbeeldingen zijn onderdeel van een module, welke van een artikel en welke van de template code?

Binnen dit blog (www.dewebhulp.nl ) veel aandacht voor veel templates van veel Joomla template clubs. Ja, ik heb dus nog wat te doen. Laat ik dan maar direct beginnen. Ik begin met de laatst uitgegeven template van Joomlaxtc: “Motif”.

Joomla template "Motif" van joomlaxtc template club

Template wordt geleverd samen met alle bestanden die nodig zijn om na installeren van de template, de website er precies zo uit te laten zien als in deze afbeeling

Dit template is te verkrijgen in de Joomla 2.5 en Joomla 3.0 versie. Ik besluit als eerste de Joomla 2.5 versie te installeren en die is voorlopig te vinden op: http://decmsmeester.nl/joomlaxtc/joomla/motif2.5/

Als eerste ga ik in de backend (/administrator) op zoek naar de drie blokken, het bruine,  het donkerroze en het blauwe blok. Dat zijn modules en nee, het is slechts 1 module. Van het type “JoomlaXTC Deluxe News Pro”. Mooi, denk ik dan, die module hebben we maar vast. Bij openen van de module via modulebeheer (module bevindt zich op positie user 13), wordt duidelijk dat er binnen deze module artikelen geladen worden uit een bepaalde content categorie. Die artikelen vinden we dus onder artikelenbeheer (binnen categorie “Joomla content”). Daar vinden we echter wel wat meer dan 3 artikelen. Bij refresh van de pagina krijg ik dezelfde artikelen te zien op de voorpagina. Er is dus niet sprake van een wisselen van de artikelen. Bij uitschakelen (depubliceren of deactiveren) van het eerste artikel (herkenbaar aan de titel, en altijd via “zoeken” in artikelbeheer te vinden), krijgen we wel een ander artikel te zien na “refresh”. De module blijkt te bepalen welke artikelen er getoond worden en de standaard (demo) setting van deze template is “Joomla order” wat betekent dat eerste drie artikelen (id 1,2 en 3 bijvoorbeeld) getoond worden en de rest niet. Conclusie: mooie optie om snel van voorpagina inhoud te kunnen wisselen en altijd actuele inhoud te kunnen bieden aan de bezoekers. Morgen verder.

Module positie toevoegen aan Joomla template

Ik heb er weer helemaal zin in: Ik ga enkele mogelijkheden beschrijven die het mogelijk maken om elke html/css webpagina om te zetten in een bruikbaar Joomla template. Voordelen: Joomla is HET open source management system voor Joomla websites en omdat dit het meest uitgebreide CMS is ter wereld, is het gewoon rechtvaardig om een mogelijkheid te kennen om een “gewone” HTML pagina te importeren in dit CMS. Dat zal het gemakkelijk maken om één of meerdere van de duizenden (gratis) beschikbare Joomla componenten en modules te integreren in een HTML website, gebruikersaccounts aan te maken en te beheren, artikelen en andere inhoud online bij te houden, enzovoorts, enzovoorts.

In deze bijdrage het onderwerp:

Module posities. Voorbeeld: aanpassing van de purity_ii template van Joomlart

Module posities staan genoemd in de templatedetails.xml file die onderdeel uitmaakt van de gebruikte joomla template. Deze file is the vinden in de folder ‘templates’ en dan natuurlijk binnen de subfolder van de betreffende template. Om een modulepositie toe te voegen of te verwijderen hoef je alleen aanpassingen te maken binnen het rijtje. In mijn voorbeeld: ik wil een modulepositie toevoegen met naam “bottombar” en voeg de regel <position>bottombar</position> toe aan het rijtje.

“positions>

<position>hornav</position>

<position>breadcrumbs</position>

<position>bottombar</position>

<position>banner</position>

<position>left</position>

<position>right</position>

<position>top</position>

<position>user1</position>

<position>user2</position>

Etc./>

Vervolgens plaats je binnen de index.php de code <jdoc:include type=”modules” name=”<naam van modulepositie>”/> op de plaats waar de module binnen de template zou moeten verschijnen en vervang je <naam van modulepositie> door de naam van de modulepositie precies zoals je die hebt beschreven in het bovengenoemde rijtje. Nu kan dit overigens wel eens tot problemen leiden omdat de nieuwe design (joomla templates) niet allemaal zo standaard zijn. Oftewel: de index.php file van een joomla site heeft mogelijk helemaal geen HTML tags zoals je gewend bent. Ga in dat geval op zoek de .php file die beschrijft welke modules op elke positie geladen moeten worden. Die .php file zit waarschijnlijk in de /templates folder. In mijn geval was het de file joomla2/templates/purity_ii/layouts/header.php waarin ik de jdoc:include betreffende “bottombar” heb geplaatst (lijkt niet logisch om een ‘bottombar’ te plaatsen in header.php maar in footer.php bleek de module niet te werken zoals behoort.) Resultaat: er verschijnt binnen mijn site een mooi menu helemaal beneden op het scherm die mooi meescrollt binnen de pagina (www.decmsmeester.nl/joomla2) op een nieuwe positie die ik ‘bottombar’ heb genoemd.

Zo leren we langzaam hoe een Joomla template is opgebouwd. We moeten proberen zoveel mogelijk zaken te ontdekken. Het zijn allemaal puzzelstukjes die ons zullen helpen om uiteindelijk zelf een Joomla template te maken of om van een bestaande HTML pagina om te zetten naar een Joomla template. In deze aflevering leerden we om een modulepositie te definieren en om te bepalen op welke plaats binnen een (html)pagina de module moet verschijnen.

Een joomla module binnen een joomla artikel

Dit zou heel veel mogelijk maken: het direct publiceren van een Joomla module binnen een Joomla artikel. Waarom? Omdat elke joomla template begrensd is door de de beschikbare ‘module posities’. Naast module posities is er nog ruimte voor artikelen. Deze ruimte heet ‘content’ en is geen module positie. Door deze ruimte toch te gebruiken om modules te plaatsen, kun je menu’s, flash modules, sliders, fotoalbums, en alles dat je via een module kunt publiceren, heel makkelijk weergeven binnen een artikel zonder dat je daar een dure ‘editor’ voor nodig hebt. Hierbij hoe je dit kunt oplossen en een voorbeeld:

  1. Maak een module aan of installeer die. (Hoe je dit doet vind je in andere hoofdstukken)
  2. Maak een nieuwe module positie aan (klikken op nieuwe module en onder scroll menu ‘positie’ gewoon klikken op een beschikbare positie – niet belangrijk welke – en vervolgens een nieuwe naam typen: handmatig. Wel even onthouden welke naam dit is.) Ik heb in mijn voorbeeld de positie ‘video’ aangemaakt.
  3. Maak een nieuw artikel aan of open een bestaand artikel.
  4. Plaats binnen dit artikel de volgende code (hoeft niet in html code, gewoon binnen artikel plaatsen): {loadposition video} Let op: ‘video’ is mijn voorbeeld. Dit moet de naam zijn an de zelfbedachte module positie.
  5. Sla op en vervolgens wordt binnen het artikel de module getoond op de plaats waar deze code gedropt is.

Niet moeilijk toch?

Vragen toesturen naar vraag@dewebmeester.nl

%d bloggers liken dit: