2017-03-02 1 views
0

Ich habe ein Problem mit der Darstellung von Thumbnails mit Liipimaginebundle in TWIG-Vorlage.Liipimaginebundle - Bilder in FOR Schleife

Ich bin Rendering einen Index:

return $this->render('ad/index.html.twig', array(
     'ads' => $ads, 
    )); 

und in index.html.twig I FOR-Schleife bin mit Thumbnails Anzeigen im Zusammenhang zu zeigen.

{% for ad in ads %} 
    //with parameter - doesn't work 
    {% set img = ad.mainPhoto %} 
    <img src="{{ img | imagine_filter('thumb') }}" /> 

    //working fine 
    <img src="{{ asset('/uploads/2.png') | imagine_filter('thumb') }}" /> 
{% endfor %} 

Mainphoto speichert einen Pfad zum Foto, um aktuelle Anzeige in Verbindung stehend - zum Beispiel:

/uploads/2.png 

Während eines "img" Parameter verwendet wird, habe ich eine Ausnahme bekomme:

Eine Ausnahme wurde beim Rendern einer Vorlage ausgelöst ("Parameter" path "für route" liip_imagine_filter "muss übereinstimmen". + "(" ")), um eine entsprechende URL zu erzeugen.").

Wie kann man den Pfad in diesem Fall richtig definieren?

+0

Können Sie uns zeigen, die Art und den Inhalt der 'ad.mainPhoto'? – Veve

+0

@Veve ad.mainPhoto ist eine Zeichenfolge mit Pfad z.B. /uploads/2.png – mmateja

Antwort

3

Sie nur den Pfad als String an den imagine_filter vorbei, fügen Sie den asset und sollte es funktionieren:

{% for ad in ads %} 
    {% set img = ad.mainPhoto|default %} 
    {% if img <> "" %} 
     <img src="{{ asset(img) | imagine_filter('thumb') }}" /> 
    {% endif %} 
{% endfor %} 
+0

Danke für Hilfe! Es war meine schlechte ... Leider hatte ich eine "Anzeige" ohne "mainPhoto" ... das war der Grund der Ausnahme. BTW img | imagine_filter ('thumb') funktioniert auch :) – mmateja

+0

Es funktioniert ... bis Sie verschiedene Asset-Umgebungen haben. (Denken CDN, Server für statische Dateien, ...). Ich habe eine Bestätigung für mainPhoto basierend auf dem ersten Teil Ihres Kommentars hinzugefügt. – Veve

Verwandte Themen