Custom Index

Hi, ich möchte gerne auf der alleresten Seite wo auch Login usw. erscheint, noch eigene Informationen hinzfügen. Also Sinn und zweck des Portals und vielleicht noch ein Bild.

Ich denke das hat mit dem Plugin Custom Index und den dazugehörigen Dateien ind Mods zu tun. Brauche ich noch einen Editor um die Seite entsprechend zu bearbeiten?

Ansonst gefällt mir Elgg schon total gut und die Installation verlief auch problemlos. Vielen Dank an alle

Sascha

  • Beim Custom-Index-Plugin kann die Indexseite nur durch Anpassungen im Code des Plugins verändert werden und nicht über den Adminbereich. In der Datei /mod/custom_index/views/default/page/layouts/custom_index.php ist das Layout der Indexseite definiert (die dynamischen Inhalte wie beispielsweise die neuesten Blogs werden dabei in der Datei /mod/custom_index/index.php aus der Datenbank geholt). Wenn Du nun ein neues Widget zur Indexseite hinzufügen willst, in dem beispielsweise ein Begrüssungstext stehen soll oder auch ein Bild, dann kannst Du folgendes FETT gedruckte in /mod/custom_index/views/default/page/layouts/custom_index.php einfügen:

    // a view for plugins to extend
                echo elgg_view("index/righthandside");

     $infobox = 'Text shown in right column widget.';
              $infobox .= '<img src="./frontpage_image.jpg" alt="Frontpage_Image">';

              echo elgg_view_module('featured',  elgg_echo("Title of right column widget"), $infobox, $mod_params);

    Dies fügt ein neues Widget mit dem geünschten Text ein. Die Bilddatei "frontpage_image.jpg" muss im Hauptverzeichnis Deiner Elgg-Installation abgelegt sein.

    Diese Lösung ist allerdings nicht ganz optimal, da Elgg-Core-Dateien besser nicht modifiziert werden sollten (sonst wird beispielsweise das Updaten auf eine neue Elgg-Version komplizierter, da die ganzen Änderungen dann wieder vorgenommen werden müssen). Ein anderer Weg, die Indexseite zu erweitern, gibt es durch die Möglichkeit von Elgg, Views zu erweitern (die Ausgabe, die eine andere View erzeugen würde an eine View anzuhängen). Hier gibt es beispielsweise die Zeile

    echo elgg_view("index/righthandside");

    die die Ausgabe der View "index/righthandside" einfügt. Standardmäßig gibt es diese View nur virtuell, d.h. es wird nichts ausgegeben. Aber es bietet sich die Möglichkeit, mit Hilfe eines Plugins, die View "index/righthandside" zu erweitern und dann wird eben doch etwas ausgegeben (und die Elgg-Core-Dateien müssen nicht verändert werden). In einem solchen kleinen Plugin (nennen wir es "index_greeting_widget") könnte in der init-Funktion in start.php folgendes stehen:

    <?php

    elgg_register_event_handler('init', 'system', 'index_greeting_widget_init');

    function index_greeting_widget_init() {

        elgg_extend_view('index/righthandside', 'index_greeting_widget/index_greeting_widget');

    }

    Dann wäre noch die View /mod/index_greeting_widget/views/default/index_greeting_widget/index_greeting_widget.php notwendig:

    <?php

    $infobox = 'Text shown in right column widget.';

    $infobox .= '<img src="./frontpage_image.jpg" alt="Frontpage_Image">';

    echo elgg_view_module('featured',  elgg_echo("Title of right column widget"), $infobox, $mod_params);

    Zum vollständigen Plugin fehlt dann nur noch eine manifest.xml (hier kann eine manifest.xml von einem anderen Plugin als Vorlage dienen). Mit diesem kleinen Plugin sollte das Widget auf der Indexseite erscheinen, ohne dass die Elgg-Core-Dateien verändert werden mussten. Der Pfad zur Bilddatei kann natürlich ebenfalls noch angepasst werden, damit das Bild beispielsweise ebenfalls innerhalb des Pluginordners liegen kann:

    $infobox .= '<img src='.elgg_get_site_url()."mod/index_greeting_widget/frontpage_image.jpg" alt="Frontpage_Image">';

    Eine andere Möglichkeit, die Indexseite anzupassen, ist die Verwendung des Widget Manager-Plugins (http://community.elgg.org/plugins/384604/4.7/widget-manager). Da gibt es ein FreeHTML-Widget, das mit beliebigem Inhalt gefüllt werden kann. Mit diesem Plugin kann man die Indexseite auch direkt im Browser, wenn man als Admin eingeloggt ist, anpassen. Noch zusätzliche Anpassungsmöglichkeiten gibt es mit dem Homepage CMS-Plugin (http://community.elgg.org/plugins/968182/1.2/homepage-cms), dass allerdings auf dem Widget Manager-Plugin aufbaut.

German Support Group

German Support Group

The German support group within the Elgg community.