Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [smarty] Funkcja w funkcjii
Bajki
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam
mam pewien problem...mianowicie w pliku .tpl mam pętle, która wyświetla zawartość tablicy (dokładniej liste komentarzy do newsa) jednak skrypt nie pobiera z bazy danych zadnych informacji o autorze komentarza ...jedynie jego ID. Musiałem więc napisać funkcje do smarty, która mając id, pobiera z bazy email i login uzytkownika. W plikach .tpl ma ona taką składnie :

  1. {userinfo w=login id=numer_id}
  2. {userinfo w=email id=numer_id}


W swoim serwisie korzystam z serwisu www.gravatar.com więc zainstalowałęm sobie plugina/funkcje, który mając taką składnie :
  1. {gravatar email=adres_email}

zamienia podany email na adres avatara w serwisie gravatar.com

Problem w tym, że nie wiem jak połączyć te dwie funkcje. Funkcja {gravatar} musi korzystać z funkcjii {userinfo} do otrzymania emaila użytkownika a ja troche nie wiem jak to napisać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli nie rozumiecie oco mi chodzi (troche zagmatwałem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) to powiedzcie a napisze jeszcze raz (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Pozdrawiam i z góry dzięki

Ten post edytował Bajki 10.06.2008, 13:53:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bajki
post
Post #2





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


hehe no wlasnie sie zastanawialem czy to wydajne ;D

dlamnie bomba tylko ze nie widze kompletnie jak to zrobic ;/ ledwo uporalem sie z jedna tablica a jakbym mial ja jeszcze polaczyc z 2 ... musial by mi ktos w tym pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

oto kod :

funkcja get_comments() :
  1. <?php
  2. function get_comments ( $id, $type ) {
  3.  
  4. global $comments;
  5. include "db_connect.php";
  6. $result = mysql_query ("SELECT * FROM comments WHERE object_id = '$id' AND type = '$type' ORDER BY date") or die(mysql_error());
  7.  
  8. $comments = array ();
  9. while ($row = mysql_fetch_array($result)) {
  10. $comments[] = $row;
  11. }
  12. return $comments;
  13.  
  14. }
  15. ?>


tablica $comments jest przypisana do tablicy $comments w smarty (przez assign oczywiscie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )

plik comments.tpl :
  1. {section name=item loop=$comments}
  2. {strip}
  3. <div style="background-color: {cycle values='#EFEFEF,#FFFFFF'}; padding: 10px; margin: 10px 0px 10px 0px;">
  4. <tr>
  5. <td rowspan="2" valign="top"><img style="margin-top: -2px; margin-right: 5px; border: 0px;" src="{gravatar email=$smarty.session.user_email size="50"}" alt="Avatar" /></td>
  6. <td class="comment_details"><a href="user.php?id={$comments[item].user_id}"><b>{userinfo w=login id=$comments[item].user_id}</b></a> ( {$comments[item].date|date_format:"%d %m %Y %H:%M"} )</td>
  7. </tr>
  8. <tr style="margin: 0px; padding: 0px; line-height: 10px;">
  9. <td valign="top" style="padding-top: 5px;">{$comments[item].content}</td>
  10. </tr>
  11. </div>
  12. {/strip}
  13. {/section}


jesli ktos podpowiedzial by mi jak to zrobic, bylbym bardzo wdzieczny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

pozdrawiam

Ten post edytował Bajki 10.06.2008, 14:09:39
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:12