php-Codes für die Startseite (custom-index)

Hallo,

ich würde gerne auf der custom-index auch die öffentlichen letzten 10 Seiten (Pages) anzeigen lassen, weiß allerdings nicht, welchen php-Code ich dafür benutzen muss.

Kann mir da jemand helfen ?

 

thx

  • Kann dir ein Tipp geben. Schau dir den code von Seiten widget an. page widget. da steht der code.

  • Ich hatte mal geschrieben, wie man albums und bilder von tidypics in den custom_index bekommt, vielleicht hilft dir das:

    /mod/custom_index/index.php

        ...
        $photos = list_entities('object','image',0,4,false, false, false);
        $albums = list_entities('object','album',0,4,false, false, false);
        ...
       
        $body = elgg_view_layout('new_index',$blogs, $files, $newest_members, $login, $groups, $pages, $photos, $albums);
       
    /mod/custom_index/views/default/canvas/layouts/new_index.php   
       
            <!-- display latest photos -->
        <div id="index_box">
                <h2><?php echo elgg_echo("latest photos"); ?></h2>
            <?php
                    if (!empty($vars['area7'])) {
                        echo $vars['area7'];//this will display photos
                    }else{
                        echo "<p>" . elgg_echo("No photos available") . "</p>";
                    }
                ?>
            </div>
           
            <!-- display latest albums -->
        <div id="index_box">
                <h2><?php echo elgg_echo("latest albums"); ?></h2>
            <?php
                    if (!empty($vars['area8'])) {
                        echo $vars['area8'];//this will display albums
                    }else{
                        echo "<p>" . elgg_echo("No albums available") . "</p>";
                    }
                ?>
            </div>

  • Ich kriegs nicht gebacken, die öffentlichen Seiten (Pages) auf der Startseite anzuzeigen:


        if(is_plugin_enabled('pages')){
    ?>
            <!-- Seiten anzeigen -->
            <div class="index_box">
                <h2><?php echo elgg_echo("custom:pages"); ?></h2>
                <?php
                    if (isset($vars['area8']))
                        echo $vars['area8']; //display pages
                ?>
            </div>
    <?php

    Kann mir jemand helfen ???

  • Ich setze mal voraus, dass Du noch das Original-Custom_Index Plugin benutzt, das mit Elgg 1.5 gekommen ist (sonst stimmt die Nummerierung der Areas nicht):

    Einfügen in /mod/custom_index/index.php Zeile 30
    //grab pages
    $pages = list_entities('object', 'page_top', 0, 4, false,false,false);

    Dann ändere (sollte jetzt Zeile 40 sein):

    $body = elgg_view_layout('new_index', $login, $files, $newest_members, $blogs, $groups, $bookmarks, $pages); //$pages ist jetzt area7 - von vorne an gezählt

    Jetzt in /mod/custom_index/view/default/canvas/layouts/new_index.php

    Das ?> in Zeile 128 einen tiefer (enter, ist dann auf 129), in die leere Zeile 128 reinschreiben (ohne die Zeilennummer :-))

    128 if (is_plugin_enabled('pages')) {

    Dann das </div> in Zeile 130 einen nach unten, ist jetzt Zeile 131,

    Ab der jetzt leeren Zeile 130 einfügen:

    130 <div class="index_box")
    131 <h2><?php echo elgg_echo('was:auch:immer:da:übersetzt:werden:soll'); ?></h2>
    132 <?php
    133 if (isset($vars['area7']))
    134 echo $vars['area7']; //display pages
    135 ?>
    136 </div>
    137 <?php
    138 }
    139?>

    Ich hoffe, ich habe mich nicht verzählt und nichts vergessen, sonst einfach mal bei den anderen div's nachschauen, ob ich alle <?php .... ?> richtig auf und zu gemacht habe.

  • Hallo Karsten,

    vielen, vielen Dank - Das ich was in der index.php ändern musste war mir natürlich nicht klar...

    Eine Frage hätte ich da noch: Ich habe jetzt

    <h2><?php echo elgg_echo('custom:pages'); ?></h2>

    im Code, analog zu den anderen Areas. Allerdings ist mir noch nicht ganz klar, wo ich jetzt die Übersetzung vornehmen muss, damit z.B. "Aktuelle Inhalte" auf der Startseite angezeigt wird. Hast Du da eine Idee?

  • Mach eine Kopie von /mod/custom_index/languages/en.php im selben Verzeichnis und nenne diese de.php.

    Dann änderst Du $english = Array( ..)  in $german =Array(...) und am Ende der Seite add_translation("en", $english") in add_translation("de", $german).

    Achte darauf, dass weder vor dem einleitenden <?php noch nach dem abschliessenden ?> irgendein Zeichen ist, also auch kein Leerzeichen oder CRLF (Enter) oder irgendwelche leeren Zeilen!

    Dann kannst Du die Translations durch deutsche Texte ersetzen oder/und  in Deinem Fall eine Zeile

    'custom:pages' => "Aktuelle Inhalte",

    dazufügen.

  • Danke, klappt (wie immer) perfekt !!!

  • Servus zusammen,
    vielleicht passt meine Frage ja hier rein?!

    Ich habe mich nun schon ein wenig mit der index page beschäftigt.
    Mir ist eigentlich auch klar wie sich diese zusammen setzt.
    Was ich allerdings nicht verstehe, ist die Zusammensetzung der "areas".

    Am Beispiel vom Karsten kann man sehen, dass er für tidypics area7 genommen hat:
    if (!empty($vars['area7'])) {
    Warum?

    ICh hab mir mal selber eine Liste gemacht (aus mehreren custom indexes) und festgestellt, das die anscheinend vordefiniert sind.
    area1 = login
    area2 = file
    area3 = menbers
    area4 = blog
    area5 = groups
    area6 = bookmarks
    area7 = cinema show (was immer das auch sein mag)
    area8 = calender
    area9 = ad
    area10 = poll

    Falls die areas fest definiert sind, würde tidypics mit cinema show kollidieren.
    Oder ist das egal?

    Bin um Aufklärung dankbar.

    Gruß michi

  • I figured it out.
    In the custom_index/index.php is the Array $body = elgg_view_layout
    And it counts the 'new_index' als zero, the $login as one and so on.

    Wieso schreib ich eigentlich Englisch?! - verwirr -

    Jetzt macht das ganze auch Sinn ;o)

  • Tach zusammen,
    kann mir jemand sagen wie ich die Kästen wie z.B. latest Files von der Custom Index bekomme? Auskommentieren in der custom_index/index.php macht nur die Inhalte weg, nicht aber die Kästen an sich. Ich möchte auf der Startseite nur meinen rechten und linken Bereich mit Text haben und untendrunter das Anmeldeformular.

    Hat jemand eine Idee?

     

    Grüße,
    Real

German Support Group

German Support Group

The German support group within the Elgg community.