Ergebnis 1 bis 14 von 14

Thema: Avatar auf Mitgliederseite

  1. #1
    Contao-Nutzer
    Registriert seit
    08.08.2013.
    Beiträge
    77

    Standard Avatar auf Mitgliederseite

    Hallo,
    ich habe probiert den passenden Avatar auf der Mitgliederseite auszugeben, was mir nur bedingt gelingen will. Zwar kann ich über
    PHP-Code:
    <?php echo $this->avatar_path?>
    den Avatar darstellen, aber dabei bekomme ich nur das (teilweise viel zu große) Sourcefile geliefert.

    In der Mitgliederliste kann ich per loop auf das durch die Extension korrekt heruntergerechnete Bild zugreifen
    PHP-Code:
    <?php if ($col['field'] ==  'avatar'): ?>
        <?php echo $col['content']; ?>
    Aber wie gelingt dieselbe Ausgabe für ein definiertes Einzelbild in der Memberpage?

  2. #2
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    831

    Standard

    Zum Einfügen des Avatars stellt die Avatarerweiterung ein Inserttag bereit.

    So sollte es gehen:
    https://community.contao.org/de/show...ll=1#post26398

    Gruß
    ChrMue

  3. #3
    Contao-Nutzer
    Registriert seit
    08.08.2013.
    Beiträge
    77

    Standard

    Oh. Das hab ich vergessen zu erwähnen.
    Den Thread hab ich auch bereits gefunden, aber der Code erzeugt bei mir immer nur das "kein Avatar hochgeladen"-Bild (das allerdings in korrekter Größe).

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    Wie sieht dein komplettes Template nun aus?

  5. #5
    Contao-Nutzer
    Registriert seit
    08.08.2013.
    Beiträge
    77

    Standard

    Der konkrete Teil um den es geht derzeit so:
    PHP-Code:
    <div class="memberright">
        <?php if (strlen($this->avatar_path)): ?>
            <div class="avatar_detail" style="background-image: url(<?php echo $this->avatar_path?>);" alt="<?php echo $this->firstname?> <?php echo $this->lastname?>"></div>
            <!--{{avatar::<?php echo $this->record[0]['raw']['id']; ?>}}-->
        <?php endif; ?>
    </div>
    Also natürlich befindet sich da noch einiges mehr drin, aber die anderen Bereiche funktionieren fehlerfrei. Die derzeit aktive Zeile liefert mir die Originaldatei ohne Größenänderung, die untere immer nur das Platzhalterbild.

    In der Komplettliste der Mitglieder die so aussieht
    PHP-Code:
    <?php foreach ($this->tbody as $class=>$row): ?>

    <div class="membercontainer">

    <?php foreach ($row as $col): ?>

    <?php if ($col['field'] ==  'avatar'): ?>
        <div class="<?php echo $col['class']; ?> avatarimage"><a href="{{link_url::xx}}?member=<?php echo $col['id']; ?>"><?php echo $col['content']; ?></a></div>

    <?php elseif ($col['field'] ==  'firstname'): ?>        
        <div class="membername"><?php echo $col['content']; ?>
    <?php 
    elseif ($col['field'] ==  'lastname'): ?>
        <?php echo $col['content']; ?></div>
    <?php endif; ?>

    <?php endforeach; ?>
    </div>

    <?php endforeach; ?>
    Funktioniert die Ausgabe mit der richtigen Größe perfekt.

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    Du solltest nicht copy & paste machen, ich schätze mal dass es $this->record[0]['raw']['id']; schlicht nicht gibt in deinem Template. Das stammt ja aus dem Beispiel im Template mod_cm_memberlist_googlemaps_detail. Du musst natürlich zuerst herausfinden, wie du an die ID des Benutzers bzw. Mitglied kommst.

  7. #7
    Contao-Nutzer
    Registriert seit
    08.08.2013.
    Beiträge
    77

    Standard

    Das ist natürlich richtig, aber da enden offenbar meine vollkommen überschaubaren Contao-Kentnisse. Wenn ich mir die Seitenvariablen per
    PHP-Code:
    <?php $this->showTemplateVars(); ?>
    ausgeben lasse, bekomme ich sämtliche Werte die ich sonst verwende sauber geliefert (unter anderem auch das "avatar_path"). Aber in der Variablen "avatar" stehen nur einige Sonderzeichen aus denen ich nicht recht schlau werde.

    Die Id des aktuellen Member kann ich aus der Seite leicht auslesen, aber wie packe ich die in eine vernüftige Abfrage?
    Wenn ich $this->record[0]['raw']['id_des_aktuell_aufgerufenen_Users'] verwende kommt wieder nur das Ersatzbild.

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    Zitat Zitat von clavis Beitrag anzeigen
    Die Id des aktuellen Member kann ich aus der Seite leicht auslesen
    Was genau meinst du damit? Wenn die ID des Members im Template vorhanden ist, dann kannst du damit auch den Insert Tag richtig zusammen bauen.

    Zitat Zitat von clavis Beitrag anzeigen
    Wenn ich $this->record[0]['raw']['id_des_aktuell_aufgerufenen_Users'] verwende kommt wieder nur das Ersatzbild.
    Die Variable "record" (und alles was danach käme) existiert schlicht nicht in deinem Template. Wie schon erwähnt ist das ja ein Code Beispiel aus einem völlig anderen Template.

  9. #9
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    831

    Standard

    $this->record[0]['raw']['id'] gilt eigentlich auch für die original-Erweiterung Memberlist, und die id wird ja auch korrekt ausgegeben, wie clavis schreibt
    Geändert von ChrMue (24.05.2015 um 23:25 Uhr)

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    Zitat Zitat von ChrMue Beitrag anzeigen
    $this->record[0]['raw']['id'] gilt eigentlich auch für die original-Erweiterung Memberlist
    Um welche Erweiterung geht es nun? Die Mitglieder Liste aus xtmembers hat keine Template Variable "record". Das Modul 'MemberPage' von xtmembers scheint die Member ID auch nicht mitzuliefern, soweit ich das im Code sehe: https://github.com/hschottm/xtmember...rPage.php#L105

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    @clavis: mach einfach mal
    PHP-Code:
    <?php
    $param 
    $GLOBALS['TL_CONFIG']['memberurlparameter'] ?: 'member';
    $memberId = \Input::get$param );
    if( 
    $memberId )
        echo 
    $this->replaceInsertTags"{{avatar::$memberId}}" );
    ?>
    Geändert von Spooky (25.05.2015 um 21:56 Uhr)

  12. #12
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    831

    Standard

    Ich hab jetzt mal alle relevaten Erweiterungen installiert:
    Auch bei der xtmembers liefert m.E. wie bei der memberlist $this->record[0]['raw']['id'] die id des Mitglieds auf der Detailseite.

    Gruß ChrMue

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.261
    Partner-ID
    10107

    Standard

    Zitat Zitat von ChrMue Beitrag anzeigen
    Ich hab jetzt mal alle relevaten Erweiterungen installiert:
    Auch bei der xtmembers liefert m.E. wie bei der memberlist $this->record[0]['raw']['id'] die id des Mitglieds auf der Detailseite.

    Gruß ChrMue
    Es geht ja nicht um die Mitglieder-Details (\Xtmembers\ModuleMemberDetails) sondern um die Mitgliederseite von xtmembers (\Xtmembers\ModuleMemberPage), außer ich habe das falsch verstanden. In \Xtmembers\ModuleMemberList und \Xtmembers\ModuleMemberDetails ist
    PHP-Code:
    $this->record 
    vorhanden, weil beide Module von \Contao\ModuleMemberList (aus Leo Feyers [memberlist] Extension) abgeleitet sind und dort in der compile() Methode die Template Variable 'record' befüllt wird. Im Modul \Xtmembers\ModuleMemberPage ist das jedoch nicht der Fall.

  14. #14
    Contao-Nutzer
    Registriert seit
    08.08.2013.
    Beiträge
    77

    Standard

    Wow. Ja, das war's! Jetzt wird die Grafik in der richtigen Größe geholt.

    Allerdings zeigt der Thread auch, dass ich wohl noch einiges enorm viel über die Funktionen des Systems lernen muss. Hätte ich das selbst herausfinden müssen, wäre die Seite vermutlich pünktlich für den release von Contao 6.0 fertig geworden.
    Dann werd ich mich mal hinsetzen und versuchen zu verstehen, was ich gerade so heroisch kopiert habe...

    vielen Dank

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •