logo
28.11.2020 15:51
1
Ahoj všem,

rád bych skrze komponentu v pluiginu RainBlog docílil toho, že by se mi zobrazoval první (nejnovější článek) v jiné podobě, než ty starší (ty by byli vizuálně všechny stejný)

zkusil jsem toto - (ale to pochopitelně nefunguje) Napadlo mi tam použít nějakou definici (něco jako, tady se zobrazuje jen poslední článek a tady ty ostatní krom prvního.. ale nic takového jsem v dokumentaci nenašel, nevěděl by prosím někdo jak na to?

Kód:
 {% set posts = __SELF__.posts %}       
        <section id="uvodniblog" class="divider">
    <div class="bt_feature_wrapper"> 
<!-- jen poslední pulikovaný článek -->
   {% for post in posts %}
    <div class="bt-feature-content bt_feature_main">
                        {% for image in post.featured_images|slice(0, 1) %} <div class="bt_item_img" style="background-image: url('{{ image.path }}');"></div> {% endfor %}
                        <a href="{{ post.url }}" class="bt_item_link" tabindex="-1"></a>
                        
                        <div class="slide_text_box">                    
                            <div class="meta-info-bg-color" style="color:w">
                                <a href="#" tabindex="-1" style="color:white;">..</a>
                            </div>
                            <h3>
                                <a href="{{ post.url }}" tabindex="-1">{{ post.title }}</a>
                            </h3>                                                                  
                             <div class="meta-info">                            
                                <ul>
                                    <li class="post-date">..</li>
                                </ul>
                            </div>
                        </div>
                    </div> {% endfor %} 
    
<!-- ostatní články -->   
  {% for post in posts %}
    <div class="bt-feature-content bt-feature-small">
                        {% for image in post.featured_images|slice(0, 1) %} <div class="bt_item_img" style="background-image: url('{{ image.path }}');"></div>{% endfor %}
                        <a href="{{ post.url }}" class="bt_item_link" tabindex="-1"></a>
                        
                        <div class="slide_text_box">                    
                            <div class="meta-info-bg-color">
                                <a href="#" tabindex="-1" style="color:white;">..</a>
                            </div>
                            <h3>
                                <a href="{{ post.url }}" tabindex="-1">{{ post.title }}</a>
                            </h3> 
    
                            <div class="meta-info">                            
                                <ul>
                                    <li class="post-date">..</li>
                                </ul>
                            </div>                                                                 
                        </div>                     
                    </div>  {% endfor %} 
                    </div>
                    </div></section>

Co se právě děje na Webtrhu?

28.11.2020 19:06
2
Podľa dokumentácie používa October CMS Twig.
V cykloch Twig pozná "magickú" premennú loop, ktorá ti vie povedať, či je aktuálna iterácia cyklenia prvá/posledná prípadne jej index.

Takže úpravu pre svoj prípad vieš urobiť jednoducho:
Kód:
{% for post in posts %}
    {% if loop.first == true %}
        <!-- jen poslední pulikovaný článek -->
    {% else %}
        <!-- ostatní články -->
    {% endif %}
{% endfor %}
Dokumentácia: https://twig.symfony.com/doc/3.x/tag...-loop-variable
29.11.2020 10:02
3
Původně odeslal Matúš Markusek
Podľa dokumentácie používa October CMS Twig.
V cykloch Twig pozná "magickú" premennú loop, ktorá ti vie povedať, či je aktuálna iterácia cyklenia prvá/posledná prípadne jej index.

Takže úpravu pre svoj prípad vieš urobiť jednoducho:
Kód:
{% for post in posts %}
    {% if loop.first == true %}
        <!-- jen poslední pulikovaný článek -->
    {% else %}
        <!-- ostatní články -->
    {% endif %}
{% endfor %}
Dokumentácia: https://twig.symfony.com/doc/3.x/tag...-loop-variable
Naprosto dokonalý :-) Moc moc děkuju!

---------- Příspěvek doplněn 29.11.2020 v 11:37 ----------

Ještě mám jednu otázku, šla by tam ještě jedna možnost?

A to, první úvodní (tak jak je) 4 další (tak jak jsou) a pak všechny ostatní jinak (stejně?)
29.11.2020 12:39
4
Ma toto práve môžeš použiť index pri magickej premennej:

Kód:
{% for post in posts %}
    {% if loop.first == true %}
        <!-- jen poslední pulikovaný článek -->
    {% elseif loop.index < 6 %}
        <!-- 2hy az 5ty clanek -->
    {% else %}
        <!-- ostatní články -->
    {% endif %}
{% endfor %}
29.11.2020 13:07
5
Původně odeslal Matúš Markusek
Ma toto práve môžeš použiť index pri magickej premennej:

Kód:
{% for post in posts %}
    {% if loop.first == true %}
        <!-- jen poslední pulikovaný článek -->
    {% elseif loop.index < 6 %}
        <!-- 2hy az 5ty clanek -->
    {% else %}
        <!-- ostatní články -->
    {% endif %}
{% endfor %}

Toto funguje, ale jen za předpokladu, že ostatní články budou hned za tím... a já bych potřeboval přejít s ostatními články do jiného divu... tedy bych potřeboval nějakým způsobem přerušit {% elseif loop.index < 6 %} a potom pokračovat v tom jiném divu, kde bych to ukončil tedy tím {% endif %}
{% endfor %}

lze to takto prosím udělat?
Pivo Sněžka

Malý dar z Krkonoš

Pecký Pivovar vám přeje klidné prožití Vánočních svátků - jako malou pozornost si dovolujeme nabídnout všem uživatelům slevu 10% na nákup dárkové krabice "Na vrcholu".