Der findes et smart modul / component fra Fiji Web Design som giver mulighed for at indsætte egen php kode i Joomla! Det kan være som et component (menupunkt) eller som et modul ('blok' på siden).

Componenten kan referere et antal php-sider, som man vedligeholder inde fra Joomla admin adgangen. Men der ER udfordringer...

Adgang til parametre

For at kunne integrere med Joomla - herunder returnere til den 'rigtige' side efter opdateringer, skal man kunne få tilgang til parametre.
Det er en lidt besværlig opgave i Joomla, da man skal bruge Joomla's egen mekanisme. Løsningen er beskrevet her - men går i korthed ud på at man skal bruge 'JRequest' f.eks:

$pageoption = JRequest::getVar( 'option', '' );
Resten er standard php.

Brug af 'include'

Der er desuden en 'feature' i php som gør at includes i mere end højest 2 niveauer ikke fungerer Cry
lige som det kan være vanskeligt at styre hvilket bibliotek der 'includes' fra. Ved at bruge
include(dirname(__FILE__)."/config.php");
opnår man at der ses i det aktuelle bibliotek (dvs. der hvor den 'kaldende' php kode er hentet. Det virker sådan set godt nok - men altså MAKSIMALT i 2 niveauer.

Sikkerhed

Når man inkluderer php på denne måde, så er de naturligvis styret via login oh niveauer som alt andet i Joomla. MEN hvis der er lavet php filer der inkluderes, er det en god ide at sikre at de ikke kan afvikles uden om Joomla.

Husk derfor:
// Check to ensure this file is included in Joomla! 
defined('_JEXEC') or die( 'Restricted access' );
i starten af alle dine php filer. Hvis de kaldes direkte nu, så afbrydes de.

Comments powered by CComment