2013-04-24 144 views
0

我在我的項目中使用了背景圖庫插件(http://buildinternet.com/project/supersized/),但是當我將它附加到我的wordpress網站時,發現了一個我無法處理的問題。畫廊通過JavaScript調用圖像。功能是這樣的:Javascript函數調用php foreach。可能嗎?

<script type="text/javascript"> 
    jQuery(function($){ 
     $.supersized({ 
      slides : [ 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-1.jpg'}, 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-2.jpg'}, 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-3.jpg'} 
       ] 
     }); 
    }); 
</script> 

問題是,我需要顯示的圖像取自wordpress數據庫。在一個JavaScript內,我不知道它是如何工作的。有沒有任何方法使PHP的電話?我沒有插件庫插件調用圖像的PHP foreach請求是這樣的:

<?php foreach ($images as $image) : ?> 
    <img src="<?php echo $image->thumbnailURL ?>" /> 

    <?php if ($image->hidden) continue; ?> 
    <?php if ($gallery->columns > 0 && ++$i % $gallery->columns == 0) { ?> 

    <?php } ?> 
<?php endforeach; ?> 

感謝您的任何幫助。

回答

1

你可以把這個PHP代碼回聲這個JavaScript

<script type="text/javascript"> 
    jQuery(function($){ 
    $.supersized({ 
     slides : [ 

       <?php $out=array(); 
        foreach ($images as $image){ 
         if ($image->hidden) continue; 
         $out[]="{image :'".$image->thumbnailURL."'}"; 

        } 
        echo implode(",",$out);?> 
      ] 
    }); 
    }); 
    </script> 

,或者您可以使用JSON這是因爲幻燈片輸入是JSON看到這個頁面,這個How to make a JSON call to a url?

+0

謝謝,穆罕默德。在你的代碼中只有一個「丟失」,就在「{image: – akplebani 2013-04-24 18:34:42

1

所有你的網頁正在做的是準備一個最終答案發送到客戶端瀏覽器閱讀。爲了準備這個答案,你可以使用服務器端代碼和客戶端代碼,不管它們如何混合在一起。如果你需要腳本定義中的數據庫元素,你可以這樣做:

<script type="text/javascript"> 
// client-side 
<?php 
// server-side 
?> 
// client-side 
</script>