Table of Contents

Tipps und Tricks

Hilfreiche Informationen bei Problemen

Wenn Admidio einmal nicht wie gewünscht funktioniert und deshalb im Forum etc um Hilfe gesucht wird, bitte immer ein paar zusätzliche Informationen mit angeben damit wir Admidio-Entwickler den Fehler einfacher und schneller finden können.

Zu diesen Informationen gehören (Beispiele):

Debugmodus setzen

Auch Admidio ist nicht frei von Problemen oder Fehlern. Sollte es bei euch mal zu einem Problem kommen, so könnt ihr zur besseren Analyse den Debugmodus einschalten. In diesem Modus wird jeder Befehl aufgezeichnet, der an die Datenbank gesendet wird. Außerdem werden noch viele weitere Informationen bei jedem Seitenaufruf protokolliert. All dies wird dann in einer Logdatei gespeichert.

Bitte nutzt diesen Modus wirklich nur, wenn wir euch im Forum dazu auffordern oder wenn ihr selber mit den Informationen aus der Logdatei umgehen könnt. Der Debugmodus sollte im Produktivsystem nur zeitlich begrenzt eingesetzt werden.

Ihr könnt den Debugmodus in der config.php einschalten indem ihr dort folgende Zeile ergänzt, falls diese noch nicht vorhanden ist:

$gDebug = 1;

Nun werden Exceptions und andere schwerwiegende Fehler direkt in der Webseite ausgegeben, sowie erweiterte Informationen in die Logdateien geschrieben. Für jeden Tag wird eine eigene Datei angelegt. Diese könnt ihr mit jedem beliebigen Texteditor öffnen und analysieren.

adm_my_files/logs/admidio-2017-08-23.log

PHP-Code in Template-Dateien einbauen

Admidio nutzt seit Version 4.0 die Template-Engine Smarty. Im Theme-Ordner adm_themes/simple/templates befinden sich die Template-Dateien, welche von euch angepasst werden können um das Layout von Admidio euren Wünschen anzupassen.

PHP-Code kann man aus Sicherheitsgründen dort nicht einbinden. Wollt ihr dennoch eigenen PHP-Code in einer Template-Datei nutzen, so könnt ihr dies über ein Plugin machen. Erstellt im Ordner adm_plugins einen neuen Ordner mit einem beliebigen Namen z.B. skripte. In diesem Ordner erstellt ihr nun für jeden PHP-Schnipsel den ihr irgendwo einbinden wollt eine eigene Datei z.B. date.php. In dieser Datei könnt ihr nun HTML und PHP hinterlegen:

<b>Das heutige Datum ist <?php echo date('d.m.Y', time()); ?></b>

Im nächsten Schritt könnt ihr mit dem folgenden Code die Ausgabe dieser Datei in jeder Template-Datei an einer beliebigen Stelle hinterlegen:

{load_admidio_plugin plugin="skripte" file="date.php"}

Dieser Code kann einfach direkt im HTML der Template-Datei abgelegt werden. Dabei wird bei plugin=“xyz” der Name eures Unterordners von adm_plugins angegeben und mit file=“xyz” der Dateiname.

Probleme beim Fotoupload

Bei manchen Servern gibt es Probleme beim Fotoupload. Dies kann verschiedene Ursachen haben, die hier nochmal aufgelistet sind:

Fehler nach Editieren von Dateien

Werden Dateien bearbeitet und gespeichert, so kann es danach bei der Anzeige der Seite zu folgendem Fehler kommen:


Warning: Cannot modify header information - headers already sent by (output started at 
serverpfad/config.php:1) in /serverpfad/index.php on line 6

Tritt diese Meldung auf (einzelne Angaben in der Meldung können abweichen), so wurde die Datei nicht richtig als UTF8 Datei gespeichert. Admidio erwartet alle Dateien in der UTF-8 Kodierung ohne BOM. Die Standardeinstellung bei den meisten Editoren ist UTF-8 mit BOM. Da allerdings PHP mit dem BOM nicht zurechtkommt und die oben genannte Fehlermeldung auswirft, muss man dies im Editor so einstellen, dass UTF-8 ohne BOM gespeichert wird.

Sollte dein Editor diese Möglichkeit nicht bieten, so hast du folgende Möglichkeiten:

Windows
Hier empfiehlt sich der Editor Notepad++. Dieser Editor ist kostenlos und ein guter Ersatz für das von Windows mitgelieferte Notepad, allerdings musst du hier beim Speichern auch explizit UTF-8 ohne BOM auswählen. Dies ist nicht die Standardeinstellung des Editors.

OS X und Linux
Hier ist es ganz einfach, wenn du dich mit der Konsole und dem Editor Vim auskennst. Öffne die Datei mit Vim und gebe :set nobomb ein. Jetzt die Datei noch Speichern und alles wird gut.

Massenzuordnung von Rollen über den Import

Will man schnell vielen Benutzern eine bestimmte Rolle zuordnen, so kann man dies auch über den Import tätigen. Dazu erstellt man eine Excelliste mit Vorname und Nachname der Personen, die die Rolle zugeordnet bekommen sollen. Ggf. kann man diese Liste über den Export einer anderen Rolle erstellen lassen und verändert diese Liste nur noch.

Diese Liste gibt man nun beim Import an und wählt den bei Existierende Benutzer den Typ Ergänzen. Im nächsten Schritt ordnet man seine Pflichtfelder zu und danach werden die Benutzer importiert und die Rollenzuordnung angelegt. Da die Benutzer bereits alle existieren und auch keine Änderungen an den Feldinhalten vorgenommen wurden, werden so nur die Rollenzuordnung schnell und einfach angelegt.

Admidio-Ordner verschieben

Möchtest du ein laufendes Admidio auf dem FTP-Server in einen anderen Ordner verschieben, so ist dies in wenigen Schritten möglich.

Jetzt läuft Admidio in dem neuen Ordner.

Hin und wieder ist es praktisch einen Link zu haben, der einen Zurück zur vorherigen Seite bringt. Wenn ihr diesen Link benötigt, könnt ihr diesen an beliebiger Stelle in der Templatedatei hinterlegen. Öffnet dazu die Datei adm_themes/simple/templates/index.tpl und fügt dort an der gewünschten Stelle diesen Codeschnipsel ein:

{if $hasPreviousUrl}
    <!-- Add link to previous page -->
    <a id="admidio-back-link" class="" href="{$urlAdmidio}/adm_program/system/back.php"><i class="fas fa-arrow-circle-left fa-fw"></i> {$l10n->get('SYS_BACK')}</a>
{/if}

Es wird in diesem Fall nur ein Link angezeigt, sofern auch eine sinnvolle URL von einer vorherigen Seite vorhanden ist. Die optische Gestaltung könnt ihr über CSS noch weiter anpassen oder auch in dem Code-Schnipsel das HTML entsprechend abändern.