Bir alanın görüntü yolunu almak istiyorum. Bir düğümdeyim ve inline css'de arka plan görüntüsü olarak koymak için imge URL'sine ihtiyacım var. Çözümü bulamıyorum. Bana yardımcı olabilir misiniz?Drupal 7 Resim alan yoluna bakın
cevap
bir resmin sadece yol almak için: file_create_url (on
file_create_url($node->field_image['und'][0]['uri']);
fazla bilgi) burada bulunabilir: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_create_url/7
URI'sinden bir görüntü stili kullanılarak oluşturulmuş bir görüntünün yolunu kullanmak için aşağıdakileri kullanın:
image_style_url üzerindedaha fazla bilgi() burada bulunabilir: http://api.drupal.org/api/drupal/modules!image!image.module/function/image_style_url/7 korkarım
Ben bazen bu kullanmak: Bu URI var dan
$node = node_load($nid);
$img_url = $node->field_userimage['und'][0]['uri'];
<img src="<?php print image_style_url($style, $img_url) ?>" />
Ayrıca [theme_image_style()] (http://api.drupal.org/api/drupal/modules--image--image.module/function/theme_image_style/7) yerine hard- tema işlevini kullanarak etiketleri – Laxman13
kodlama çok tercih edilir: 'tema ('image_style', dizi ('style_name' => 'name', 'yol' => $ node-> field_userimage ['und'] [ 0] ['uri'], 'alt' => 'Alt yazı')) – Clive
Güzel görünüyor. Bu işlevleri kullanmaya başladım. – Kristoffer
, yukarıdaki çözümlerin hiçbiri doğru değildir. Drupal standartlarını takip etmiyorlar. Burada
// field_video_image is the name of the image field
// using field_get_items() you can get the field values (respecting multilingual setup)
$field_video_image = field_get_items('node', $node, 'field_video_image');
// after you have the values, you can get the image URL (you can use foreach here)
$image_url = file_create_url($field_video_image[0]['uri']);
Diğer ayrıntılar: http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
Yukarıdaki kod mükemmel. Genel olarak, çoğu insan yukarıda açıklandığı gibi bunu yapmaya gerek duymaz, ancak Drupal standartlarına uyan ve her şey değiştiğinde veya herhangi bir zamanda kırılmayacak kod yazmak istiyorsanız, bunun ne kadar önemli olduğu vurgulanamaz. Koddaki öğelere atıfta bulunarak $ object ['und'] [0] ['element'] son derece kötü bir uygulamadır. Her zaman field_get_items veya eşdeğer kullanın. –
Ayrıca Image URL Formatter modülünü kullanabilirsiniz.
Bonus: Sadece URL almak için saha biçimini değiştirmek için izin verir buna da Görünümler çalışır:
görüntü tarzı url almak için:
$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);
hayatımı kurtardı. Teşekkürler! –
Bu, çok dilli alanları dikkate almaz. Aşağıdaki @Gergely ile cevaba bakınız. Sitenizin çevirileri desteklemeye "asla" ihtiyacı olmayacağını düşünüyorsanız bile, lütfen bunu yapmayın. Daha fazla bilgi için, bkz. Http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way –
harika ... yardımcı oldu –