SMARTY Variable in PHP benutzen?

  1. Bl4ckSh33p

    Bl4ckSh33p Thread Starter MacUser Mitglied

    Mitglied seit:
    20.01.2005
    Beiträge:
    5
    Zustimmungen:
    0
    hi!
    ich würde gerne Gravatar.com Avatare in mein Forum einbauen (benutze KooBI und das benutzt http://smarty.php.net/ ) und hab bisher folgenden Code:


    Code:
    {assign var="gravatarmail" value=$post->poster->email}
    
    {php}
    $gravatardefault = "http://www.playbird.de/templates/standard/img/forum/noavatar.jpg";
    $gravatarsize = 80;
    $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($gravatarmail)."&default=".urlencode($gravatardefault)."&size=".$gravatarsize;
    {/php}
    <img src="{php}echo $grav_url; {/php}" alt="" />

    aber es scheint so als ob die $gravatarmail im PHP Teil nicht von der Smarty Template übernommen wird sondern "$gravatarmail" wird umgewandelt.

    Weiß vielleicht jemand von euch wie ich das machen kann?
    geht das irgendwie mit smarty oder muß ich die email mit PHP aud der DB auslesen? Aber wie geht das genau?


    hab z.B. einfach direkt nochmal in PHP aus der MySQL Tabelle die email ausgelesen (mit require in der template die config datei mit den DB daten eingelesen) und andre sachen ausprobiert aber auch das hat nicht funktioniert
     
    Bl4ckSh33p, 20.01.2005
    #1
  2. aguilera

    aguilera MacUser Mitglied

    Mitglied seit:
    09.03.2004
    Beiträge:
    48
    Zustimmungen:
    0
    Imo ist Deine assign Anweisung falsch. Kuck mal hier:
    http://smarty.php.net/manual/en/api.assign.php

    Ansonsten: warum liest Du nicht IN Deinem PHP Code die $_POST Variable aus?
    Das waere fuer mich das naheliegendste, wenn sie sonst nirgendwo fuer smarty gebraucht wird.
     
    aguilera, 21.01.2005
    #2
  3. Bl4ckSh33p

    Bl4ckSh33p Thread Starter MacUser Mitglied

    Mitglied seit:
    20.01.2005
    Beiträge:
    5
    Zustimmungen:
    0
    also ich hatte das von ner anderen Seite wo das SMARTY Manual drauf war (die off. Seite war down).
    Wenn du mir sagen kannst wie das geht kann ich es gerne mal versuchen, hab aber leider noch nicht viel Ahnung von PHP.

    Die Email Adresse ist in der SMARTY Variable drin deshalb hab ich es so versucht.

    Bei http://www.gravatar.com gibts oben bei Implement auch ne Übersicht und wie das in PHP geht. Aber weil KooBI SMARTY benutzt hab ich es so versucht, hat nur leider bis jetzt nicht geklappt. :(
     
    Bl4ckSh33p, 21.01.2005
    #3
  4. aguilera

    aguilera MacUser Mitglied

    Mitglied seit:
    09.03.2004
    Beiträge:
    48
    Zustimmungen:
    0
    Also in
    Code:
    $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($gravatarmail)
    ersetze $gravatarmail durch $_POST['...']...
    $_POST kann wie ein Array angesprochen werden. Wie genau es bei Dir aussieht bzw. das es bei Dir enthaelt, weiss ich nicht.
    Fuer die Punkte schreibst Du dann den/die Feldnamen...
     
    aguilera, 21.01.2005
    #4
  5. Nogger

    Nogger MacUser Mitglied

    Mitglied seit:
    03.08.2004
    Beiträge:
    367
    Zustimmungen:
    0
    Du kannst die Variable in dem php Abschnitt mit $smarty->_tpl_vars["gravatarmail"] ansprechen.

    Die Zuweiseung ist allerdings nicht nötig.

    Du kannst in dem php Abschnitt analog einfach $smarty->_tpl_vars["post"]->poster->email benutzen.
     
    Nogger, 21.01.2005
    #5
  6. Bl4ckSh33p

    Bl4ckSh33p Thread Starter MacUser Mitglied

    Mitglied seit:
    20.01.2005
    Beiträge:
    5
    Zustimmungen:
    0
    Danke!
    hab es jetzt damit probiert, geht aber nicht ganz. da wird immer das default bild angezeigt. :(
    Code:
    {php}
    $default = "http://www.playbird.de/templates/standard/img/forum/noavatar.jpg";
    $size = 80;
    
    $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($smarty->_tpl_vars["post"]->poster->email)."&amp;default=".urlencode($default)."&amp;size=".$size;
    {/php}
    <img src="{php} echo $grav_url; {/php}" alt="" />
    was passt da nicht?
     
    Bl4ckSh33p, 21.01.2005
    #6
  7. Nogger

    Nogger MacUser Mitglied

    Mitglied seit:
    03.08.2004
    Beiträge:
    367
    Zustimmungen:
    0
    Prüf erstmal, ob die generierte URL die ist, die rauskommen sollte.

    Und ob $smarty->_tpl_vars["post"]->poster->email das gewünschte enthält, vielleicht geht es wider erwarten so mit Objekten nicht. Ich hatte bisher nur Arrays.
     
    Nogger, 21.01.2005
    #7
Die Seite wird geladen...
Ähnliche Themen - SMARTY Variable PHP
  1. mampfi
    Antworten:
    7
    Aufrufe:
    246
    mampfi
    04.07.2017
  2. flohaase
    Antworten:
    2
    Aufrufe:
    966
    flohaase
    26.09.2013
  3. timroh
    Antworten:
    1
    Aufrufe:
    975
    wegus
    28.08.2013
  4. Shark Master

    variable $text

    Shark Master, 28.10.2010, im Forum: Web-Programmierung
    Antworten:
    16
    Aufrufe:
    960
    falkgottschalk
    31.10.2010
  5. knooby
    Antworten:
    4
    Aufrufe:
    3.698
    knooby
    10.06.2010