[英]Drupal: where to find the image style applied to on an image field? Efficiently find the URL of styled images?
[英]Drupal 7 image_style_url not creating the styled image
我有以下代碼在最新的drupal(v7.59)上測試image_style_url()
<img src=“<?= file_create_url($fileuri); ?>” />
<img src=“<?= image_style_url(“medium”, $fileuri); ?>” />
file_create_url()可以正確顯示原始圖像,而image_style_url()只能提供樣式圖像的url,而不能在樣式圖像文件夾中創建任何樣式的圖像。
public://和/ tmp directriea處於777權限設置中,因此它與權限問題無關。
有人可以告訴我我的drupal怎么了嗎?
似乎您必須先創建派生圖像。 通常,通過圖像字段上傳上傳圖像時,這會自動發生。 但是,自動派生創建可能會在文件字段上載時,使用完全不受Drupal管理的其他圖像時,或者在已上載圖像后添加圖像樣式時被跳過。
看看image_style_create_derivative($style, $source, $destination)
。 image_style_load('MYSTYLE')
出注釋以及$style
必須是image_style_load('MYSTYLE')
返回的數組。
根據圖像樣式創建新的圖像派生類。
唯一尚待解決的問題是如何在調用該函數之前先檢查派生類是否已存在。 也許您可以先檢查file_exists(image_style_path($style_name, $file_uri))
返回什么。
Drupal沒問題。 除非有人訪問使用該樣式的列表,否則不會實際創建衍生圖像。
示例:創建新節點並在其上上傳圖像。 原始圖像位於文件夾中。 但是,例如,如果您使用預告片圖像樣式,並且轉到“預告片”文件夾,則在有人訪問使用“預告片”圖像樣式的頁面之前,不會在其中創建圖像。 您可以輕松地在干凈的Drupal上進行測試。 基本上,該圖像是在HTTP請求中即時創建的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.