2012-10-02 55 views
1

我在Drupal 7中有一個呈現節點隊列的視圖。現在,我希望每個節點都可以使用標題,文本摘要和圖像進行渲染,前提是圖像在節點主體字段內可用。Drupal:從節點body字段中的第一個img-tag創建視圖圖像字段

我想創建一個使用正則表達式就像一個模塊:

/<img.+src="([^"]+)/i 

...找到該節點的體領域的拳頭圖像並將其顯示爲一個視場和調用字段類似於「內容:第一圖像」。

我也想有圖像樣式選項等。可用於已有的圖像字段。

我應該如何創建一個模塊,我應該使用哪個鉤子使該字段可用於視圖?

+1

我不確定如何去創建模塊,但這裏有另一種可能的方法:將節點的body域的2個實例添加到視圖中,然後編輯第二個實例的模板文件並使用您的正則表達式來呈現圖像而不是該模板文件中的內容。 –

回答

0

我會這樣做使用字段模板。 創建一個正文字段,然後在其上應用一個模板。例如:

<?php 
preg_match_all("/<img[^']*?src=\"([^']*?)\"[^']*?>/", $output, $image); 

if(isset($image[1][0]) && trim($image[1][0])!='') { 
    echo theme('image_style', array('style_name' => 'Large', 'path' => $image[1][0])); 
} 
?> 

您也可以使用顯示套件代碼字段實現相同的結果。

相關問題