Я пытаюсь получить информацию из базы данных в среде ZF1. Я использую цикл for здесь. То, что я пытаюсь сделать, это вставить новое разделение css (div) для каждой из четырех итераций. Другими словами, я хотел бы вставить блок, за которым следуют четыре итерации цикла. Например, если я запускаю цикл двенадцать раз, после каждых четырех итераций должно быть три новых блока. Это в основном рекламный блок, который может содержать изображение и ссылку. Мне нужна идея.Вставка блока после указанного числа итераций цикла
Вот пример блока.
<div class="flexblock-image">
<a href="https://offers.example.com/offer/600112?cid=BWO_mh.com_html_getbackinshape&keycode=254194">
<img alt="" title="" typeof="foaf:Image" src="http://www.example.com.gif">
</a>
</div>
Вот цикл, который я закодировал в своем приложении.
<?php if ($this->numArticles > 0) : ?>
<?php for ($i = 0; $i < 13; $i++) : ?>
<div class="channel-image ">
<div class="img">
<h2 class="primary-tag">
<a href="/tags/weight-loss-tips" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">
<?php echo $this->articles[$i]->slug ; ?>
</a>
</h2>
<a href="
<?php echo $this->articles[$i]->getViewUrl(); ?>">
<img typeof="foaf:Image" src="
<?php echo $this->articles[$i]->getCover('crop'); ?>" width="650" height="412" alt="
<?php echo addslashes($article->title); ?>" title="
<?php echo addslashes($article->title); ?>">
</a>
</div>
<div class="channel-content">
<p class="date">
<span property="dc:date dc:created" content="2015-06-04T11:06:18-04:00" datatype="xsd:dateTime">
<?php echo $this->dateFormatter()->diff(strtotime($this->articles[0]->activated_date), $this->timeDiffFormats); ?>
</span>
</p>
<h2 class="article-title" id="title-node-93726">
<a href="
<?php echo $this->articles[$i]->getViewUrl(); ?>">
<?php echo addslashes($this->articles[$i]->title); ?>
</a>
</h2>
<div class="byline-container">
<span class="byline-role">By </span>
<span class="field-author">
<a href="#" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">
<?php echo sprintf($this->translator()->_('show.by'), $this->articles[0]->getAuthor()); ?>
</a>
</span>
</div>
</div>
</div>
<?php endfor; ?>
<?php endif; ?>
Да, я думал о модуле оператора. Ваш код помещает блок css в начало цикла, который я не хочу. В любом случае, спасибо за повторное подтверждение моей идеи. –
Перемещает оператор 'if' туда, где рекламный блок не должен быть вариантом? – Jason
это может работать Php if (3 == $ i% 4):?>; он помещает рекламный блок после третьей итерации, а затем после 4-й итерации. –