Estou usando o image_style_url para obter uma miniatura de uma imagem que adicionei através da interface do administrador.
// $foo->field_picture['und'][0]['uri'] has value public://foo.jpg
image_style_url('foo-thumb', $foo->field_picture['und'][0]['uri']);
A API afirma que a imagem será criada quando a URL for solicitada. No entanto, ao visitar a página, a imagem não é exibida (404). O URL retornado da função parece estar bem formado, mas o arquivo não foi criado.
A pasta 'foo-thumb' está na pasta de dados públicos e as permissões do arquivo devem estar OK. Tentei liberar o cache da imagem (drupal image-flush foo-thumb), mas ainda não obtivemos resultados.
Alguma ideia?
image_style_create_derivative
da$style
variável deve ser conjunto$style = image_style_load('my_style');
$style
emboraimage_style_load()
antes de passar deimage_style_create_derivative()
acordo com os documentos .Um erro comum é que os URIs não estão formatados corretamente. Verifique se o seu parâmetro URI é prefixado
public://
.Má prática
Isso gera um URL para a imagem estilizada (com token de imagem), mas não gera uma imagem estilizada quando ela não foi gerada anteriormente.
Boa prática
Isso gera um URL estilizado, como o descrito acima, e gera uma imagem estilizada, se não houver nenhuma.
fonte
O caminho do sistema de arquivos público estava errado.
fonte
Outra opção é usar a função de tema.
Em vez de retornar o URL, ele retornará o html para o img.
fonte
aqui pode usar url para criar html
fonte
Verifique se você tem
foo-thumb
estilo, você pode conferir emadmin/config/media/image-styles
.Os primeiros parâmetros de image_style_url são um nome de estilo , não um nome de pasta .
fonte
ErrorDocument 404 /index.php
? Você está executando o Drupal na parte superior do seu domínio? Outra tentativa é instalar o imagemagick toolkit, mas vejo que seu problema não é problema pela imagem renderizada do php.Se você receber um 404 ao tentar visualizar a imagem, é possível que o nome do estilo da imagem não esteja correto. No meu caso, o nome do estilo exibido em Estilos de imagem não era o nome da máquina do nome do estilo. Ao passar o mouse sobre o estilo, o URL exibirá o nome da máquina do nome do estilo. Altere-o para o nome da máquina ou exclua a atual e recrie com o nome necessário.
fonte