Joomla
Upgrade Joomla Version 3 auf Version 4
Phoca Gallery
Konfiguration und Anwendung
- Phocagallery Plugin
Zur Phocagallery gibt es ein Plugin, mit dem man in einen Beitrag Fotos aus einer Galerie einbinden kann.
Folgende Zeile in den Artikel einfügen:
# Beispiel {phocagallery view=category|categoryid=15}
Nach der Installation muss das Plugin aktiviert werden.
Optionen
- Thumbnails
Große Thumbnails = Detailansicht: 800 x 600 Mittlere Thumbnails: 175 x 175 Kleine Thumbnails: 100 x 100
Detail Fenstergröße: 820 x 680
Bildergalerie hinzufügen
Upload
Am Server ein neues Verzeichnis erstellen
images/phocagallery/neuerOrdner
Fotos mit Dateimanager, z.B. Dolphin oder mit einem FTP Client, z.B. Filezilla, in den neuen Ordner hochladen
- Sicherstellen, dass der Benutzer wwwrun (... wenn openSuse) Schreibrechte in diesem Ordner hat
Joomla Backend
Komponenten / Phocagallery / Bilder / Mehrfaches Hinzufügen
Auf der rechten Seite werden alle Gallery Ordner angezeigt. Den neuen Ordner auswählen per Checkbox und dann auf Speichern und Schließen klicken.
Nun sollten die Thumbnails automatisch generiert werden.
Falls ein Fehler auftritt, wird der Vorgang abgebrochen und die automatische Thumbnailerstellung deaktiviert. Im Phocagallery Kontrollzentrum kann man unter Optionen diese wieder einschalten.
Phoca Mail
Abmelden vom Newsletter nicht möglich
In der Komponente JCE Editor muss man Relative URLs einschalten.
JCE Administration / Editor Profiles / Default / Editor Parameters
Sicherheit
Kontaktformular gegen SPAM Bots absichern
Folgende Datei bearbeiten:
/components/com_contact/views/contact/tmpl/default_form.php
- Ein verstecktes Formularfeld hinzufügen:
<input type="text" name="security" style="display: none;">
Die JavaScript Funktion validate_form ändern:
... if (frm.security === "") { frm.submit(); }
Ein SPAM Bot wird automatisch alle Felder ausfüllen. Das Formular wird jedoch nur dann abgeschickt, wenn dieses versteckte Feld leer ist.
reCAPTCHA
Plugin aktivieren
Im Joomla Backend das Plugin Captcha - reCAPTCHA
aktivieren.
Schlüssel beziehen
Man muss einen öffentlichen und einen geheimen Schlüssel eingeben.
- Diese zwei Schlüssel bekommt man, indem man auf folgender Seite jene Domain registriert, über welche die Joomla Seite erreichbar ist.
https://www.google.com/recaptcha/admin
Klick auf das '+' Symbol rechts oben.
reCAPTCHA Version
- reCAPTCHA Version 2
- Kästchen Ich bin kein Roboter
- Die zwei Schlüssel kopieren und im Joomla-Plugin einfügen
Kontaktformular
Im Joomla Backend muss unter Benutzer / Optionen" reCAPTCHA aktiviert werden, wenn es für das Kontaktformular verwendet werden soll.
- Falls reCAPTCHA im Kontaktformular nicht erscheint, dann unter Komponenten / Kontakte / Option die Formulareinstellungen überprüfen.
Troubles
Komponenteninstallation nicht möglich
Fehlermeldung:
Es wurde kein Installationsplugin aktiviert ...
Lösung:
Erweiterungen / Verwalten / Überprüfen
Die gewünschten Installtionsplugins auswählen und auf Installieren klicken und dann ...
Erweiterungen / Plugins
... die neu installierten Installer - Plugins aktivieren.
HTML wird entfernt nach Speichern einer Seite
Für die Benutzergruppe ist ein Textfilter gesetzt auf den Wert Kein HTML
Joomla | Globale Konfiguration | Textfilter
Den Textfilter ändern auf den Wert Keine Filterung
Overrides
Offline Seite
Die Offline Seite kann man durch eigenen Code ersetzen bzw ergänzen.
- Folgende Datei in den Ordner
template/mein_template
kopieren und bearbeiten:
template/system/offline.php
oder gleich eine eigene Offline-Seite mit PHP erstellen.
- Joomla verwendet dann nicht diese Standardseite im system Verzeichnis, sondern den Override im aktuell verwendeten Template.
Das ist ein Beispiel meiner Offline Seite(n):
<?php defined('_JEXEC') or die; ?> <head> </head> <body> <style> .offline-container { max-width:100%; margin-top:4px; padding: 10px; background: #DDD; border: solid thin #999; } @media only screen and (min-width: 721px) { .offline-container { position: absolute; left: 50%; width: 600px; margin-left: -300px; } } </style> <div class="offline-container"> <?php require_once("/srv/www/include/php/application.php"); define ("DEVELOP",false); define ("PROJ_NAME","abendmusik.at"); define ("APP_NAME","Abendmusik in der Magdalenabergkirche"); echo application::render_offlinePage(array( "referer" => "joomla", "offline" => true, "days" => 1, "hours" => 2 )); ?> </div> </body> </html>
Die in obigem Code aufgerufene Funktion application::renderOfflinePage
zeigt an, wie lang die Seite offline ist.
Hier der Code meiner Offline Funktion:
static function renderOfflinePage($params=array()) { date_default_timezone_set('Europe/Vienna'); foreach ( $params as $key => $value ) $$key = $value; $start = mktime(date('H'), 0, 0, date("m"), date("d") , date("Y")); $sec = ($days * 24 + $hours) * 60 * 60; $ende_timestamp = $start + $sec; $Uhrzeit = strftime ("%H:00",$ende_timestamp); if ( $days == 0 ) { $Datum = "heute"; } else { $Datum = strftime ("%d. %B %Y",$ende_timestamp); } $return = "<h1>Wartung</h1>"; $return .= "<h2>".$caption."</h2>"; $return .= "<p>Diese Seite ist voraussichtlich bis <strong>".$Datum." ".$Uhrzeit."</strong> nicht verfügbar.</p>"; $return .= "<p>Bitte um Verständnis.</p>"; $return .= "<a href='mail@example.com'>Mail</a>an Webmaster."; return $return; }