Denne vejledning beskriver hvordan du kan lave dit eget simple modul til XOOPS.
Det er den første i en række af guides og jeg vil senere bygge videre på guiden, med flere modul-funktinaliteter.
Hvilket værktøj du vil benytte er op til dig selv. Du kan benytte Notepad, Wordpad, Notepad++, Dreamweaver eller en anden WYSIWYG editor.
I vejledningerne benytter jeg ikonerne fra XOOPS.
Disse ikoner kan hentes her
Basalt indhold
Opret en mappe og give den et sigende navn.
I dette eksempel kalder jeg den (og derved også modulet) for Test.
1. Opret en ny fil og kald den xoops_version.php
Filens indhold:
<?php
// Test modul
// Oprettet af XOOPSNORDIC.ORG
$modversion['name'] = "Test";
$modversion['version'] = 1.00;
$modversion['description'] = "Dette er et testmodul for at vise hvor nemt det er at lave sit eget modul";
$modversion['author'] = "XOOPSNORDIC.ORG";
$modversion['credits'] = "XOOPSNORDIC.ORG";
$modversion['help'] = "";
$modversion['license'] = "GPL see LICENSE";
$modversion['official'] = 0;
$modversion['image'] = "images/test.png";
$modversion['dirname'] = "test";
// Admin
$modversion['hasAdmin'] = 0;
// Menu
$modversion['hasMain'] = 1;
?>
Lad os pille det fra hindanden og se hvad de forskellige ting betyder.
<?php
// Test modul
// Oprettet af XOOPSNORDIC.ORG
Den første linie starter PHP, hvilket betyder at alt herunder vil blive behandlet som PHP.
Vigtigt! Indsæt aldrig et mellemrum i starten af første linie. Hvis du gør dette vil du få en fejlmeddelelse "headers already sent".
De to linier er kommenteret ud. Det er meget normalt at man skriver modulets navn og hvem der har lavet det.
$modversion['name'] = "Test";
$modversion['version'] = 1.00;
$modversion['description'] = "Dette er et testmodul for at vise hvor nemt det er at lave sit eget modul";
Disse 3 er ligetil. Som navnet siger er det navnet på modulet, versionen og en beskrivelse.
$modversion['author'] = "XOOPSNORDIC.ORG";
$modversion['credits'] = "XOOPSNORDIC.ORG";
$modversion['help'] = "";
De første to er også ligetil. Navnet på udvikleren og credits til andre.
Help skal, hvis det benyttes, pege på en hjælpefil som f.eks. help.html eller help.php. Funktionen benyttes ikke her.
$modversion['license'] = "GPL see LICENSE";
$modversion['official'] = 0;
$modversion['image'] = "images/test.png";
$modversion['dirname'] = "test";
Første linie er beskrivelsen på licens. Husk at XOOPS core benytter GPL, som betyder at dit modul også hører under GPL licens.
Du kan læse mere om GPL
her.
Official viser om modulet er officielt. I de fleste tilfælde er det ikke officielt og værdien skal så være 0.
Image er modulets ikon, som ses i administrationssiderne.
Dirname er mappenavnet på modulet.
// Admin
$modversion['hasAdmin'] = 0;
// Menu
$modversion['hasMain'] = 1;
?>
hasAdmin=0 betyder at der ikke er nogen administrativ sektion i dette modul.
Da modulet skal vises i hovedmenuen, sættes hasmain til 1. Hvis værdien blev sat til 0, ville det ikke blive vist i hovedmenuen.
Hvis du satte hasAdmin og hasMain til 0, ville det stadig blive vist i moduladministrationen, så du kunne afinstallerer det.
Den sidste linie stopper PHP.
Vigtigt! Efterlad aldrig et mellemrum efter større end tegnet. Det kan give uforudsigelige fejl.
Nu skal vi lave noget indhold til modulet.
Lav en fil med navnet
index.phpFilens indhold skal være;
<?php
// Test
// Oprettet af XOOPSNORDIC.ORG
require('../../mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
require(XOOPS_ROOT_PATH.'/footer.php');
?>
I virkeligheden er der kun 3 nye linier, i forhold til hvad du lige har lavet.
Dit indhold skal stå mellem linierne "....header.php" og "....footer"
Lad os prøve det.
<?php
// Test
// Oprettet af XOOPSNORDIC.ORG
require('../../mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
echo "Hello world!";
require(XOOPS_ROOT_PATH.'/footer.php');
?>
Du kan nu gemme filerne i ../modules/
Husk også at gemme
test.png i ../modules/images
Nu kan du rent faktisk installerer modulet og se menupunktet i hovedmenuen.
Tillykke! - Det var dit første modul 
Hvis du ikke ønsker at kode i ren PHP, kan du indsætte HTML-kode
<?php
// Test
// Oprettet af XOOPSNORDIC.ORG
require('../../mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
?>
[i]html-kode indsættes her [/i]
<?php
require(XOOPS_ROOT_PATH.'/footer.php');
?>
Som du kan se, så afsluttes PHP-koden lige efter ...header.php
Så kommer HTML-koden
Og derefter starter PHP-koden igen, for at få ...footer.php med.
Nemt, men måske ikke særlig kønt