Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js][jquery][smarty]problem z dzialaniem slideshow, po przeniesieniu js do szablonu
piasekps
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 26.03.2007

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


czesc wszystkim

mam nadzieje ze w dobrym dziale umiescilem ten text

korzystam z tego przykladu slideshow
do utworzenia przegladania zdjec w galerii, wszystko ladnie dziala dopoki kod js
mam w osobnym pliku js, niestety takie rozwiazanie wymusza u mnie stala liczbe zdjec wyswietlanych
postanowilem wiec delikatnie zmienic ten problem

poniewaz cala strone buduje z pomoca smarty wiec stwierdzilem ze najlepiej bedzie poprostu przesylac
liczbe fotek za pomoca zmiennej [-nr-]
dlatego przenioslem caly kod js do szablonu i tam wstawiam zmienna

i sprawa wyglada tak ze po wrzuceniu js do szablonu skrypt przestal dzialac
i nie mam pojecia dlaczego, zrodlo strony pokazuje ze zmienna zostala wprowadzona poprawnie
ale niestety nie dziala, pojawily sie miniaturki (drugi foreach w kodzie), ale nie ma glownych zdjec
nacisniecie miniaturek tez nie dziala,

dokladnie to samo dzieje sie gdy wkleje js ze stala wartoscia 'nr'

odrazu uprzedzam komentarze wiem ze standardowo smarty korzysta z {} ale zmienilem sobie
na [--] wiec nie w tym problem

bede wdzieczny za jaka kolwiek pomoc, uprzedzam ze nie jestem orlem z js

pozdrawiam
p.s.

  1. <script type="text/javascript">
  2.  
  3. //=============== art gellery ================================
  4. var $$ = $.fn;
  5.  
  6. $$.extend({
  7. SplitID2 : function()
  8. {return this.attr('id').split('-').pop();},
  9.  
  10. Slideshow2 : {
  11. Ready : function()
  12. {
  13. $('div.ops')
  14. .click(
  15. function() {
  16. $$.Slideshow2.Interrupted = true;
  17.  
  18. $('div.photoBox').hide();
  19. $('div.ops').removeClass('opsActive');
  20.  
  21. $('div#photo-' + $(this).SplitID()).show()
  22. $(this).addClass('opsActive');
  23. }
  24. );
  25.  
  26. this.Counter = 1;
  27. this.Interrupted = false;
  28.  
  29. this.Transition2();
  30. },
  31.  
  32. Transition2 : function()
  33. {
  34. if (this.Interrupted)
  35. {return;}
  36.  
  37. this.Last = this.Counter - 1;
  38.  
  39. if (this.Last < 1)
  40. {this.Last = [-$nr-];}
  41.  
  42. $('div#photo-' + this.Last).fadeOut(
  43. 'fast',
  44. function() {
  45. $('div#phcon-' + $$.Slideshow2.Last).removeClass('opsActive');
  46. $('div#phcon-' + $$.Slideshow2.Counter).addClass('opsActive');
  47. $('div#photo-' + $$.Slideshow2.Counter).fadeIn('fast');
  48.  
  49. $$.Slideshow2.Counter++;
  50.  
  51. if ($$.Slideshow2.Counter > [-$nr-])
  52. {$$.Slideshow2.Counter = 1;}
  53. }
  54. );
  55. }
  56. }
  57. });
  58. $(document).ready(
  59. function() {$$.Slideshow2.Ready();}
  60. );
  61. //-->
  62. <div id="bph">
  63. [-foreach from=$photo key=k item=v name=min-]
  64. <div id="photo-[-$smarty.foreach.min.iteration-]" class="photoBox">
  65. <img src="[-$v.photo-]" title="[-$v.ph_descrb-]" alt="[-$v.ph_descrb-]" />
  66. <div class="phTxt">
  67. <div class="fot">Fot. <span> [-$v.ph_autor-]</span></div>
  68. <div class="dsc">[-$v.ph_descrb-]</div>
  69. </div><!-- phTxt -->
  70. </div><!-- photoBox -->
  71. [-/foreach-]
  72.  
  73. <div id="phControl">
  74. [-foreach from = $photo key = k item = v name = min-]
  75. <div class="ops" id="phcon-[-$smarty.foreach.min.iteration-]">
  76. <img src="[-$v.photo-]" title="[-$v.ph_descrb-]" alt="[-$v.ph_descrb-]" />
  77. </div><!-- ops -->
  78. [-/foreach-]
  79. </div><!-- phControl -->
  80. </div><!-- bph -->
  81. &nbsp;


Ten post edytował piasekps 26.08.2009, 13:15:10
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
i sprawa wyglada tak ze po wrzuceniu js do szablonu skrypt przestal dzialac

Google: {literal}
Go to the top of the page
+Quote Post
piasekps
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 26.03.2007

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


niestety {literal} ani nawet {ldelim},{rdelim}
nie pomoglo rozwiazac problemu

jakies jeszcze pomysly?

pozdrawiam
p.s.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż, jak to zrobiłeś.
Go to the top of the page
+Quote Post
piasekps
post
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 26.03.2007

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


przyklad z literal
  1. <script type="text/javascript">
  2. [-literal-]
  3. js code
  4. [-/literal-]

sprawdzalem tez opcje druga
  1. [-literal-]
  2. <script type="text/javascript">
  3. (...) js code (...)
  4. [-/literal-]


oraz z ldelim i rdelim
  1. if (this.Last < 1)
  2. {this.Last = [-ldelim-][-$nr-][-rdelim-];}
  3.  
  4. $('div#photo-' + this.Last).fadeOut('fast', function() {
  5. $('div#phcon-' + $$.Slideshow2.Last).removeClass('opsActive');
  6. $('div#phcon-' + $$.Slideshow2.Counter).addClass('opsActive');
  7. $('div#photo-' + $$.Slideshow2.Counter).fadeIn('fast');
  8. $$.Slideshow2.Counter++;
  9.  
  10. if ($$.Slideshow2.Counter > [-ldelim-][-$nr-][-rdelim-];)
  11. {$$.Slideshow2.Counter = 1;}


Ten post edytował piasekps 27.08.2009, 16:21:11
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
[-literal-]

To na pewno ma tak być? Mam wątpliwości.
Go to the top of the page
+Quote Post
piasekps
post
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 26.03.2007

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


Cytat(erix @ 27.08.2009, 18:01:02 ) *
Kod
[-literal-]

To na pewno ma tak być? Mam wątpliwości.



te znaczniki sa uzywane przeze mnie normalnie wstaw sobie {literal} zamiast [-literal-]
mnie sie z takimi latwiej pracuje, bo wczesniej mi sie poprostu mylilo ze to zwykly tekst

wkoncu mi zadzialalo,

ten sam kod mam w 2 miejscach w osobnym pliku .js ze stala wartoscia 2
oraz w szablonie ze zmienna [-$nr-] gdzie cod js jest pomiedzy literal
a sama zmienna pomiedzy ldelim i rdelim,

jednak jak ktos wie jak zrobic to 'ladniej' to czekam

szkoda ze nie moge sobie dodac 'pomogl' (IMG:style_emoticons/default/winksmiley.jpg)
pozdrawiam
p.s.

Ten post edytował piasekps 30.08.2009, 16:36:55
Go to the top of the page
+Quote Post

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: 23.10.2026 - 23:46