2010-12-27 16 views
0

Ich konstruiere eine Lighbox-Galerie, die gerade mit FancyBox (http://fancybox.net) und ColorBox (http://colpowered.com/colorbox) experimentiert.lightbox dynamic image retrieval

Standardmäßig müssen Sie einen Link zu der großen Version des Bildes einfügen, damit die Lightbox es anzeigen kann. Ich möchte jedoch, dass die URLs der Bildverknüpfung auf ein Skript und nicht direkt auf die Bilddatei verweisen. So zum Beispiel, statt:

<a href="mysite/images/myimage.jpg"> 

ich tun mag:

<a href="mysite/photos/view/abc123"> 

Die oben genannte URL auf eine Funktion:

public function actionPhotos($view) 
{ 
    $photo=Photo::model()->find('name=:name', array(':name'=>$view)); 

    if(!empty($photo)) 
    { 
     $user=$photo->user; 

     $this->renderPartial('_photo', array('user'=>$user, 'photo'=>$photo, true)); 
    } 
} 

An einem gewissen Punkt in der Zukunft wird die Funktion Aktualisieren Sie auch die Anzahl der Ansichten des Bildes.

Jetzt funktioniert dieser Ansatz in einem Ausmaß - die meisten Bilder laden, aber einige nicht laden (der Leuchtkasten wird in einem fehlerhaften Zustand angezeigt). Ich denke der Grund dafür ist, dass es die Funktion nicht schnell genug verarbeitet. Wenn ich zum Beispiel auf die Schaltfläche "Weiter" klicke, muss ich zur URL gehen, die Funktion bearbeiten und die Antwort senden/ausgeben.

Weiß jemand, wie ich das richtig funktionieren kann?

Antwort

0

Ich habe "width" und "height" -Attribute auf meinen Bild-Tags hinzugefügt und es funktioniert jetzt gut.