Ich verwende image_style_url , um eine Miniaturansicht eines Bildes zu erhalten, das ich über die Administratoroberfläche hinzugefügt habe.
// $foo->field_picture['und'][0]['uri'] has value public://foo.jpg
image_style_url('foo-thumb', $foo->field_picture['und'][0]['uri']);
Die API gibt an, dass das Bild erstellt wird, wenn die URL angefordert wird. Beim Besuch der Seite wird das Bild jedoch nicht angezeigt (404). Die von der Funktion zurückgegebene URL scheint gut geformt zu sein, aber die Datei wurde nicht erstellt.
Der Ordner 'foo-thumb' befindet sich im öffentlichen Datenordner und die Dateiberechtigungen sollten in Ordnung sein. Ich habe versucht, den Bildcache zu leeren (drupal image-flush foo-thumb), aber immer noch keine Ergebnisse.
Irgendwelche Ideen?
image_style_create_derivative
die$style
Variable sollte Array$style = image_style_load('my_style');
$style
obwohlimage_style_load()
vor dem Übergangimage_style_create_derivative()
nach dem docs .Ein häufiger Fehler ist, dass URIs nicht richtig formatiert sind. Überprüfen Sie, ob Ihrem URI-Parameter das Präfix vorangestellt ist
public://
.Schlechte Praxis
Dadurch wird eine URL zum gestalteten Bild (mit Bildtoken) ausgegeben, es wird jedoch kein gestaltetes Bild generiert, wenn es noch nicht generiert wurde.
Gute Übung
Dies gibt eine gestaltete URL wie oben aus und generiert ein gestaltetes Bild, falls keines vorhanden ist.
quelle
Der Pfad des öffentlichen Dateisystems war falsch.
quelle
Eine andere Möglichkeit ist die Verwendung der Themenfunktion.
Anstatt die URL zurückzugeben, wird der HTML-Code für das IMG zurückgegeben.
quelle
Hier kann URL zum Erstellen von HTML verwendet werden
quelle
Stellen Sie sicher, dass Sie
foo-thumb
Stil haben, den Sie unter überprüfen könnenadmin/config/media/image-styles
.Die ersten Parameter von image_style_url ist ein Art - Name , kein Ordner - Namen.
quelle
ErrorDocument 404 /index.php
? Führen Sie Drupal über Ihrer Domain aus? Ein anderer Versuch ist die Installation des Imagemagick- Toolkits, aber ich sehe, dass Ihr Problem kein Problem durch das Image-Rendering von PHP ist.Wenn Sie beim Anzeigen des Bildes eine 404 erhalten, besteht die Möglichkeit, dass der Name des Bildstils nicht korrekt ist. In meinem Fall war der Stilname, der in Bildstilen angezeigt wurde, nicht der Computername des Stilnamens. Wenn Sie den Mauszeiger über den Stil bewegen, zeigt die URL den Computernamen des Stilnamens an. Ändern Sie ihn entweder in den Computernamen oder löschen Sie den aktuellen Namen und erstellen Sie ihn mit dem gewünschten Namen neu.
quelle