Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Вопрос по OpenCart 2


ilerok
 Поделиться

Рекомендованные сообщения

Подскажите как разделить цикл foreach что бы он выводил по 3 товара в ряд?

У меня просто ужасная верстка досталась от верстальщика и каждые 3 товара в ней должны быть в отдельном диве

В моем случае это див <div class="goodsWrapperRow">

 

Делаю так:

<?php foreach (array_chunk($products, ceil(count($products) / 3)) as $product) { ?>
						<div class="goodsWrapperRow">
						
						<?php foreach ($products as $product) { ?>
						<div class="goodsSliderItem">
						ТОВАР
						</div>	
						 <?php } ?>
						 
						</div>
<?php } ?>

Не работает(

Изменено пользователем ilerok
Ссылка на комментарий
Поделиться на других сайтах


Мб проще добавить </div><div>после каждого 3-го чтобы разделить

        <?php foreach ($products as $key => $product) { ?>

<?php if ($key == '3') { ?>
</div><div>
<?php } ?>

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


3 минуты назад, losthill сказал:

Мб проще добавить </div><div>после каждого 3-го чтобы разделить


        <?php foreach ($products as $key => $product) { ?>

<?php if ($key == '3') { ?>
</div><div>
<?php } ?>

 

можно вместе с моим кодом пример как это будет выглядеть? буду оч благодарен

Ссылка на комментарий
Поделиться на других сайтах


<?php 
$i=0; $is=3; 
foreach ($products as $product){ 
?>
	<div class="goodsSliderItem">
  		ТОВАР
	</div>	
<?php 
if($i==$is){
	$is+3;
?> 
</div><div class="goodsWrapperRow">	//тут закрывающие и открывающие теги
<?php
}
$i++;
} ?>
 </div>

 

Изменено пользователем Pavel666
Ссылка на комментарий
Поделиться на других сайтах

<?php foreach (array_chunk($products, ceil(count($products) / 3)) as $product) { ?>
	<div class="goodsWrapperRow">
		<?php foreach ($product as $p) { ?>
		<div class="goodsSliderItem">
			ТОВАР
		</div>	
		<?php } ?>
	</div>
<?php } ?>

 

Ссылка на комментарий
Поделиться на других сайтах

9 минут назад, Pavel666 сказал:

тут закрывающие и открывающие теги

а где

<div class="goodsWrapperRow">

?

Ссылка на комментарий
Поделиться на других сайтах

13 минут назад, fanatic сказал:

<?php foreach (array_chunk($products, ceil(count($products) / 3)) as $product) { ?>
	<div class="goodsWrapperRow">
		<?php foreach ($product as $p) { ?>
		<div class="goodsSliderItem">
			ТОВАР
		</div>	
		<?php } ?>
	</div>
<?php } ?>

 

Не сработало решение, на каких то страницах категорий вывело по 2 товара в ряд и на каких то по 1 в ряд(( 

Изменено пользователем ilerok
Ссылка на комментарий
Поделиться на других сайтах


13 минут назад, Pavel666 сказал:

<?php 
$i=0; $is=3; 
foreach ($products as $product){ 
?>
	<div class="goodsSliderItem">
  		ТОВАР
	</div>	
<?php 
if($i==$is){
	$is+3;
?> 
</div><div class="goodsWrapperRow">	//тут закрывающие и открывающие теги
<?php
}
$i++;
} ?>
 </div>

 

не сработало( 

Ссылка на комментарий
Поделиться на других сайтах


Может оно привязано к количеству товаров на странице по умолчанию? У меня по умолчанию в админке указано выводить по 6 товаров на странице

Изменено пользователем ilerok
Ссылка на комментарий
Поделиться на других сайтах


@Pavel666, сделал ваши правки - вывело по 1 товару в ряду 

Изменено пользователем ilerok
Ссылка на комментарий
Поделиться на других сайтах


42 минуты назад, ilerok сказал:

<?php foreach (array_chunk($products, ceil(count($products) / 3)) as $product) { ?>

<?php foreach (array_chunk($products, 3) as $product) { ?>

 

Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, fanatic сказал:

<?php foreach (array_chunk($products, 3) as $product) { ?>

 

сделал так, задублировало товары, один и тот же товар выводится в разных рядах

Изменено пользователем ilerok
Ссылка на комментарий
Поделиться на других сайтах


Все начинания правильны, но не до конца.

<?php foreach (array_chunk($products,  3) as $products_3) { ?>
    <div class="goodsWrapperRow">
    <?php foreach ($products_3 as $product) { ?>
      <div class="goodsSliderItem">
        Товар:
      </div>
    <?php } ?>
    </div>
<?php } ?>

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Только что, ibond сказал:

Все начинания правильны, но не до конца.


<?php foreach (array_chunk($products,  3) as $products_3) { ?>
    <div class="goodsWrapperRow">
    <?php foreach ($products_3 as $product) { ?>
      <div class="goodsSliderItem">
        Товар:
      </div>
    <?php } ?>
    </div>
<?php } ?>

 

Сработало!)))) Спасибо!!!!! Ставлю плюсик)

Ссылка на комментарий
Поделиться на других сайтах


 

 

del
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Только что, fanatic сказал:

у вас что-то с версткой

этот код


<?php foreach (array_chunk($products, 3) as $product) { ?>
	<div class="goodsWrapperRow">
		<?php foreach ($product as $p) { ?>
		<div class="goodsSliderItem">
			ТОВАР
		</div>	
		<?php } ?>
	</div>
<?php } ?>

вылодит в каждом   


<div class="goodsWrapperRow">

по  3    

 


<div class="goodsSliderItem">

arr_cank.png

да видно что то было с версткой, но уже решил вопрос

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.