Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SMARTY & JS] Dwie sondy na jednej stronie
Foxhunt
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.02.2009

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


Witam

Mam swój serwis oparty na SMARTach, na stronie głównej mam wstawioną sondę i wszystko działa jak należy. Teraz chciałbym tę samą sondę wstawić również na podstronach, np. z jakimś news'em. Pomyślałem nic trudnego. Na stronie głównej owa sonda osadzona jest w poniższy sposób:

  1. {include file='glowny/sonda.tpl'}


Natomiast plik sonda.tpl wygląda następująco:

  1. <script type="text/javascript">
  2.  
  3. window.addEventListener=function(){ldelim}
  4.  
  5. W_PobierzSonde({$wezel.idc},'w_div_sonda',175,4,'l','f', "wyniki", "głosuj", "ankieta", "");
  6.  
  7. {rdelim}
  8.  
  9. </script>


No więc chciałem aby owa sonda wyświetlała się również na podstronie z newsem, więc do pliku news.tpl w odpowiednie miejsce wstawiłem sobie tylko ten kod:

  1. {include file='glowny/sonda.tpl'}


I powinna się na mój rozum wyświetlać teraz zarówno na stronie głównej i na podstronie z newsem. Niestety nie działa. Ta pierwsza sonda na stronie głównej wyświetla się dalej bez zarzutu niestety ta druga sonda na podstronie już nie. Chwile widać jak się ona ładuje, kończy się ładować i jest pusta przestrzeń nie ma pytania, odpowiediz ani nic. Po prostu sonda się nie załadowała.

Ogólnie nie znam się na tym za bardzo, co nieco próbowałem jednak z tym powalczyć, czytałem troche na necie o javasript w smartach i doczytałem się znaczników {literal} jednak to nic nie pomogło.

Potrafi mi ktoś pomóc, aby jedna i ta sama sonda wyświetlała się w dwóch miejscach. A może to jest po prostu niemożliwe?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Foxhunt
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.02.2009

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


Zdaje się, że to będzie to:

  1. function W_PobierzSonde(idw, div, szer_tab, wys_pkt,rodz_wyn, sonda, wyn_text, glos_text, sonda_text, ankieta_text, p, s){
  2.  
  3. var pyt=0;
  4.  
  5. if(p!=undefined){
  6.  
  7. var form_sonda=document.getElementById(p);
  8.  
  9. for(i=0; i<form_sonda.glos.length; ++i){
  10.  
  11. if(form_sonda.glos[i].checked){
  12.  
  13. pyt=i+1;
  14.  
  15. }
  16.  
  17. }
  18.  
  19. }
  20.  
  21. var obraz=new Image();
  22.  
  23. obraz.src="/szablon/sonda_loader.gif";
  24.  
  25. var wpis="<img id='w_img_sonda_load' src='"+obraz.src+"' align='middle' alt='' />";
  26.  
  27. W_PiszDiv(div, wpis);
  28.  
  29. var oXmlHttp=zXmlHttp.createRequest();
  30.  
  31. oXmlHttp.open("get","/serwery_ajax_front/serwer_sondy/serwer_sondy.php?idw="+idw+"&p="+pyt+"&s="+s, true);
  32.  
  33. oXmlHttp.onreadystatechange=function(){
  34.  
  35. if(oXmlHttp.readyState==4){
  36.  
  37. if(oXmlHttp.status==200){
  38.  
  39. var odpowiedz=oXmlHttp.responseText.split("||");
  40.  
  41. var idx_obr;
  42.  
  43. var glos;
  44.  
  45. var liczw=0;
  46.  
  47. var liczp=0;
  48.  
  49. var nazwa="";
  50.  
  51. var opis="";
  52.  
  53. var ids="";
  54.  
  55. var wyniki=Array();
  56.  
  57. var pytania=Array();
  58.  
  59. for(x in odpowiedz){
  60.  
  61. if(x<=3){
  62.  
  63. if(x==0)
  64.  
  65. nazwa=odpowiedz[x];
  66.  
  67. else if(x==1)
  68.  
  69. opis=odpowiedz[x];
  70.  
  71. else if(x==2)
  72.  
  73. ids=odpowiedz[x];
  74.  
  75. else
  76.  
  77. glos=odpowiedz[x];
  78.  
  79. }
  80.  
  81. else{
  82.  
  83. if(x%2==0){
  84.  
  85. pytania[liczw]=odpowiedz[x];
  86.  
  87. ++liczp;
  88.  
  89. }
  90.  
  91. else{
  92.  
  93. wyniki[liczw]=odpowiedz[x];
  94.  
  95. ++liczw;
  96.  
  97. }
  98.  
  99. }
  100.  
  101. }
  102.  
  103. var i=0;
  104.  
  105. var zaw="<h4>"+ankieta_text+"</h4><div class='sonda1'>";
  106.  
  107. if(glos==1 || sonda=="w"){
  108.  
  109. zaw+="<h5>"+nazwa+"</h5><table width='"+szer_tab+"'>";
  110.  
  111. var suma=0;
  112.  
  113. var max=0;
  114.  
  115. for(i=0; i<wyniki.length; ++i){
  116.  
  117. suma+=parseInt(wyniki[i]);
  118.  
  119. if(parseInt(wyniki[i])>max)
  120.  
  121. max=parseInt(wyniki[i]);
  122.  
  123. }
  124.  
  125. var szer=0;
  126.  
  127. for(i=0; i<wyniki.length; ++i){
  128.  
  129. szer=Math.floor((wyniki[i]/max)*100);
  130.  
  131. szer=Math.floor(szer*szer_tab/100);
  132.  
  133. if(rodz_wyn=="p"){
  134.  
  135. ilosc=Math.floor(wyniki[i]/suma*100);
  136.  
  137. ilosc+="%";
  138.  
  139. }
  140.  
  141. else{
  142.  
  143. ilosc=wyniki[i];
  144.  
  145. }
  146.  
  147. zaw+="<tr><td align='left'>"+pytania[i]+" ("+ilosc+")</td></tr>";
  148.  
  149. zaw+="<tr><td align='left'><img src='/szablon/point.gif' width='"+szer+"' height='"+wys_pkt+"'></td></tr>";
  150.  
  151. zaw+="<tr><td align='left'> </td></tr>";
  152.  
  153. }
  154.  
  155. if(glos!=1){
  156.  
  157. zaw+="<tr><td align='left'><span class='wiecej_sonda'><a href=\"java script:W_PobierzSonde("+idw+",'"+div+"',"+szer_tab+","+wys_pkt+",'"+rodz_wyn+"', 'f', '"+wyn_text+"', '"+glos_text+"', '"+sonda_text+"', '"+ankieta_text+"')\">&laquo;&nbsp;"+sonda_text+"</a></td></tr>";
  158.  
  159. }
  160.  
  161. zaw+="</table>";
  162.  
  163. }
  164.  
  165. else{
  166.  
  167. zaw+="<h5>"+nazwa+"</h5><form id='sonda_form_"+ids+"'><table width='"+szer_tab+"'>";
  168.  
  169. for(i=0; i<pytania.length; ++i){
  170.  
  171. var nrp=i+1;
  172.  
  173. zaw+="<tr><td class='radio' valign='top'><input type='radio' name='glos' value='"+nrp+"'></td><td>"+pytania[i]+"</td></tr>";
  174.  
  175. }
  176.  
  177. zaw+="<tr><td><div class='wiecej_sonda'><a href=\"java script:W_PobierzSonde("+idw+",'"+div+"',"+szer_tab+","+wys_pkt+",'"+rodz_wyn+"','w', '"+wyn_text+"', '"+glos_text+"', '"+sonda_text+"', '"+ankieta_text+"')\">"+wyn_text+"&nbsp;&raquo;</a></span></td>";
  178.  
  179. zaw+="<td><br /><input style='float: right;' type='submit' class='submit' value='"+glos_text+"' onclick=\"W_PobierzSonde("+idw+",'"+div+"',"+szer_tab+","+wys_pkt+",'"+rodz_wyn+"','"+sonda+"', '"+wyn_text+"', '"+glos_text+"', '"+sonda_text+"', '"+ankieta_text+"' ,'sonda_form_"+ids+"',"+ids+");\"></td></tr>";
  180.  
  181.  
  182.  
  183. zaw+="</table></form>";
  184.  
  185. }
  186.  
  187. zaw+="</div>";
  188.  
  189. if(ids>0)
  190.  
  191. W_PiszDiv(div, zaw);
  192.  
  193. else
  194.  
  195. W_PiszDiv(div, "");
  196.  
  197. }
  198.  
  199. else{
  200.  
  201. }
  202.  
  203. }
  204.  
  205. }
  206.  
  207. oXmlHttp.send(null);
  208.  
  209.  
  210.  
  211. }
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: 15.10.2025 - 16:38