Joomla: Unterschied zwischen den Versionen

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen
K
K
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 9: Zeile 9:
 
[[Joomla Benutzerverwaltung]]
 
[[Joomla Benutzerverwaltung]]
  
== Phoca Gallery ==
+
[[Phoca Joomla Extensions]]
=== Konfiguration und Anwendung ===
 
* Phocagallery Plugin
 
Zur Phocagallery gibt es ein Plugin, mit dem man in einen Beitrag Fotos aus einer Galerie einbinden kann.
 
: http://www.phoca.cz/download/category/14-phoca-gallery-plugin
 
Folgende Zeile in den Artikel einfügen:
 
# Beispiel
 
{phocagallery view=category|categoryid=15}
 
Nach der Installation muss das Plugin '''aktiviert''' werden.
 
  
==== Optionen ====
+
[[Joomla Security und Troubles]]
* 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 <tt>wwwrun</tt> (... 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 <tt>Speichern und Schließen</tt> 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 <tt>Optionen</tt> 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 <code>Captcha - reCAPTCHA</code> 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 <tt>Benutzer / Optionen"</tt> '''reCAPTCHA''' aktiviert werden, wenn es für das Kontaktformular verwendet werden soll.
 
:: Falls reCAPTCHA im Kontaktformular nicht erscheint, dann unter <tt>Komponenten / Kontakte / Option</tt> 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 <code> template/mein_template </code> 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):
 
<pre>
 
<?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>
 
</pre>
 
 
 
Die in obigem Code aufgerufene Funktion <code>application::renderOfflinePage</code>zeigt an, wie lang die Seite offline ist.
 
 
 
Hier der Code meiner Offline Funktion:
 
<pre>
 
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;
 
} </pre>
 

Aktuelle Version vom 11. Dezember 2024, 18:46 Uhr