2009-06-03 21 views
5

Próbuję użyć jQuery PrettyPhoto iz jakiegoś powodu nie przechodzę przez zmienną id. Jeśli ktoś natknął się na ten problem wcześniej i zna rozwiązanie, byłoby fantastycznie! Oto kod:jQuery PrettyPhoto przekazanie identyfikatora do iframe

<a href="/store-item-details?id=5&iframe=true&width=800&height=530" 
    rel="prettyPhoto[iframes]" 
    title=""> 
    <img src="/images/store/thumbs/'.$item->image.'" 
     alt="'.$item->name.'" 
     width="100" 
     border="0" /> 
</a> 

Oto link (z ładną zdjęcie, kliknij na jedną z miniaturek)

http://www.photographicpassions.com/shop?view=products&category=1

i tutaj jest bezpośredni związek z tagiem:

http://www.photographicpassions.com/store-item-details?id=1&iframe=true&width=800&height=530

Proszę o pomoc! :)

Odpowiedz

6

Twój problem leży w samym prettyPhoto. Wtyczka zakłada (w przypadku iframe), że nie ma innych ważnych parametrów w tym url i usuwa wszystkie z nich po przeanalizowaniu wysokości i szerokości.

Oto fragment z nieskonczonej wersji jquery.prettyPhoto.js. Zwróć uwagę na trzeci wiersz, w którym usuwa wszystko po znaku zapytania w movie_url.

}else if(pp_type == 'iframe'){ 
     movie_url = $caller.attr('href'); 
     movie_url = movie_url.substr(0,movie_url.indexOf('?')); 

     pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>'; 
    } 

Nie jestem pewien, jak bardzo się czujesz, ale jeśli skomentujesz tę trzecią linię, zadziała ona dla Ciebie. (Prawdopodobnie będziesz chciał, aby ponownie Minify potem zobaczyć: http://fmarcia.info/jsmin/test.html)

}else if(pp_type == 'iframe'){ 
     movie_url = $caller.attr('href'); 
     // movie_url = movie_url.substr(0,movie_url.indexOf('?')); // commented out to allow other attributes to be passed along. 

     pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>'; 
    } 
Powiązane problemy