Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] smarty i shoutbox pewnego forumowicza
Forum PHP.pl > Forum > Przedszkole
Taifun
Witam, Co trzeba zrobić any zaimplementować shoutbox do smarty? Próbowałem wszystkiego ale coś nie działa... pozostaje chyba iframe :/
wstawiałem wszystko do szablonów .tpl wykorzystując {php} i {literal} , tylko tyle.
kod:
  1. <?php
  2. require_once('cfg.inc.php');
  3. ?>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8.    <title>ShoutBox</title>
  9.    <link rel="stylesheet" href="css/ShoutBox.css" type="text/css" />
  10.    <!--[if IE]>
  11.    <link rel="stylesheet" type="text/css" href="css/ShoutBox_ie6.css" />
  12.    <![endif]-->
  13.    
  14.    <script type="text/javascript" src="scripts/ShoutBox.js"></script>
  15.    <script type="text/javascript" src="scripts/<?php echo $cfg_shoutbox['ajax_lib']; ?>.js"></script>
  16.    <script type="text/javascript" src="scripts/ShoutBox_<?php echo $cfg_shoutbox['ajax_lib']; ?>.js"></script>
  17. </head>
  18. <body>
  19. <?php
  20. require_once('libs/ShoutBox.class.php');
  21. require_once('libs/ShoutBoxDBMysql.class.php');
  22.  
  23. if (empty($_SESSION['nick']))
  24.    echo '<a href="sblogin.php">Zaloguj</a> się, by mieć dostęp do większej ilości opcji.';
  25. else
  26.    echo '<a href="sblogout.php">Wyloguj</a>';
  27.    
  28. if (!empty($_SESSION['nick']) || $cfg_shoutbox['guest_read']){//jesli jestesmy zalogowani lub jestemy gosciem i goscie moga czytac
  29. ?>
  30.  
  31. <div id="sb_main">
  32.    <div id="sb_body"></div>
  33. <?php
  34. if (!empty($_SESSION['nick']) || $cfg_shoutbox['guest_write']){ //jesli jestesmy zalogowani lub goscie i goscie mogą pisac
  35.    echo '<form onsubmit="sb.sendMessage();return false;">';
  36.    if (empty($_SESSION['nick'])){
  37.        echo '<input type="text" id="sb_nick" maxlength="64" value="nick" onfocus="if (this.value=='nick')this.value='';"/>
  38.        <input type="text" id="sb_message" class="short" maxlength="255" value="wiadomość" onfocus="if (this.value=='wiadomość')this.value='';"/>';
  39.    }
  40.    else
  41.        echo '<input type="text" id="sb_message" maxlength="255" />';
  42.    echo '<input type="submit" id="sb_submit" value="Wyślij" />
  43.    </form>';
  44. }    
  45. ?>    
  46. </div>
  47.  
  48. <div id="sb_footer"><div id="sb_wait"></div><a href="http://nospor.pl/shoutbox.html">ShoutBox 1.2</a> &copy; Robert (nospor) Nodzewski</div>
  49.  
  50.  
  51.  
  52.    <script language="javascript">
  53. <?php    
  54.        echo "var sb = new ShoutBox('sb', $cfg_shoutbox[refresh_time],'$cfg_shoutbox[link]','$cfg_shoutbox[type]');";
  55. ?>        
  56.        sb.getMessages();
  57. /*sb.bind('message',{par1:'wartosc1', par2:'wartosc2'},function(data){
  58.    alert(data.par1 + ' ' + data.par2);
  59.    alert(data.params.actionName);
  60.    //jakis nasz kod
  61.    return true;    
  62.    });*/
  63.        
  64.    </script>
  65. <?php
  66. }
  67. ?>    
  68. </body>
  69. </html>
nospor
A czy wiesz wogóle jak sie korzysta ze smarty?
Bo jak wiesz, to masz z górki.
Jak nie wiesz, to najpierw sie dokształć, bo na dobrą sprawe duzej filozofii tu z tym shoutem i smartim nie ma smile.gif
Taifun
pewnie się biblioteki gryzą ale jakby ktoś miał jakąś wskazówkę to dziękuję.
nospor
1) za co pomogl? Przeciez nic nie zrobilem smile.gif Usuwam sobie to pomogl, bo tylko wprowadza wblad, ze niby problem juz rozwiązany

2) Na jakiej podstawie twierdzisz ze cos sie gryzie? Jakies bledy masz? Pokaz wogole jak ty to wstawiasz do smartiego.
Taifun
pokazuje się tylko okienko shoutboxa bez błędów ale nie ma wiadomości a wysyłanie nie działa...
nospor
no ale w jaki sposob to wkladasz do smartiego?
Zdajesz sobie sprawe, ze nie mozesz tego wlozyc dokladnie tak, jak masz to w przykladzie?
Taifun
wiem, robię tak. W templates np. chat.html wstawiam: (sciezki sa ok)
  1. <?php
  2. {php}
  3. require_once('cfg.inc.php');
  4. {/php}
  5.  
  6.  
  7.   <link rel="stylesheet" href="css/ShoutBox.css" type="text/css" />
  8.   <!--[if IE]>
  9.   <link rel="stylesheet" type="text/css" href="css/ShoutBox_ie6.css" />
  10.   <![endif]-->
  11.  
  12.   <script type="text/javascript" src="scripts/ShoutBox.js"></script>
  13.   <script type="text/javascript" src="scripts/ajax_lib.js"></script>
  14.   <script type="text/javascript" src="scripts/ShoutBox_ajaxlib.js"></script>
  15.  
  16. {php}
  17. require_once('libs/ShoutBox.class.php');
  18. require_once('libs/ShoutBoxDBMysql.class.php');
  19.  
  20. if (empty($_SESSION['nick']))
  21.   echo '<a href="sblogin.php">Zaloguj</a> się, by mieć dostęp do większej ilości opcji.';
  22. else
  23.   echo '<a href="sblogout.php">Wyloguj</a>';
  24.  
  25. if (!empty($_SESSION['nick']) || $cfg_shoutbox['guest_read']){//jesli jestesmy zalogowani lub jestemy gosciem i goscie moga czytac
  26. {/php}
  27.  
  28. <div id="sb_main">
  29.   <div id="sb_body"></div>
  30. {php}
  31. if (!empty($_SESSION['nick']) || $cfg_shoutbox['guest_write']){ //jesli jestesmy zalogowani lub goscie i goscie mogą pisac
  32.   echo '<form onsubmit="sb.sendMessage();return false;">';
  33.   if (empty($_SESSION['nick'])){
  34.       echo '<input type="text" id="sb_nick" maxlength="64" value="nick" onfocus="if (this.value=='nick')this.value='';"/>
  35.       <input type="text" id="sb_message" class="short" maxlength="255" value="wiadomość" onfocus="if (this.value=='wiadomość')this.value='';"/>';
  36.   }
  37.   else
  38.       echo '<input type="text" id="sb_message" maxlength="255" />';
  39.   echo '<input type="submit" id="sb_submit" value="Wyślij" />
  40.   </form>';
  41. }    
  42. {/php}  
  43. </div>
  44.  
  45. <div id="sb_footer"><div id="sb_wait"></div><a href="http://nospor.pl/shoutbox.html">ShoutBox 1.2</a> &copy; Robert (nospor) Nodzewski</div>
  46.  
  47.  
  48.  
  49.   <script language="javascript">
  50. {php}  
  51.       echo "var sb = new ShoutBox('sb', $cfg_shoutbox[refresh_time],'$cfg_shoutbox[link]','$cfg_shoutbox[type]');";
  52. {/php}    
  53. {literal}  
  54.       sb.getMessages();
  55. /*sb.bind('message',{par1:'wartosc1', par2:'wartosc2'},function(data){
  56.    alert(data.par1 + ' ' + data.par2);
  57.    alert(data.params.actionName);
  58.    //jakis nasz kod
  59.    return true;    
  60.    });*/
  61.       {/literal}
  62.   </script>
  63. {php}
  64. }
  65. {/php}
  66. ?>
decha-design
A ty wiesz w ogóle jak WYGLĄDA smarty? Bo ja osobiście nie sądzę abyś wiedział ... Wiesz do czego to służy, z czym to się je?

Masz oddzielać kod php od html a nie pakować wszystko na kupę i utrudniać sobie jeszcze robote znacznikami {php}

  1. <?php
  2. <script language="javascript">
  3. {php}  
  4.      echo "var sb = new ShoutBox('sb', $cfg_shoutbox[refresh_time],'$cfg_shoutbox[link]','$cfg_shoutbox[type]');";
  5. {/php}
  6. ?>
Poza tym, tego to nie skomentuje ...

Może poczytaj jakiś podstawowy kurs, albo coś http://www.smarty.net/manual/en/ bo tego nie da się poprawić, trzeba przepisać od nowa o.O'
nospor
@Taifun a bez podpinania tego pod smarty dziala ci? Byc moze podales złe dane do bazy, byc moze masz php4 zamiast php5, byc moze masz źle ustawione chmod.
Powinien ci sie pojawic plik shoutbox.log i tam powinny byc bledy. Jesli taki plik ci sie nie pojawil, tu ustaw chmod 777 na katalog, gdzie lezu shout

co do tego kodu w smarty: wrzucanie wszystkiego pomiedzy {php} to naprawde nienajlepszy pomysl. {php} powinno sie raczej unikac. Tutaj musisz uzyc smarty tak jak nalezy. A jak nalezy to napisali w swojej dokumentacji i przykładach winksmiley.jpg
Taifun
już działa. Ścieżki były źle.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.