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

Скрыть пустые атрибуты/характеристики товара


Recommended Posts

Здравствуйте.

 

Если решения, что бы срывать пустые атрибуты товара а заполненные оставлять ?

 

Т.е. если у товара заполнены 5 атрибутов из 10 то оставить только 5 заполненных а пустые скрыть.

 

 

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


1 способ. Удалить пустые атрибуты у товаров через phpmyadmin
2 способ. Добавить в выборку атрибутов товара (метод getProductAttributes в catalog\model\catalog\product.php) условие

pa.text != ''

 

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


Спасибо за наводку. Я не программист и меня хватило только на то что бы условие сделать в /catalog/view/theme/fractal/template/product/product.tpl

 

Заменил: 

<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<tr>
  <td><?php echo $attribute['name']; ?></td>
  <td><?php echo $attribute['text']; ?></td>
</tr>
<?php } ?>

На

<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<?php if ($attribute['text'] != '') { ?>
<tr>
  <td><?php echo $attribute['name']; ?></td>
  <td><?php echo $attribute['text']; ?></td>
</tr>
<?php
} 
}
?>

Такой вариант сработал

 

Как то же самое сделать через модель я не понял.Если не трудно подскажите для общего развития так сказать.

 

Вот код из модели

public function getProductAttributes($product_id) {
		$product_attribute_group_data = array();

		$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");

		foreach ($product_attribute_group_query->rows as $product_attribute_group) {
			$product_attribute_data = array();

			$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");

			foreach ($product_attribute_query->rows as $product_attribute) {
				$product_attribute_data[] = array(       
					'attribute_id' => $product_attribute['attribute_id'],
					'name'         => $product_attribute['name'],
					'text'         => $product_attribute['text']
       );
			}

			$product_attribute_group_data[] = array(
				'attribute_group_id' => $product_attribute_group['attribute_group_id'],
				'name'               => $product_attribute_group['name'],
				'attribute'          => $product_attribute_data
			);
		}

		return $product_attribute_group_data;
	}

 

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


  • 3 years later...
В 16.08.2017 в 12:38, thentru сказал:

1 способ. Удалить пустые атрибуты у товаров через phpmyadmin
2 способ. Добавить в выборку атрибутов товара (метод getProductAttributes в catalog\model\catalog\product.php) условие


pa.text != ''

 

Готовый код для вставки можете написать? Не все php владеют

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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