|
|
|
| У меня есть код, его надо вывести вот так: что бы внутри 1го <ul> было по 3 <li>
На данный момент у меня выводит оп 3, но в конце 1 пустой <li>, немогу его убрать
<li>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-1.jpg" alt="" width="280" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-2.jpg" alt="" width="260" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-3.jpg" alt="" width="260" height="66" /></a>
</li>
<li>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-1.jpg" alt="" width="280" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-2.jpg" alt="" width="260" height="66" /></a>
</li>
|
<ul>
<li>
<?foreach($arResult['PROPERTIES']['PR_FOTO']['VALUE'] as $item_pic):$i++?>
<a href="#"><img src="<?=CFile::GetPath($item_pic);?>" alt="<?=$arResult['NAME'];?>" width="280" height="66"></a>
<?if(!is_float($i/3)):?>
</li><li>
<?endif;?>
<?endforeach;?>
</li>
</ul>
|
| |
|
|
|
|
|
|
|
для: mabelrod
(15.02.2012 в 14:15)
| | endforeach?! Вас к нам на машине времени занесло?=)
Занесите в отдельную переменную общее количество изображений и добавьте проверку:
if (!is_float($i/3) && $i < $total_img_count - 3)
|
| |
|
|
|
|
|
|
|
для: Киналь
(15.02.2012 в 14:32)
| | 1) А как правильно писать если не использовать endforeach ?
2) я картинки вывожу в цикле - то есть я незнаю сколько их всего, то есть мне надо еще перед этим написать 1 запрос на узнать сколько их всего ? я думаю это перебор ... может есть вариант попроще ? | |
|
|
|
|
|
|
|
для: mabelrod
(15.02.2012 в 14:42)
| | > что бы внутри 1го <ul> было по 3 <li>
Может все-таки внутри каждого <li></li> по 3 <a></a>? По крайней мере ваш код делает именно это.
> 1) А как правильно писать если не использовать endforeach
А вот у меня к этому нет вопросов. Можно с endif и с endforeach. Больше интересно, зачем писать ПХП внутри ХТМЛ, а не наоборот, когда пхп в каждой строке??? Лично я пока не переформатировал ваш код, с большим трудом понимал что он делает.
> 2) я картинки вывожу в цикле - то есть я незнаю сколько их всего, то есть мне надо еще перед этим написать 1 запрос на узнать сколько их всего ? я думаю это перебор ... может есть вариант попроще ?
во-первых запрос
$co = count($arResult['PROPERTIES']['PR_FOTO']['VALUE']);
| -это не перебор, а 1/1000000000 доля секунды.
во-вторых, на сколько я понимаю, лишний <li> добавляется только если количество картинок кратное 3. Верно? Значит нужно просто немного по другому организовать счетчик. Сек..... | |
|
|
|
|
|
|
|
для: mabelrod
(15.02.2012 в 14:42)
| | >1) А как правильно писать если не использовать endforeach ?
Да нет, всё правильно, просто это конструкция ещё, если не ошибаюсь, из PHP 3. Хотя довольно удобная, нельзя не признать) | |
|
|
|
|
|
|
|
для: mabelrod
(15.02.2012 в 14:42)
| | можно так:
<?php
echo "<ul><li>";
$i = 0;
foreach($arResult['PROPERTIES']['PR_FOTO']['VALUE'] as $item_pic){
if(!is_float($i/3) && $i > 0) echo '</li><li>';
$i++;
echo '<a href="#"><img src="'.CFile::GetPath($item_pic).'" alt="'.$arResult['NAME'].'" width="280" height="66"></a>';
}
echo "</li></ul>";
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(15.02.2012 в 15:20)
| | Люди сказали что надо так, в фаербаге вроде вссе ок, но визуально ломается, ищу причину далее.
<div class="project-slider-content">
<ul>
<li>
<?foreach($arResult['PROPERTIES']['PR_FOTO']['VALUE'] as $item_pic):$i++?>
<a href="#"><img src="<?=CFile::GetPath($item_pic);?>" alt="<?=$arResult['NAME'];?>" width="280" height="66"></a>
<?if( !is_float($i/3) && $arResult["PROPERTIES"]["PR_FOTO"]["VALUE"][$i]):?></li><li><?endif;?>
<?endforeach;?>
</li>
<!--
<li>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-1.jpg" alt="" width="280" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-2.jpg" alt="" width="260" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-3.jpg" alt="" width="260" height="66" /></a>
</li>
<li>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-1.jpg" alt="" width="280" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-2.jpg" alt="" width="260" height="66" /></a>
<a href="#"><img src="<?=SITE_TEMPLATE_PATH?>/files/detail-3.jpg" alt="" width="260" height="66" /></a>
</li>
-->
</ul>
</div>
|
| |
|
|
|
|
|
|
|
для: mabelrod
(15.02.2012 в 16:01)
| | > Люди сказали что надо так
Че за люди?
> фаербаге вроде вссе ок
Кто такой?
> но визуально ломается
А че ж ЛЮДИ не помогли до конца? | |
|
|
|