2017-10-04 18 views
0

data-attributeを文字列としてアセンブルしてhtmlノードに配置すると、属性値が二重引用符で囲まれてしまいます。twig autoquote属性はありますか?

私は引用符で囲まれていないそれを残す場合:

{% set dataId = '' %} 
{% if id is defined %} 
    {% set dataId = ' ' ~ 'data-id=' ~ id %} 
{% endif %} 

とhtmlのノードに置く:

<div class="testDiv"{{ dataId }}> 

その後、data-attributeが正しく引用されています。

これは信頼性の高い動作ですか?なぜそれはそのように機能しますか?

+0

いいえ、この

は、文字列の引用符を含めます'twig'はそうではありません。表示されている出力は、ブラウザで作成されたクリーンなソースです。これが正常な動作ではないことを確認してください[ここ](https://twigfiddle.com/lylncu) – DarkBee

答えて

0

ブラウザでは引用符が固定されていることが判明しました。正しく出力パラメータにできるようにするために、1つのHAZ:エスケープ引用符を防止する

{% set dataId = ' ' ~ 'data-id="' ~ id ~ '"' %} 

そして使用rawフィルタ:

<div class="testDiv"{{ dataId | raw }}> 
関連する問題