Estoy usando image_style_url para obtener una miniatura de una imagen que agregué a través de la interfaz de administrador.
// $foo->field_picture['und'][0]['uri'] has value public://foo.jpg
image_style_url('foo-thumb', $foo->field_picture['und'][0]['uri']);
La API establece que la imagen se creará cuando se solicite la URL. Sin embargo, al visitar la página, la imagen no se muestra (404). La URL devuelta por la función parece estar bien formada, pero el archivo no se ha creado.
La carpeta 'foo-thumb' está en la carpeta de datos públicos y los permisos del archivo deberían estar bien. Traté de vaciar el caché de imágenes (drupal image-flush foo-thumb) pero aún no hay resultados.
¿Algunas ideas?
image_style_create_derivative
de la$style
variable debe ser gama$style = image_style_load('my_style');
$style
embargo, he editado la respuesta para pasarimage_style_load()
antes de pasarimage_style_create_derivative()
según los documentos .Un error común es que los URI no están formateados correctamente. Verifique que su parámetro URI tenga el prefijo
public://
.Mala práctica
Esto genera una URL a la imagen con estilo (con token de imagen), pero no genera una imagen con estilo cuando no se ha generado previamente.
Buena práctica
Esto genera una URL con estilo, como la anterior, y genera una imagen con estilo si no existe ninguna.
fuente
La ruta del sistema de archivos públicos era incorrecta.
fuente
Otra opción es usar la función de tema.
En lugar de devolver la URL, devolverá el html para el img.
fuente
aquí puede usar url para crear html
fuente
Asegúrese de tener
foo-thumb
estilo, puede consultar enadmin/config/media/image-styles
.Los primeros parámetros de image_style_url es un nombre de estilo , no un nombre de carpeta .
fuente
ErrorDocument 404 /index.php
¿Está ejecutando Drupal sobre su dominio? Otro intento es instalar el kit de herramientas imagemagick, pero veo que su problema no es problema por el renderizado de imagen de php.Si recibe un 404 cuando intenta ver la imagen, es posible que el nombre del estilo de la imagen no sea correcto. En mi caso, el nombre del estilo que apareció en Image Styles no era el nombre de la máquina del nombre del estilo. Al pasar el cursor sobre el estilo, la url mostrará el nombre de la máquina del nombre del estilo. Cambie el nombre del equipo o elimine el actual y vuelva a crear con el nombre necesario.
fuente