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

[ДОРАБОТКА] Добавление станд. аттрибутов в описание товара


cashfile

Recommended Posts

Материал взят с оф.сайта и переработан для легкого восприятия .

Например

post-70-1293741785,2514_thumb.jpg

1. Редактируем: catalog/controller/product/product.php

находим:

$product_info = $this->model_catalog_product->getProduct($product_id);
после добавляем:

$this->data['product_info'] = $product_info;
2. Редактируем: catalog/view/theme/YOURTHEME/template/product/product.tpl

находим:

<tr>  <td>[b]<?php echo $text_model; ?>[/b]</td>  <td><?php echo $model; ?></td></tr>
после добавляем:

<tr>  <td>[b]SKU:[/b]</td>  <td><?php echo $product_info['sku']; ?></td></tr>
Для добавления других стандартных аттрибутов заменяете строку:

<?php echo $product_info['xxx']; ?>
Где "xxx" будет принимать вид определенных имен переменных базы данных:

$product_info['weight']

$product_info['sku']

$product_info['location']

$product_info['length']

и т.п.

Змінено користувачем afwollis
edit -> save
  • +1 3
Надіслати
Поділитися на інших сайтах


  • 2 months later...

А..., все, разобрался. Таким способом можно изменять стандартные значения. А как добавить еще стандартных значений своих, если не хватает тех, которые можно изменить? Там придется, так думаю, в базу добавлять значений типа $product_info['weight']$product_info['sku']$product_info['location']$product_info['length']...и в админке добавить полей с формами?...тока не очень понятно, как это сделать)

Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


  • 2 months later...

Не понял как по русски добавить текст. Все рабоатет, толь вот в пхп написал

<tr>

<td>Расположение:</td>

<td><?php echo $product_info['sku']; ?></td>

</tr>

и оно очень коряво отображается..

Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


  • 4 months later...

вместо того, чтобы панику разводить лучше бы просто написали в теме про обновление форума, что В ЭТОЙ ТЕМЕ "поплыли" сообщения :angry:

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

В этой теме, показан пример - как можно вывести Вес товара на его странице. Точно таким же методом, можно отобразить "Габариты" (как автор топика показал) и практически все остальное. Изображение
Надіслати
Поділитися на інших сайтах

вместо того, чтобы панику разводить лучше бы просто написали в теме про обновление форума, что В ЭТОЙ ТЕМЕ "поплыли" сообщения :angry:

БЛАГОДАРЮ !

Кто подскажет , как станд. переменную weight показать на странице категории . Понимаю что нужно добавить в catalog/controller/product/category.php запись . Не силен в php поэтому метод тупой подстановки кода в этой теме для категорий не работает.

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


catalog/controller/product/category.php
передаем в массив данных о товаре его вес

$this->data['products'][] = array(
	'name'    => $result['name'],
	'model'   => $result['model'],
	'rating'  => $rating,
	'stars'   => sprintf($this->language->get('text_stars'), $rating),
	'thumb'   => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')),
	'price'   => $price,
	'options' => $options,
	'special' => $special,
	'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),
	'add'	  => $add,
	'weight' => $result['weight'] /* вот он наш, т.е. товарный, вес */
);
после этого в category.tpl можно выводить

<br />
          <span style="color: #999; font-size: 11px;"><?php echo $products[$j]['weight']; ?></span>
однако данный способ не выводит единицу веса рядом с самим значением.

так что надо будет глянуть, можно ли без лишних функций получить эти данные.

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

  • 4 weeks later...

<br />

<span style="color: #999; font-size: 11px;"><?php echo $products[$j]['weight']; ?></span>[/code]

однако данный способ не выводит единицу веса рядом с самим значением.

так что надо будет глянуть, можно ли без лишних функций получить эти данные.

Респект , а если единица измерения одна для всех товаром- то можно самому дописать в коде.

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


  • 2 weeks later...

Респект , а если единица измерения одна для всех товаром- то можно самому дописать в коде.

А если не одна ?

в общем массиве $product_info есть переменная weight_class_id, которая содержит id единицы измерения, которая используется. Тоже слаб в php, поэтому не могу сопоставить эти данные, чтобы выводился вес и единица измерения.. Подскажите ?

p.s. Пока делаю костыль типа

switch ($product_info['weight_class_id']) {

case "1":

echo "гр.";

break;

case "2":

echo "кг.";

break;

case "3":

echo "шт.";

break;

}

И жду помощи)

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


  • 4 weeks later...
  • 1 year later...

Как реализовать отображение наличия на странице категорий.

Добавил в catalog/controller/product/category.php

 

if (isset($this->request->get['product_id'])) {
            $product_id = $this->request->get['product_id'];
        } else {
            $product_id = 0;
        }
        
        $this->load->model('catalog/product');
$product_info = $this->model_catalog_product->getProduct($product_id);
$this->data['product_info'] = $product_info;
 

На странице категорий catalog/view/theme/default/template/product/category.tpl добавил

 

<?php if ($product_info['quantity'] > 0) { ?>
    <?php echo '<h2>Наличие: <span style="color:#0000FF">В наличии</span></h2>'; ?>
    <?php } else { ?>
    <?php echo '<h2>Наличие: <span style="color:#FF0000">Под заказ</span></h2>'; ?>
<?php } ?>
 

Отображение работает, но логика не выполняется. На странице с товаром та же самая логика работает. Почему в категориях не работает?


 

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


Как реализовать отображение наличия на странице категорий.

Добавил в catalog/controller/product/category.php

 

if (isset($this->request->get['product_id'])) {

            $product_id = $this->request->get['product_id'];

        } else {

            $product_id = 0;

        }

        

        $this->load->model('catalog/product');

$product_info = $this->model_catalog_product->getProduct($product_id);

$this->data['product_info'] = $product_info;

 

На странице категорий catalog/view/theme/default/template/product/category.tpl добавил

 

<?php if ($product_info['quantity'] > 0) { ?>

    <?php echo '<h2>Наличие: <span style="color:#0000FF">В наличии</span></h2>'; ?>

    <?php } else { ?>

    <?php echo '<h2>Наличие: <span style="color:#FF0000">Под заказ</span></h2>'; ?>

<?php } ?>

 

Отображение работает, но логика не выполняется. На странице с товаром та же самая логика работает. Почему в категориях не работает?

попробуй в контроллере вот сюда добавить

 

$this->data['products'][] = array(

          'product_id' => $result['product_id'],

 'quantity' => $result['quantity']

);

а в tpl вместо ($product_info['quantity'] > 0) напиши ($product['quantity'] > 0)

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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