Phoca Erweiterungen - Allgemeine Hinweise

Falls Sie während der Nutzung von Phoca Erweiterungen Probleme haben, durchsuchen Sie diese allgemeinen Hinweise. Sie sollen Ihnen helfen Phoca Erweiterungen erfolgreich zu verwenden. Die fehlerfreie Funktion der Phoca Anwendungen hängt von vielen Faktoren ab, z.B. : Joomla! Einstellungen, PHP Einstellungen, SQL Einstellungen, dem verwendeten Template, geladenen externen Erweiterungen auf der gleichen Seite, usw. Meistens werden Fehler, die eine Phoca Erweiterungen am erfolgreichen Betrieb hindern, nicht von dieser Phoca Erweiterungen selbst produziert, oder nicht direkt von ihr produziert. Deshalb ist das Erkennen eines solchen Fehlers so schwierig.

 

1. Ein Fehler der beim Speichern in Phoca Gallery (oder anderen Phoca Erweiterungen) auftritt

Dieser Fehler wird meistens von fehlenden Tabellen in Ihrer Datenbank verursacht. Überprüfen Sie, ob Ihre Datenbank alle Phoca Gallery (oder alle Tabellen einer anderen Phoca Erweiterung) enthält. Siehe Installationsprobleme lösen Artikel. Dieser Artikel beschreibt Phoca Gallery, trifft aber genauso auf alle anderen Phoca Komponenten für Joomla! v1.5 zu.

 

2. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

bedeutet, dass ein Fehler während der Ausführung eines SQL-Befehles aufgetreten ist. Um mehr Informationen über diesen Fehler zuerhalten, schalten Sie die Fehlersuche (Debug) in Ihrem Joomla! (Joomla! Administration (Backend) - Site - Konfiguration - System - Fehlersuche (Debug) System - Ja) ein. Siehe:

 

3. Design oder Javascript Probleme - überprüfen Sie Ihre Seite mit einem Standard-Template

Wenn Sie im Phoca Forum eine  Frage zu einem Designproblem in Phoca Gallery (oder einer anderen Phoca Erweiterung) stellen, werden Sie ziemlich sicher folgende Antwort erhalten: "Überprüfen Sie Ihre Seite mit dem Standard-Template rhuk_milkyway*1/beez_20*2/Protostar*3 Diese Antwort bedeutet nicht, dass Sie dauerhaft Ihr Template wechseln sollen, oder dass Ihre Frage vom Administrator oder den Moderatoren ignoriert wird. Sie bedeutet, Sie sollten zum Testen das Standart-Template auf Ihrer Seite verwenden, um das Problem einzukreisen. Leider bestehen häufig Fehler in den vielen auf dem Markt befindlichen Templates (z.B. der float Fehler), oder es besteht ein Konflikt zwischen Phoca Gallery (oder einer anderen Phoca Erweiterung) und Ihrem Template. Falls ein Konflikt existiert heißt das nicht, dass Phoca Gallery (oder eine andere Phoca Erweiterung) oder das Template einen Fehler enthalten. Es heißt nur, dass ein Teil des Codes (html, css, javascript) beider Erweiterungen diese daran hindert, erfolgreich miteinander zu arbeiten:

  • CSS Probleme - Sie können z.B. den Firefox Browser und das Addon Web Developer verwenden, um jedes geladene CSS auf Ihrer Seite ein- oder auszuschalten. Auf dise Weise können Sie herausfinden, in welcher CSS Datei sich das Problem befindet. Dann können Sie das Problem in der betreffenden CSS Datei bearbeiten und beheben.
  • Javascript Probleme - Wenn Sie z.B. Phoca Gallery auf Ihrer Seite anzeigen und gleichzeitig werden auch ein Template-Framework, Sytem Plugins, Module, usw, geladen, kann es zu Konflikten unterschiedlicher Javascript Bibliotheken kommen. Es gibt viele Erweiterungen in der Joomla! Welt deshalb ist es durchaus möglich, dass zwei Unterschiedliche Erweiterungen die gleiche Javascript Bilbliothek laden, aber eigentlich unterschiedliche Versionen dieser Bibliothek erwarten. In so einem Fall wird diese Javascript Bibliothek nicht ordnungsgemäß arbeiten. Beispiel: Phoca Gallery benutzt die Modal Box um Detailbilder anzuzeigen. Die Modal Box ist ein Teil der Mootools Javascript Bibliothek, die wiederum ein Teil des Joomla! Frameworks ist. Falls jetzt eine Erweiterung (Template, Modul) eine eigene Version der Mootools Bilbliothek (z.B. eine neuere, als sie Joomla! benutzt) auf der Seite, auf der Phoca Gallery läuft lädt, wird die Modal Box nicht korrekt wiedergegeben werden. In diesem Falle müssen Sie die Erweiterung, die die externe Javascript Bibliothek lädt, überprüfen und so abändern, dass der Konflikt mit dem Joomla! Framework nicht länger besteht.
Falls Ihre Bilder nicht korrekt in den Boxen (Schatten Box) ausgerichtet sind, überprüfen Sie Ihr Template. Manche Templates definieren diese Regel:

vertical-align: baseline;

für basic tags. Das Entfernen dieser Regel hilft oft das Problem zu lösen.

 

4. Leere (weiße) Seite (oder Fehler 500)

Eine weiße Seite wird meistens angezeigt, wenn ein PHP Fehler (Fatal error) das weitere Laden des Scripts (das Laden der Seite) verhindert. Es gibt für diesen Fall keine weitere Option, als die PHP Fehlermeldung auf Ihrem Server einzuschalten oder sich die errorlog Datei anzusehen. Siehe:

 

5. Allowed memory size of ... bytes exhausted ...

Dieser Fehler entsteht, weil einem PHP Script nicht genügend Speicher zur Verfügung steht, um auf Ihrem Server abzulaufen. Meistens sind zwei Gründe verantwortlich, um diese Fehlermeldung in Phoca Gallery zu erhalten:

  • Das Erstellen von Miniaturbildern von Ihren Bildern. Die Miniaturbilder werden von Ihrem Server durch die GD Bibliothek erstellt. Ein Server ist, vermutlich anders als Ihr PC, nicht mit reichlich Speicher ausgestattet, da nicht nur ein Script (GD Bibliothek) abläuft, sondern viele andere Tasks, die parallel ablaufen müssen, sich den dann knappen Speicher teilen. Wenn Sie diesen Fehler erhalten, müssen Sie:
    • den Speicher auf Ihrem Server vergrößern (meistens müssen Sie Ihren Webhosting Provider bitten, dies für Sie zu machen :-( )
    • oder Ihre Bilder vor dem Hochladen auf Ihren Server zu verkleinern. Viele Server haben z.B. Probleme mit Bildern, die größer als 2MB sind. Solche Bildgrößen werden im Internet normalerweise nicht verwendet. Deshalb wird die Bildgrößenreduzierung vor dem Upload empfolen. Sie können die Bilder vor dem Upload auf Ihrem PC verkleinern, oder während des Hochladens (wenn Sie die  Java Upload Methode verwenden - Die Größe können Sie in den Phoca Gallery Einstellungen*1/ Optionen*2 festlegen)
    • oder Sie erstellen die Miniaturbilder auf Ihrem PC (dort haben Sie mehr Speicher zur Verfügung, weil nur eine Instanz läuft) und kopieren diese Bilder/Miniaturbilder auf Ihren Server  - in den Phoca Gallery Bilderordner: images/phocagallery
Falls Sie Joomla! lokal auf Ihrem PC und auf einem Server (wo Sie diesen Fehler bekommen) laufen lassen, erstellen Sie die Miniaturbilder mit Ihrer lokalen Installation auf Ihrem PC und laden dann den kompletten Phoca Gallery Bilderordner (images/phocagallery/) auf Ihren Server hoch. Auf Ihrem Server werden die Miniaturbilder nicht nocheinmal erstellt, weil Sie ja schon vorhanden sind. Gehen Sie zu "Mehrfaches hinzufügen" im Phoca Gallery Kontrollzentrum und wählen Sie den Ordner aus. Klicken Sie auf "Speichern" und alle Bilder werden dem System hinzugefügt, ohne erstellen von Miniaturbildern (Thumbnails).
  • Phoca Gallery erstellt automatisch Miniaturbilder von Bildern, die keine Miniaturbilder haben. Deshalb muß Phoca Gallery jedes Bild Schritt für Schritt überprüfen. Dies kann eine große Herausforderung an die Performance Ihres Servers darstellen, wenn Ihre Galerie sehr Umfangreich ist. Falls das der Fall ist, sollten Sie die Seitenweise Miniaturbilderstellung*2 / Miniaturbilder für weitere Seiten erstellen*1 einschalten. Siehe: Einstellungen / Optionen

 

6. SEF, 404, Menülink

Phoca Erweiterungen unterstützen SEF, weil ihre Links durch die Standard Joomla! JRoute class erzeugt werden. Lesen Sie den folgenden Artiel, um möglich Probleme mit SEF zu lösen:

Falls Sie eine externe SEF Komponente verwenden, sollten Sie den Entwickler dieser Komponente fragen, ob Phoca Erweiterungen unterstützt werden.

 

7. Die Suhosin Erweiterung benutzen

Falls Sie Phoca Gallery Version 2.7.5 oder später benutzen und auf Ihrem Server ist die Suhosin PHP Erweiterung installiert, kann es beim Speichern des Menülinks zur Phoca Gallery Komponente im Menümanager zu Problemen kommen.

Einer der Suhosin Sicherheitsparameter heißt suhosin.post.max_vars. Sein Wert ist meistens auf 200 gesetzt. Beim Speichern eines Menüeintrages (Links) zur Phoca Gallery Komponente werden aber mehr als 200 POST Variable übertragen (mehr als 200 Parameter). Leider gibt Suhosin keinerlei Fehlermeldung zurück (vielleicht aus Sicherheitsgründen). Die Seite wird zur Hauptseite von Menüs zurückgeleitet und der Menüeintrag wird nicht gespeichert.

Das bedeutet, falls Sie nicht in der Lage sind einen Menüeintrag zur Phoca Gallery Komponente in Menüs zu speichern (MenÜs - z.B. Main Menu - Neu - Phoca Gallery - z.B. Phoca Gallery Layout Kategorien Liste*1/Liste der Kategorien (Kategorien Ansicht)*2 - Speichern), weil die Seite zur Hauptseite von Menüs zurückgeleitet wird, überprüfen Sie Ihre PHP Einstellungen:

Joomla! Administration (Backend) - Hilfe - System Info - PHP Information*1/Joomla! Administration (Backend) - Site - Systeminformationen - PHP Informationen*2. Versuchen Sie den 'Suhosin' Abschnitt zufinden und versuchen Sie den Wert von suhosin.post.max_vars zufinden. Falls Dieser Parameter vorhanden ist und der Wert etwa 200 beträgt, müssen Sie diesen Wert in Ihren PHP Einstellungen erhöhen (erhöhen Sie den Wert auf z.B. 250). Es gibt noch weitere Suhosin Sicherheitseinstellungen. Falls deie Veränderung des Wertes von suhosin.post.max_vars keinen Erfolg hat, überprüfen Sie die anderen Suhosin Parameter auch (z.B. suhosin.request.max_vars, usw.).

 

8. Image oder Iframe Methode

Phoca Gallery benutzt zwei unterschiedliche Methoden um Bilder im Detailfenster anzuzeigen.

Image Methode:

  • Modal Box (nur Bild)
  • Shadowbox
  • Highslide JS (nur Bild)
  • JAK lightbox
  • Slimbox

Iframe Methode:

  • Standard Popop (ist nicht Iframe, hat aber das gleiche Verhalten wie Iframe)
  • Modal Box
  • Highslide JS
  • No Popup (ist nicht Iframe, hat aber das gleiche Verhalten wie Iframe)

Bilder, die im Detailfenster mit der Image Methode angezeigt werden, werden mit Hilfe von Javascript angezeigt. Deshalb gibt es mit dieser Darstellungsmethode einige Einschränkungen. Z.B. ,in einer Slideshow werden nicht alle Bilder einer Kategorie, sondern nur die Bilder einer Seite angezeigt. Dies passiert, weil Javascript nur die Bilder jeweils einer Seite anzeigen kann (natürlich gäbe es Möglichkeiten alle Informationen aller Bilder einer Kategorie in das Javascript zuladen, aber das könnte Ihren Server verlangsamen, oder das Laden der Seite wegen einem Speicherengpass stoppen). Außerdem können Sie einem Javascriptfenster keinerlei Statistik hinzufügen, weil es nicht HTML (PHP) usw. ist. Mit der Image Methode kann kein Youtube Code wieder gegeben werden. Falls Sie Youtube Videos im Detailfenster anzeigen wollen, müssen Sie die Iframe Methode verwenden.

Bilder, die im Detailfenster mit der Iframe Methode angezeigt werden, werden in der Tat in HTML (PHP) angezeigt - das bedeutet, sie können Statistik Code hinzufügen (z.B. Google Analytics Code), die Seitenweise Anzeige kann benutzt werden - In Iframe werden Informationen über die aktuellen, vorherigen und nächsten Bilder geladen. Wenn Sie z.B. auf den "Nächstes" (Next) Pfeil klicken, wird die ganze Seite neu geladen. Das nächste Bild wird zum aktuellen Bild, das aktuelle Bild wird zum vorherigen Bild und die neue Information über das nächste bild wird geladen. Auf diese Weise können Sie alle Bilder einer Kategorie im Iframe Fenster anzeigen und es gibt kein Speicherproblem, weil die Seite jedesmal neu geladen wird (das ist ein Unterschied zur Javascript Methode, da wird nicht die ganze Seite neu geladen, sondern nur die Bilder).

*1 Joomla! v1.5

*2 Joomla! v2.5

*3 Joomla! v3.x