Joomla

Will man PHP Code in Beiträgen oder Modulen interpretieren lassen, kann dies ein Plugin ermöglichen.

Getestet haben wir drei verschiedene

  • DirectPHP
  • Sourcerer
  • Jum

Wir empfehlen DirectPHP. Ohne weitere Tags, einfach PHP-Tag und darin PHP-Code rein. Das wars.

Bei größeren Code empfielt sich die ine in eigenes PHP-File zu schreiben und dies per include oder require zu inkludieren.

 

Achtung: Bei Modulen muss vorher unter dem Tab Optionen, "Inhalte vorbereiten" auf ja gestellt werden.

 

Wenn wir bei Joomla auf Datenbanken zugreifen, sollten wir prepared Statements verwenden.

Selects: https://docs.joomla.org/Selecting_data_using_JDatabase

Inserts & Updates: https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase

Die Reihenfolge der Menüpunkte können in Joomla natürlich geändert werden. So geht es bei Joomla 2,5 und 3.

Bei neueren Joomla Versionen (ember) wird beim Aufruf einer 404-Seite der sourcerer-Code ausgegeben, anstatt interpretiert. Es ergeben sich Ausgaben wie etwa

{source}<?php if($user->guest){ echo '[[a class="log" href="/login-anmeldung"]]Anmelden[[/a ]]'; $usersConfig = JComponentHelper ::getParams('com_users' ); if ($usersConfig ->get('allowUserRegistration' )){ echo '[[span class="hypen" ]] | [[/span]]'; echo '[[a class="log" href="/registrierung"]]Neu registrieren[[/a ]]'; } }else{ echo 'Hallo '. $user->name .' | '; $token = JSession::getFormToken(); $login = base64_encode ('/login-anmeldung'); echo '[[a class="log" href="/component/users/?task=user.logout&'_$token_'=1&return='.$login.'&Itemid=101"]] Abmelden[[/a ]]';

Lösung: