FAQ

» Zurück zur Übersicht
 


1. apexx

1.1. Was ist der Unterschied zwischen apexx Basic/Standard/Community?

Eine Übersicht der enthaltenen Module für jede Lizenz finden Sie in der Funktionsübersicht.

1.2. Wie führe ich ein Upgrade zur apexx Community durch?

Laden Sie sich das Komplettpaket von apexx Community für die apexx-Version herunter, die auf Ihren Webserver installiert ist. Fügen Sie die folgenden Dateien aus dem Komplettpaket Ihrer apexx-Installation hinzu:

  • forum (kompletter Ordner)
  • languages/de/forum (kompletter Ordner)
  • modules/forum (kompletter Ordner)
  • templates/default/forum (kompletter Ordner)
  • templates/default/design_forum.html
  • templates/default/design_print_forum.html

Rufen Sie im Adminbereich in die Modulverwaltung auf (Verwaltung » Module) und klicken Sie auf "Liste aktualisieren". Das Forum-Modul erscheint nun in der Liste. Führen Sie die Installation des Moduls aus (CD-Symbol) und aktivieren Sie es anschließend.

1.3. Was bedeutet die Fehlermeldung "Can't connect to local MySQL server..."?

Das Script kann keine Verbindung zum MySQL-Server verbinden. Sie haben wahrscheinlich falsche bzw. inkorrekte MySQL-Benutzerdaten in der Konfigurationsdatei (lib/config.php) angegeben. Überprüfen Sie die Benutzerdaten sowie den Server auf Ihre Richtigkeit.

1.4. Beim Aufrufen meiner Seite erhalte ich einen "Error 500", was läuft falsch?

Wahrscheinlich hat Ihr Webserver Probleme mit der .htaccess-Datei. Erkundigen Sie sich bei Ihrem Hoster, welche htaccess-Befehle für den Betrieb von "mod_rewrite" nötig sind. Wenn Sie die htaccess-Datei nach den Vorgaben Ihres Hosters angepasst haben, sollten das Problem nicht mehr auftreten.
Letzter Ausweg ist das Löschen der htaccess-Datei. Da diese für Suchmaschinen-optimierte URLs benötigt wird, steht Ihnen diese Funktion dann nicht mehr zur Verfügung.

1.5. Beim Starten der Installation erhalte ich eine leere Seite.

Fügen Sie in Ihrer Konfigurationsdatei (lib/config.php) folgende Zeile hinzu:
$set['showerror']=true;
Daraufhin sollte eine Fehlermeldung ausgegeben werden, die Ihnen bei der Problemfindung helfen sollte. Sofern Sie keine Lösung finden melden Sie sich bitte beim Support.

1.6. Wieso ist der maximale Datei-Upload auf X Megabyte beschränkt?

Das Upload-Limit wird serverseitig festgelegt, d.h. von Ihrem Hoster. Auf diese Einstellung hat das System keinen Einfluss, daher lässt sich diese Einstellung nicht einfach verändern. Die einzige Möglichkeit besteht darin, sich an den Hoster zu wenden mit der Bitte das Upload-Limit zu erhöhen.

1.7. Welche Bildformate werden unterstützt?

apexx kann auch technischen Gründen nur die üblichen Webformate GIF, JPG und PNG verarbeiten. Andere Bildformate werden nicht unterstützt.

1.8. Wie kann ich die Qualität der Bilder ändern?

In der Datei lib/class.image.php finden Sie eine Variable, mit der Sie die Qualität von JPG-Bildern einstellen können:
var $jpgquality=80;

Der Wert 80 kann hierbei zwischen 0 und 100 variiert werden, wobei 100 für die beste Qualität steht.

1.9. Ich erhalte Fehlermeldungen beim Hinzufügen von Bildern.

Die Fehlermeldungen können zwei Gründe haben:
1) Das Script beseitzt keine Schreibrechte für den Ordner, in den die Bilder gespeichert werden sollen
2) Der Pfad zum Wasserzeichen ist falsch. Dieser muss relativ zum apexx-Hauptverzeichnis angegeben werden und darf nicht mit einem Schrägstrich "/" beginnen. Außerdem darf der Pfad keine HTTP-URL sein.

1.10. Wie finde ich heraus, welche Template-Funktionen mir zur Verfügung stehen?

Klicken Sie im Adminbereich unter dem Menüpunkt "Verwaltung" auf "Environment". Im unten Teil finden Sie nun eine Auflistung aller verfügbaren Template-Funktionen.

1.11. Lassen sich Module duplizieren und somit mehrfach verwenden?

Nein, dies ist nicht möglich. Ansonsten würde es zu Seiteneffekten kommen, die beide Module unbrauchbar machen.

1.12. Wird es eine Foren-Integration für vB, WBB, PHPBB, (...) geben?

Aus rechtlichen Gründen es es leider nicht möglich ein Script zur Verfügung zu stellen, das die Koppelung des apexx-CMS mit fremder Forensoftware ermöglicht. Wenn Sie eine solche Integration wollen, müssen Sie dies auf eigene Gefahr tun.

1.13. Templates (Wie mache ich...?)

Weitere Konzepte finden Sie im Forum.

1.13.1. Listen nummerieren

nummerierte Liste

Um die Elemente einer Liste zu nummerieren, benötigen Sie einen Zähler, der sich ganz einfach definieren lässt mit:
{++COUNTER}
Setzen Sie diesen Zähler an den Anfang der gewünschten Auflistung, dann müssen Sie seinen Wert nur noch an der gewünschten Stelle ausgeben:
{list NEWS}

   {++COUNTER}
   {COUNTER}: {NEWS.TITLE} <br />

{/list}

Dieser Code ergibt beispielsweise die Liste:
1: Erste News <br />
2: Zweite News <br />
3: Dritte News <br />

1.13.2. Auflistungen durch Kommas trennen (oder ein anderes Zeichen)

Auflistung durch Kommas

Um die Elemente einer Liste, benötigen Sie einen Zähler, der sich ganz einfach definieren lässt mit:
{++COUNTER}

Setzen Sie diesen Zähler an den Anfang der gewünschten Auflistung:
{list USERONLINE}

   {++COUNTER}
   {USERONLINE.NAME}

{/list}

Mit Hilfe einer IF-Abfrage können Sie nun feststellen ob ein Komma ausgeben werden muss. Dies ist genau dann der Fall, wenn der Wert von COUNTER nicht gleich 1 ist. Die IF-Abfrage muss am Anfang der Schleife stehen, im Idealfall gleich nach dem Zähler. Der vollständige Code lautet dann wie folgt:
{list USERONLINE}

   {++COUNTER}
   {if COUNTER!=1}, {/if}
   {USERONLINE.NAME}

{/list}

1.13.3. Untergliederung von Kategorien sichtbar machen

Unterkategorien sichtbar gemacht

Sofern Sie bei News/Artikel/etc. Unterkategorien verwenden, sollte die Untergliederung der Kategorien bei der Auflistung sichtbar sein. In diesem Beispiel sollen alle News-Kategorien in einem Dropdown-Menü ausgegeben werden. Wir geben also die Kategorien in einer Select-Box aus:
<select>
{list CATEGORY}
   <option value="{CATEGORY.ID}">{CATEGORY.TITLE}</option>
{/list}
</select>
Allerdings ist so noch nicht zu sehen, bei welchen Kategorien es sich um Unter-Kategorien handelt. Abhilfe schafft die Variable CATEGORY.LEVEL, die bei jeder Auflistung mit möglicher Untergliederung vorhanden ist (mit dem jeweiligen Präfix anstatt "CATEGORY"). Diese gibt an, wie tief ein Element in der Baumstruktur sitzt, wobei der Wert 1 für die höchste Ebene, also die Hauptkategorien steht.
Mit einer Wiederholungs-Schleife lassen sich nun die Unter-Kategorien einrücken. Hierzu verwendet wir das Zeichen "&nbsp;", es ist aber auch jedes andere Zeichen denkbar. Das Zeichen wird genau "CATEGORY.LEVEL - 1" mal wiederholt. Minus 1 deshalb, weil die oberste Ebene den Wert 1 hat aber nicht eingerückt werden muss.
<select>
{list CATEGORY}
   {repeat CATEGORY.LEVEL-1}&nbsp;{/if}
   <option value="{CATEGORY.ID}">{CATEGORY.TITLE}</option>
{/list}
</select>

1.13.4. Tabelle mit wechselndem Zeilen-Hintergrund

wechselnder Zeilen-Hintergrund

Wenn Sie eine Tabelle mit wechselndem Zeilen-Hintergrund erstellen wollen, benötigen Sie zunächst einen Zähler. Dieser lässt sich ganz einfach definieren durch:
{++COUNTER}
Setzen Sie diesen Zähler an den Anfang der gewünschten Auflistung, beispielsweise:
<table>
{list NEWS}

   {++COUNTER}
   
   <tr>
   <td>{NEWS.TITLE}</td>
   </tr>

{/list}
</table>

Nun legen Sie die beiden Farben fest, die sich abwechseln sollen. In diesem Beispiel verwenden wir zwei unterschiedliche Grauwerte mit den Hexadezimalcodes #F5F5F5 und #EBEBEB. Zur besseren Übersicht werden die beiden Codes in zwei Variablen gespeichert:
{COLOR1='#F5F5F5'}
{COLOR2='#EBEBEB'}

Sie müssen diesen Code in jedem Fall vor die Liste setzen, damit die Informationen dort auch verfügbar sind.

Nun kommt der Modulo-Operator "%" zum Einsatz. Dieser ermittelt den Rest einer Division. Geteilt wird jeweils durch 2. Zur Verdeutlichung wie der Modulo-Operator arbeitet:
1 Modulo 2 = 1
2 Modulo 2 = 0
3 Modulo 2 = 1
4 Modulo 2 = 0
usw.

Was Sie nun tun müssen ist, während der Auflistung zu Prüfen ob das Ergebnis von "COUNTER Modulo 2" 1 oder 0 ist und dementsprechend als Hintergrundfarbe COLOR1 oder COLOR2 verwenden. Dies lässt sich mit einer IF-Abfrage realisieren:
{if COUNTER%2==1}
   {BGCOLOR=COLOR1}
{else}
   {BGCOLOR=COLOR2}
{/if}
Die Hintergrundfarbe ist dann in der Variable BGCOLOR gespeichert und muss nur noch ausgegeben werden. Der Code im Gesamten:
{* Farben definieren *}
{COLOR1='#F5F5F5'}
{COLOR2='#EBEBEB'}

<table>
{list NEWS}

   {++COUNTER}
   
   {* Hintergrundfarbe bestimmen *}
   {if COUNTER%2==1}
      {BGCOLOR=COLOR1}
   {else}
      {BGCOLOR=COLOR2}
   {/if}
	 
   <tr>
   <td bgcolor="{BGCOLOR}">{NEWS.TITLE}</td>
   </tr>

{/list}

</table>

1.13.5. Elemente in Spalten auflisten

Inhalt in Spalten aufgelistet

Im Folgenden wird erklärt, wie man mit Template-Befehlen eine mehrspaltige Auflistung erreichen kann. Als Beispiel betrachten wir die Auflistung von Galerie-Bildern, wobei in der Tabelle maximal drei Bilder nebeneinander stehen sollen, danach beginnt eine neue Zeile.

Um Elemente spaltenweise auflisten zu können benötigen Sie einen Zähler. Dieser lässt sich ganz einfach definieren durch:
{++COUNTER}

Setzen Sie diesen Zähler an den Anfang der gewünschten Auflistung, beispielsweise:
{list GALLERY}

   {++COUNTER}
   {GALLERY.PICTURE}

{/list}

Nun kommt der Modulo-Operator "%" zum Einsatz. Dieser ermittelt den Rest einer Division. Geteilt wird jeweils durch die Anzahl der Spalten, in diesem Fall also 3. Zur Verdeutlichung wie der Modulo-Operator arbeitet:
1 Modulo 3 = 1
2 Modulo 3 = 2
3 Modulo 3 = 0
4 Modulo 3 = 1
5 Modulo 3 = 2
6 Modulo 3 = 0
usw.

Wendet man "Modulo 3" auf den Zähler an, so beginnt immer dann eine neue Zeile, wenn das Ergebnis 1 ist. Im Gegensatz dazu ist die Zeile zu Ende, wenn das Ergebnis 0 ist. Für HTML bedeutet dies, dass für "COUNTER Modulo 3"=1 ein "<tr>" ausgegeben werden muss und für "COUNTER Modulo 3"=0 ein "</tr>". Übersetzt in die Template-Sprache sieht das wie folgt aus:

Zeilenanfang ausgeben:
{if COUNTER%3==1}<tr>{/if}

Zeilenende ausgeben:
{if COUNTER%3==0}</tr>{/if}

Die beiden Befehle werden jetzt in die Schleife eingebaut und der HTML-Code der Tabelle vervollständigt:
<table>

{list GALLERY}

   {++COUNTER}
   
   {* Zeilenanfang ausgeben *}
   {if COUNTER%3==1}<tr>{/if}
   
   {* Tabellenzelle ausgeben *}
   <td>{GALLERY.PICTURE}</td>
   
   {* Zeilenende ausgeben *}
   {if COUNTER%3==0}</tr>{/if}

{/list}

</table>

Beachten Sie, dass der Befehl für den Zeilenanfang am Anfang der Liste, direkt nach dem Zähler stehen muss und der Befehl für das Zeilenende am Ende der Liste!

Nach der Auflistung der Elemente fehlt nun noch eine Abfrage, ob die letzte Tabellenzeile vollständig ausgefüllt wurde. Ist dies nicht der Fall, müssen leere Tabellenzellen ausgegeben werden, damit der HTML-Code korrekt ist. Dies lässt sich mit dem folgenden Befehlsblock realisieren:
{if COUNTER%3!=0}
{repeat 3-COUNTER%3}<td>&nbsp;</td>{/repeat}</tr>
{/if}
Der vollständige Code sieht also folgendermaßen aus:
<table>

{list GALLERY}

   {++COUNTER}
   
   {* Zeilenanfang ausgeben *}
   {if COUNTER%3==1}<tr>{/if}
   
   {* Tabellenzelle ausgeben *}
   <td>{GALLERY.PICTURE}</td>
   
   {* Zeilenende ausgeben *}
   {if COUNTER%3==0}</tr>{/if}

{/list}

{* Tabelle vervollständigen => Leere Zellen ausgeben *}
{if COUNTER%3!=0}
{repeat 3-COUNTER%3}<td>&nbsp;</td>{/repeat}</tr>
{/if}

</table>

Sie können natürlich auch eine 4-spaltige/5-spaltige/etc. Auflistung erstellen, indem Sie jede 3 durch den entsprechenden Wert ersetzen.