私はtwigを使用して、反応の少ないウェブサイトを作成し、配列から複数のページに渡って写真を一覧表示します。フロントエンドでは、ブートストラップを使用して、各デバイスのきれいな行に表示するようにリストしています。ビューポートサイズに基づいた枝でif/elseを使用する
<div class="row-fluid">
{% for index, photo in photos %}
<div class="col-xs-6 col-sm-4">
{% if (index + 1) % 2 == 0 %}
</div>
<div class="row-fluid">
{% endif %}
{% endfor %}
</div>
</div>
携帯端末に2つ、大きいデバイスに3つあれば、これをリストにして新しい行を開始します。私の質問はこの行に基づいています。
{% if (index + 1) % 2 == 0 %}
画面サイズに基づいて、私は、ビューポートの行に多くの製品を表示するための一定の幅であれば、より高い値に2
を変更できるようにしたいです。私はこれを行うための解決策を考えることができません。私はAjaxを使って画面のサイズが変更されたときにビューポートの幅を渡すことができることを知っていますが、私はtwig if文を自動的に更新するようにその値を設定する方法を示していません。
ご協力いただければ幸いです。
これは 'twig'では不可能です。 'twig'は' PHP'に ''コンパイルされ '' PHP''はサーバサイドに解釈されるので、メディアクエリを使って行ごとの項目数を変更する必要があります – DarkBee
Zurb Foundationのようにブロックグリッドを使用する必要があります。 Bootstrap:https://github.com/JohnnyTheTank/bootstrap-block-grid – malcolm
@DarkBee携帯電話のユーザーエージェントを検出したり、JavaScriptでCookieを設定したりすることは技術的に可能です。 – malcolm