2017-03-02 10 views
0

TWIGテンプレートでLiipimaginebundleを使用してサムネイルを表示する際に問題が発生しました。 index.html.twigに私が広告に関連したサムネイルを表示するためにFORループを使用していLiipimaginebundle - FORループの画像

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

と:

私は、インデックスをレンダリングしています。

{% 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店現在の広告に関連した写真へのパス - 例えばは:

アン:

/uploads/2.png 

"IMG" パラメータを使用している間、私は例外を持っていますテンプレートのレンダリング中に例外がスローされました(パス "liip_imagine_filter"の "Parameter" path "は対応するURLを生成するために"。

この場合、パスを定義する正しい方法は何ですか。

+0

あなたは私たちに 'ad.mainPhoto'の種類と内容を表示することができますか? – Veve

+0

@Veve ad.mainPhotoはパスを含む文字列です。 /uploads/2.png – mmateja

答えて

3

あなたはassetを追加し、それが動作するはずです、imagine_filterに文字列としてのみパスを渡している。

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

ありがとうございました!それは私の悪かった...残念なことに、私は "mainPhoto"なしで1つの "広告"を持っていた...それは例外の理由だった。 BTW img | imagine_filter( 'thumb')もうまくいきます:) – mmateja

+0

異なる資産環境があるまでは動作します。 (CDN、静的ファイル用のサーバー、...)。私はあなたのコメントの最初の部分に基づいてmainPhotoの検証を追加しました。 – Veve

関連する問題