Перейти к содержанию
mexx

Вывод адрибутов в карточке товара ос1.5.6

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

Здравствуйте.
Прошу помощи. Необходимо вывести атрибуты в 2 блока (поровну).
Такой код показывает первые 5 атрибутов. У меня, у каждого товара 10-25 атрибутов.

Соответственно, надо в одном блоке вывести 5-13 атрибутов, а в другом остальные 5-12.

<?php if ($attribute_groups) { ?>
	<div>
		<?php $attribute_group['attribute'] = array_slice($attribute_group['attribute'], 0, 5); ?>
			<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
				<?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?><br />
            <?php?>
        <?php } ?>
    </div>
<?php } ?>

 

Поделиться сообщением


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

Рискну предположить, что будет примерно так:

Вариант с разметкой под Bootstrap:

<?php if ($attribute_groups) { ?>
    <div class="row">
        <?php     $cc = count($attribute_group['attribute']) / 2;
                $slice1 = array_slice($attribute_group['attribute'], 0, $cc);
                $slice2 = array_slice($attribute_group['attribute'], $cc);
        ?>
        <div class="col-sm-6">
            <?php foreach ($slice1 as $attribute) { ?>
                <!--1й столбец--><?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?><br /><!-- /1й столбец-->
        
            <?php } ?>
        </div>
        <div class="col-sm-6">
            <?php foreach ($slice2 as $attribute) { ?>
                <!--2й столбец--><?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?><br /><!-- /2й столбец-->
            <?php } ?>
        </div>
    </div>
<?php } ?>

 

  • +1 1

Поделиться сообщением


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

Прошу еще помочь, доработать код.
Предложенный код работает, но выводит атрибуты только из последней "Группы атрибутов", у которой наивысшее число при сортировке стоит.
А необходимо, чтобы атрибуты из всех групп публиковались.

Поделиться сообщением


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

Сам исправил, если что, то код такой:
 

		<tbody>
	  <?php foreach ($attribute_groups as $attribute_group) { ?> 
	  <?php $attribute_group['attribute'] = array_slice($attribute_group['attribute'], 0, 35); ?>
        <?php     $cc = count($attribute_group['attribute']) / 2;
                $slice1 = array_slice($attribute_group['attribute'], 0, $cc);
                $slice2 = array_slice($attribute_group['attribute'], $cc);
        ?>
        <tr>
			<td width="70%;">
            <?php foreach ($slice1 as $attribute) { ?>
                <b><?php echo $attribute['name']; ?>:</b> <?php echo $attribute['text']; ?><br /><!-- /1й столбец-->
        
            <?php } ?>
			</td>
			<td width="30%;">
            <?php foreach ($slice2 as $attribute) { ?>
                <b><?php echo $attribute['name']; ?>:</b> <?php echo $attribute['text']; ?><br /><!-- /2й столбец-->
            <?php } ?>
			</td>
        </tr>
		<?php } ?>
		</tbody>

 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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