Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Атрибуты на странице Compare


Recommended Posts

Люди добрые помогите)

 

Хотел на странице сравнения товаров выводить в одну строку название группы атрибутов и их значения. Все получилось без проблем:

<?php foreach ($attribute_groups as $attribute_group) { ?>
          <tr>
            <td><strong><?php echo $attribute_group['name']; ?></strong></td>
			<?php foreach ($attribute_group['attribute'] as $key => $attribute) { ?>
			<td><?php echo $attribute['name']; ?></td>
            <?php } ?>
          </tr>
        </tbody>
        <?php } ?>

НО! Если у товаров совпадают значения атрибутов, то данный атрибут отображается только под первым совпавшим товаром, а под другим даже табличной разметки нет (ячейки).

 

Подскажите вариант с colspan или может еще какие то варианты есть? 

Надіслати
Поділитися на інших сайтах


Здесь нужен "отложенный" вывод

 

Что-то у вас с кодом..

 

</tbody> - это зачем?

 

Приведите пример в порядок

Надіслати
Поділитися на інших сайтах

tbody нужно для последующее оформления блоков всей страницы

Весь код шаблона страницы:

<?php echo $header; ?>
<div class="container">
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
    <?php } ?>
  </ul>
  <?php if ($success) { ?>
  <div class="alert alert-success"><i class="fa fa-check-circle"></i> <?php echo $success; ?>
    <button type="button" class="close" data-dismiss="alert">×</button>
  </div>
  <?php } ?>
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
      <h1 class="page-title"><?php echo $heading_title; ?></h1>
      <?php if ($products) { ?>
      <table class="table table-bordered">
        <thead>
          <tr>
            <td colspan="<?php echo count($products) + 1; ?>"><strong><?php echo $text_product; ?></strong></td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><?php echo $text_name; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><a href="<?php echo $product['href']; ?>"><strong><?php echo $product['name']; ?></strong></a></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_image; ?></td>
            <?php foreach ($products as $product) { ?>
            <td class="text-center"><?php if ($product['thumb']) { ?>
              <img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-thumbnail" />
              <?php } ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_price; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php if ($product['price']) { ?>
              <?php if (!$product['special']) { ?>
              <?php echo $product['price']; ?>
              <?php } else { ?>
              <strike><?php echo $product['price']; ?></strike> <?php echo $product['special']; ?>
              <?php } ?>
              <?php } ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_model; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php echo $product['model']; ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_manufacturer; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php echo $product['manufacturer']; ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_availability; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php echo $product['availability']; ?></td>
            <?php } ?>
          </tr>
          <?php if ($review_status) { ?>
          <tr>
            <td><?php echo $text_rating; ?></td>
            <?php foreach ($products as $product) { ?>
            <td class="rating"><?php for ($i = 1; $i <= 5; $i++) { ?>
              <?php if ($product['rating'] < $i) { ?>
              <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
              <?php } else { ?>
              <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span>
              <?php } ?>
              <?php } ?>
              <br />
              <?php echo $product['reviews']; ?></td>
            <?php } ?>
          </tr>
          <?php } ?>
          <tr>
            <td><?php echo $text_summary; ?></td>
            <?php foreach ($products as $product) { ?>
            <td class="description"><?php echo $product['description']; ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_weight; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php echo $product['weight']; ?></td>
            <?php } ?>
          </tr>
          <tr>
            <td><?php echo $text_dimension; ?></td>
            <?php foreach ($products as $product) { ?>
            <td><?php echo $product['length']; ?> x <?php echo $product['width']; ?> x <?php echo $product['height']; ?></td>
            <?php } ?>
          </tr>
        </tbody>
		
		
		
		
		
		
		<tbody>
        <?php foreach ($attribute_groups as $attribute_group) { ?>
          <tr>
            <td><strong><?php echo $attribute_group['name']; ?></strong></td>
			<?php foreach ($attribute_group['attribute'] as $key => $attribute) { ?>
			<td><?php echo $attribute['name']; ?></td>
            <?php } ?>
          </tr>
        </tbody>
        <?php } ?>
		
		
		
		
		
		
		
        <tr>
          <td></td>
          <?php foreach ($products as $product) { ?>
          <td><input type="button" value="<?php echo $button_cart; ?>" class="btn btn-primary btn-block" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');" />
            <a href="<?php echo $product['remove']; ?>" class="btn btn-danger btn-block"><?php echo $button_remove; ?></a></td>
          <?php } ?>
        </tr>
      </table>
      <?php } else { ?>
      <p><?php echo $text_empty; ?></p>
      <div class="buttons">
        <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-default"><?php echo $button_continue; ?></a></div>
      </div>
      <?php } ?>
      <?php echo $content_bottom; ?></div>
    <?php echo $column_right; ?></div>
</div>
<?php echo $footer; ?>

Здесь нужен "отложенный" вывод

 

Что-то у вас с кодом..

 

</tbody> - это зачем?

 

Приведите пример в порядок

Надіслати
Поділитися на інших сайтах


	<tbody>
        <?php foreach ($attribute_groups as $attribute_group) { ?>
          <tr>
            <td><strong><?php echo $attribute_group['name']; ?></strong></td>
			<?php foreach ($attribute_group['attribute'] as $key => $attribute) { ?>
			<td><?php echo $attribute['name']; ?></td>
            <?php } ?>
          </tr>
        </tbody>
        <?php } ?>

1. Это кривой код

2. Где вывод самих атрибутов от товар

 

3. все равно должен быть цикл по товарам из сравнения.

Надіслати
Поділитися на інших сайтах

1. В чем кривизна?

2. <?php echo $attribute['name']; ?>

Я не использую значения атрибутов (key). Только $attribute_group['name'] и $attribute['name']

 

 

 

Оригинальный кусок из дефолтного шаблона.

 <?php foreach ($attribute_group['attribute'] as $key => $attribute) { ?>
        <tbody>
          <tr>
            <td><?php echo $attribute['name']; ?></td>
            <?php foreach ($products as $product) { ?>
            <?php if (isset($product['attribute'][$key])) { ?>
            <td><?php echo $product['attribute'][$key]; ?></td>
            <?php } else { ?>
            <td></td>
            <?php } ?>
            <?php } ?>
          </tr>
        </tbody>
	<tbody>
        <?php foreach ($attribute_groups as $attribute_group) { ?>
          <tr>
            <td><strong><?php echo $attribute_group['name']; ?></strong></td>
			<?php foreach ($attribute_group['attribute'] as $key => $attribute) { ?>
			<td><?php echo $attribute['name']; ?></td>
            <?php } ?>
          </tr>
        </tbody>
        <?php } ?>

1. Это кривой код

2. Где вывод самих атрибутов от товар

 

3. все равно должен быть цикл по товарам из сравнения.

 

Надіслати
Поділитися на інших сайтах


Ваш вывод атрибутов никак не связан с конкретными товарами - просто перечисление всех имеющихся.

К тому же в коде ошибка - цикл foreach начинается внутри тега tbody, а заканчивается за его пределами.

 

PS: У вас там и дальше в коде ералаш, вдруг, откуда ни возьмись, tr появляется.

Змінено користувачем Shureg
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.