2010-01-06 44 views
1

我無法通過基於預先創建的縮略圖生成縮略圖的imagecache來創建名爲'縮略圖'。我有一個cck image_field和一個自定義節點視圖。我使用的輸出我的圖片的代碼是:drupal cck image_field和imagecache

<?php foreach($node->field_comm_gallery as $galleryItem) { ?> 
    <?php print theme('imagecache', 'thumbnail', $galleryItem['filepath'], $alt = '', ''); ?> 
<?php } ?> 

我從下面得到的輸出是:

<img class="imagecache imagecache-thumbnail" title="" alt="" src="http://127.0.0.1/sites/default/files/imagecache/thumbnail/cedimages/3388564188_4427beac12_b_0.jpg"/> 

<img class="imagecache imagecache-thumbnail" title="" alt="" src="http://127.0.0.1/sites/default/files/imagecache/thumbnail/cedimages/3388564188_4427beac12_b_2.jpg"/> 

一切看起來正確的,但這些文件沒有該文件夾中存在。

我的問題:打印主題(..)調用應該在調用時生成縮略圖,還是創建/更新節點時生成的縮略圖?

我正在使用GD Image處理器並且沒有收到任何錯誤。

+0

您有沒有在顯示字段中爲節點設置預設,或在視圖中設置了預設? – googletorp 2010-01-06 21:44:19

+0

我已將顯示字段設置爲完整節點視圖的「縮略圖圖像」。我沒有使用視圖,而只是我的內容類型的自定義頁面tpl。如果我想使用顯示字段設置,我是否必須在php中調用不同的圖像? – ibuck 2010-01-06 22:13:37

+0

是的,ImageCache應該即時工作。 你在/ admin/settings/file-system上檢查了你的文件系統設置嗎? Imagecache需要一個可訪問的臨時文件夾。另外,你檢查你的Apache/PHP錯誤日誌的錯誤? – marcvangend 2010-01-06 22:39:05

回答

0

感謝您的幫助。它實際上原來是這個bug(http://drupal.org/node/540486#comment-2356560

,我不得不刪除從函數的參數&在imageapi.module

function imageapi_gd_image_resize(&$image, $width, $height) 

不知道爲什麼,但它似乎使用PHP 5時打破。 x

+0

我發現核心是相當不錯的(雖然我已經看到了幾個固定的問題),但許多contrib模塊仍然適用於PHP 5.3.x.請記住,Drupal 6核心仍然是PHP4兼容的,許多contrib模塊也是如此。發生該問題是因爲PHP 4要求函數聲明參數是通過引用傳遞的,並且PHP5更改爲默認情況下通過引用傳遞對象。 5.3在參考處理上更加嚴格,一些代碼在PHP5.2上運行良好,但不能兼容PHP4和PHP5.3 – gapple 2010-01-07 22:05:13

+0

如果你可以運行Drupal 6,我會建議堅持使用PHP5.2.x,因爲PHP5.3.x中幾個重要的差異。 Drupal 7將會放棄對PHP4的支持,所以在不同的PHP 5.x版本之間不應該有任何兼容性問題。 – gapple 2010-01-07 22:20:19

0

節點字段值中包含已經生成的顯示值。所以不需要使用主題功能。但該文件應該創建,無論。它看起來像問題是Drupals臨時文件夾或文件夾的權限。看看那些在文件設置。