Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:2.0:probleme_rund_um_admidio [2020/12/31 13:58] fassede:2.0:probleme_rund_um_admidio [2025/02/21 14:59] (current) fasse
Line 5: Line 5:
  
 Zu diesen Informationen gehören (Beispiele): Zu diesen Informationen gehören (Beispiele):
-  * PHP Version (v7.4.5)+  * PHP Version (v8.2.5)
   * Datenbank Typ + Version (MySQL v10.1.2)   * Datenbank Typ + Version (MySQL v10.1.2)
-  * Admidio Version (v4.0.1)+  * Admidio Version (v4.2.12)
   * Verwendete Plugins + Versionen (statistics v3.1.3, written communication)   * Verwendete Plugins + Versionen (statistics v3.1.3, written communication)
   * Eigene Anpassungen die durchgeführt wurden (anderes Design, eigene Code Änderungen)   * Eigene Anpassungen die durchgeführt wurden (anderes Design, eigene Code Änderungen)
Line 17: Line 17:
  
 ===== Debugmodus setzen ===== ===== 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. +Auch Admidio ist nicht frei von Problemen oder Fehlern. Sollte es bei euch mal zu einem Problem kommen, so kannst du 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. +Bitte nutzt diesen Modus wirklich nur, wenn wir dich im Forum dazu auffordern oder wenn du selber mit den Informationen aus der Logdatei umgehen kannst. 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:+Du kannst den Debugmodus in der **config.php** einschalten indem du dort folgende Zeile ergänzt, falls diese noch nicht vorhanden ist:
 <code php>$gDebug = 1;</code>  <code php>$gDebug = 1;</code> 
  
-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.+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 kannst du mit jedem beliebigen Texteditor öffnen und analysieren.
 <file>adm_my_files/logs/admidio-2017-08-23.log</file> <file>adm_my_files/logs/admidio-2017-08-23.log</file>
 +
 +===== PHP-Code in Template-Dateien einbauen =====
 +Admidio nutzt seit Version 4.0 die Template-Engine [[https://www.smarty.net|Smarty]]. Im Theme-Ordner ''adm_themes/simple/templates'' befinden sich die Template-Dateien, welche von dir angepasst werden können um das [[de:2.0:admidio_customization|Layout von Admidio]] euren Wünschen anzupassen.
 +
 +PHP-Code kann man aus Sicherheitsgründen dort nicht einbinden. Willst du dennoch eigenen PHP-Code in einer Template-Datei nutzen, so kannst du dies über ein Plugin machen. Erstelle im Ordner ''adm_plugins'' einen neuen Ordner mit einem beliebigen Namen z.B. **skripte**. In diesem Ordner erstellst du nun für jeden PHP-Schnipsel den du irgendwo einbinden willst eine eigene Datei z.B. **date.php**. In dieser Datei kannst du nun HTML und PHP hinterlegen: <code php><b>Das heutige Datum ist <?php echo date('d.m.Y', time()); ?></b></code> Im nächsten Schritt kannst du mit dem folgenden Code die Ausgabe dieser Datei in jeder Template-Datei an einer beliebigen Stelle hinterlegen: <code html>{load_admidio_plugin plugin="skripte" file="date.php"}</code>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 ===== ===== Probleme beim Fotoupload =====
-Bei manchen Servern gibt es Probleme beim Fotoupload. Dies kann verschiedene Ursachen haben, die hier nochmal aufgelistet sind:+Bei manchen Servern gibt es Probleme beim Fotoupload. Das kann verschiedene Ursachen haben, die hier nochmal aufgelistet sind:
   * Der Ordner **adm_photos** hat nicht die Rechte 777.   * Der Ordner **adm_photos** hat nicht die Rechte 777.
   * Der Ordner **adm_photos/upload** hat nicht die Rechte 777.   * Der Ordner **adm_photos/upload** hat nicht die Rechte 777.
   * Die ausgewählten Dateien übersteigen die vom Server bearbeitbare Bildgröße soweit, dass die Maße nicht mehr erfasst werden können und eine entsprechende Fehlermeldung ausgegeben wird. (Die maximal bearbeitbare Bildgröße findet ihr in den **Organisationseinstellungen** unter **Systeminformationen**)   * Die ausgewählten Dateien übersteigen die vom Server bearbeitbare Bildgröße soweit, dass die Maße nicht mehr erfasst werden können und eine entsprechende Fehlermeldung ausgegeben wird. (Die maximal bearbeitbare Bildgröße findet ihr in den **Organisationseinstellungen** unter **Systeminformationen**)
-  * Manche Server unterbinden den Dateiupload über Flash. Diese Unterbindung lässt sich teilweise umgehen. Legt dazu ein **.htaccess** Datei mit folgendem Inhalt im Admidioverzeichnis ab:<code apache><IfModule mod_security.c>+  * Manche Server unterbinden den Dateiupload über Flash. Diese Unterbindung lässt sich teilweise umgehen. Lege dazu eine **.htaccess** Datei mit folgendem Inhalt im Admidioverzeichnis ab:<code apache><IfModule mod_security.c>
    SecFilterEngine Off    SecFilterEngine Off
    SecFilterScanPOST Off    SecFilterScanPOST Off
 </IfModule></code> </IfModule></code>
-  *(Gilt nur für Profilfoto) Manche Datenbanken lassen die Speicherung von Bildern in der Datenbank selbst nicht zu. In diesem Fall könnte ihr Admidio in den **Organisationseinstellungen > Module > Profil > Speicherort der Profilbilder** so umstellen, dass Profilbilder in einem Ordner unter **adm_my_files** gespeichert werden.+  *(Gilt nur für Profilfoto) Manche Datenbanken lassen die Speicherung von Bildern in der Datenbank selbst nicht zu. In diesem Fall könntest du Admidio in den **Organisationseinstellungen > Module > Profil > Speicherort der Profilbilder** so umstellen, dass Profilbilder in einem Ordner unter **adm_my_files** gespeichert werden.
  
 ===== Fehler nach Editieren von Dateien ===== ===== Fehler nach Editieren von Dateien =====
Line 43: Line 48:
   Warning: Cannot modify header information - headers already sent by (output started at    Warning: Cannot modify header information - headers already sent by (output started at 
   serverpfad/config.php:1) in /serverpfad/index.php on line 6   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 [[http://de.wikipedia.org/wiki/Utf8|UTF-8]] Kodierung ohne [[http://de.wikipedia.org/wiki/Byte_Order_Mark|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. +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 [[http://de.wikipedia.org/wiki/Utf8|UTF-8]] Kodierung ohne [[http://de.wikipedia.org/wiki/Byte_Order_Mark|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 das 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:\\ \\  Sollte dein Editor diese Möglichkeit nicht bieten, so hast du folgende Möglichkeiten:\\ \\ 
 **Windows**\\  **Windows**\\ 
-Hier empfiehlt sich der Editor [[http://notepad-plus.sourceforge.net/de/site.htm|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.\\ \\ +Hier empfiehlt sich der Editor [[http://notepad-plus.sourceforge.net/de/site.htm|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. Das ist nicht die Standardeinstellung des Editors.\\ \\ 
 **OS X und Linux**\\  **OS X und Linux**\\ 
 Hier ist es ganz einfach, wenn du dich mit der Konsole und dem Editor [[http://www.vim.org|Vim]] auskennst. Öffne die Datei mit Vim und gebe '':set nobomb'' ein. Jetzt die Datei noch Speichern und alles wird gut. Hier ist es ganz einfach, wenn du dich mit der Konsole und dem Editor [[http://www.vim.org|Vim]] auskennst. Öffne die Datei mit Vim und gebe '':set nobomb'' ein. Jetzt die Datei noch Speichern und alles wird gut.
  
-===== Überschriften der Plugins nicht anzeigen ===== +===== Massenzuordnung von Rollen über den Import ===== 
-Die meisten kleineren Plugins zum Einbinden in andere Seiten besitzen Überschriften, die über dem Plugininhalt angezeigt werden. Sollen diese nicht angezeigt werden, da du selber eine Überschrift auf der Homepage nutzt, oder es einfach nicht in das Layout der Seite passt, so kann man diese Überschriften mit einem einfachen CSS-Schnipsel entfernen. Dazu ergänzt du folgenden Code in der **system.css** in deinem Themeordner im Unterordner **css**: +Will man schnell vielen Benutzern eine bestimmte Rolle zuordnen, so kann man das auch über den Import tätigen. Dazu erstellt man eine Excelliste mit Vorname und Nachname der Personen, die die Rolle zugeordnet bekommen sollenGgf. kann man diese Liste über den Export einer anderen Rolle erstellen lassen und verändert diese Liste nur noch
-<code css>.admPluginHeader { +
-    display:            none; +
-}</code>+
  
-===== Massenrollenzuordnung über den Import ===== +Diese Liste gibt man nun beim Import an und wählt bei **Existierende Kontakte** 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.
-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 ===== ===== Admidio-Ordner verschieben =====
Line 67: Line 66:
   * Mit Hilfe eines FTP-Programms verschiebst du alle **adm_** Ordner und die **index.php** in den neuen Ordner.    * Mit Hilfe eines FTP-Programms verschiebst du alle **adm_** Ordner und die **index.php** in den neuen Ordner. 
   * Nun musst du die Datei **config.php** im Ordner **adm_my_files** öffnen und die Variable **$g_root_path** auf den neuen Ordner anpassen.   * Nun musst du die Datei **config.php** im Ordner **adm_my_files** öffnen und die Variable **$g_root_path** auf den neuen Ordner anpassen.
-  * Rufe nun Admidio über den neuen Ordner auf und melde dich als Webmaster auf.+  * Rufe nun Admidio über den neuen Ordner auf und melde dich als Webmaster an.
   * Gehe nun in die **Einstellungen** und kontrolliere unter **Allgemein** die beiden URLs für die **Startseite**. Sind diese auch von dem Ordnerumzug betroffen, musst du sie entsprechend anpassen.   * Gehe nun in die **Einstellungen** und kontrolliere unter **Allgemein** die beiden URLs für die **Startseite**. Sind diese auch von dem Ordnerumzug betroffen, musst du sie entsprechend anpassen.
  
 Jetzt läuft Admidio in dem neuen Ordner. Jetzt läuft Admidio in dem neuen Ordner.
 +
 +===== Zurück-Link ins Theme einbauen =====
 +Hin und wieder ist es praktisch einen Link zu haben, der einen Zurück zur vorherigen Seite bringt. Wenn du diesen Link benötigst, kannst du diesen an beliebiger Stelle in der Templatedatei hinterlegen. Öffne dazu die Datei ''adm_themes/simple/templates/index.tpl'' und füge dort an der gewünschten Stelle diesen Codeschnipsel ein: <code smarty>{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}</code>Es wird in diesem Fall nur ein Link angezeigt, sofern auch eine sinnvolle URL von einer vorherigen Seite vorhanden ist. Die optische Gestaltung kannst du über CSS noch weiter anpassen oder auch in dem Code-Schnipsel das HTML entsprechend abändern.
  • de/2.0/probleme_rund_um_admidio.1609419486.txt.gz
  • Last modified: 2020/12/31 13:58
  • by fasse