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

Краткое описание товара


Moro3zz

Recommended Posts

Хочу сделать так чтобы было краткое описание товара и оно отличалось от полного описания товара.

 

хочу потом краткое описание выводить при отображении товаров сеткой.

 

Нашел инструкцию все вроде подробно,

 

http://forum.opencart.pro/topic/1952-краткое-описание-товара-для-opencart-ocshop-2xx/

 

нижнее сообщение на форуме

 

но у меня ни как не выходит, бьюсь который час, ошибка на скриншоте.

 

Может кто поможет.

 

Дело не в названии переменной делал и mini_description и description_mini. 

 

у меня Opencart Версия 2.1.0.2

 

я так понимаю что не видит переменную. кодировку всех файлов поставил utf-8

 

Даже если в базе данных в mini_description создаю описание в карточке товара не показывается.

 

Подскажите куда смотреть.

 

Может модуль есть готовый

post-688975-0-25848200-1463889141_thumb.png

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


    <file path="admin/model/catalog/product.php">
        <operation>
            <search><![CDATA[if (isset($data['product_store'])) {]]></search>
            <add position="before"><![CDATA[
                //added template
                foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
                //added template
			]]></add>
        </operation>
        <operation>
            <search><![CDATA['meta_keyword'     => $result['meta_keyword'],]]></search>
            <add position="after"><![CDATA[
                'short_description'     => $result['short_description'], //added template
			]]></add>
        </operation>
    </file>
	<file path="admin/view/template/catalog/product_form.tpl">
		<operation>
			<search ><![CDATA[<label class="col-sm-2 control-label" for="input-tag<?php echo $language['language_id']; ?>"><span data-toggle="tooltip" title="<?php echo $help_tag; ?>"><?php echo $entry_tag; ?></span></label>]]></search>
			<add position="before" offset="1"><![CDATA[
                    <!--//added template-->
                  <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-short-description<?php echo $language['language_id']; ?>">Краткое описание:</label>
                    <div class="col-sm-10">
                      <textarea name="product_description[<?php echo $language['language_id']; ?>][short_description]" rows="5" placeholder="Краткое описание" id="input-short-description<?php echo $language['language_id']; ?>" class="form-control"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['short_description'] : ''; ?></textarea>
                    </div>
                  </div>
                    <!--//added template-->
			]]></add>
		</operation>
	</file>

Вот кусок ocmod, отвечает за добавление краткого описания в админке, только тут переменная называется short_description

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

РАБОЧАЯ ИНСТРУКЦИЯ!!

 

1 В вашей базе данных создаем поле short_description в таблице oc_product_description, все атрибуты как и в description

 

я делал через phpmyadmin
 
2. файл admin/model/catalog/product.php
 
2а.
находим код

if (isset($data['product_store']))

18 строка
 
добавляем выше 

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

находим второй раз

if (isset($data['product_store']))

153 строка стала

 

добавляем выше

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

2б.
находим

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

теперь 450 строка
 
добавляем   

'short_description'     => $result['short_description'], //added template

 
3. файл admin/view/template/catalog/product_form.tpl
 
находим

 <label class="col-sm-2 control-label" for="input-tag<?php echo $language['language_id']; ?>"><span data-toggle="tooltip" title="<?php echo $help_tag; ?>"><?php echo $entry_tag; ?></span></label>

88 строка
перед открывающемся слоем <div class="form-group"> добавляем
 

                  <!--//added template-->
                  <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-short-description<?php echo $language['language_id']; ?>">Краткое описание:</label>
                    <div class="col-sm-10">
                      <textarea name="product_description[<?php echo $language['language_id']; ?>][short_description]" rows="5" placeholder="Краткое описание" id="input-short-description<?php echo $language['language_id']; ?>" class="form-control"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['short_description'] : ''; ?></textarea>
                    </div>
                  </div>
                    <!--//added template-->

Можно этот слой вставить куда вам удобнее, например под основное описание.  

5. файл admin\controller\catalog\product.php
 
 ищем код

 $data['entry_description'] = $this->language->get('entry_description');

 строка 542 добавляем ниже

$data['entry_short_description'] = $this->language->get('entry_short_description');

 
6. файл \admin\language\russian\catalog\product.php
 
ищем код

$_['entry_description']      = 'Описание';

 добавляем ниже  

$_['entry_short_description'] = 'Краткое описание';

7. все файлы в UTF-8 и заливаем

 

8. Долго мучался надо не забыть обновить кеш дополнений

 

Дополнения-дополнения-справа наверху кнопка обновить

 

У меня работает на 2.1.0.2

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


Да. Спасибо. как раз хотел написать что разобрался.

 

Слева меню Дополнения-дополнения-справа наверху кнопка обновить. Все заработало!

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


               Всем привет !

    Только недавно начал разбираться с Open Cart и не хватает знаний, в частности по php. Во-первых, огромное спасибо Moro3zz за инструкцию, но возник вопрос, как сделать так, чтобы появилось краткое описание, например, в карточках рекомендуемых товаров ?

    На данный момент в админке уже есть поле "краткое описание". Я так понимаю, что нужно какое-то значение прописать в файле featured.tpl по пути

/public_html/catalog/view/theme/default/template/module и еще в каких-то файлах.

     Подскажите, пожалуйста, в каких файлах и какие значения нужно прописать, чтобы подтянулись данные из поля краткое описание - админки ?

 

     P/s. Версия OpenCart 2.2.

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


  • 5 months later...

А я вот под это дело пустил meta description. Только побольше его сделал и всё.

 

Тоже не стал изобретать новые поля. Использовал поле MPN. Оно всё равно бесполезное.

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


РАБОЧАЯ ИНСТРУКЦИЯ!!

 

1 В вашей базе данных создаем поле short_description в таблице oc_product_description, все атрибуты как и в description

 

я делал через phpmyadmin

 

2. файл admin/model/catalog/product.php

 

2а.

находим код

if (isset($data['product_store']))

18 строка

 

добавляем выше 

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

находим второй раз

if (isset($data['product_store']))

153 строка стала

 

добавляем выше

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

2б.

находим

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

теперь 450 строка

 

добавляем   

'short_description'     => $result['short_description'], //added template

 

3. файл admin/view/template/catalog/product_form.tpl

 

находим

 <label class="col-sm-2 control-label" for="input-tag<?php echo $language['language_id']; ?>"><span data-toggle="tooltip" title="<?php echo $help_tag; ?>"><?php echo $entry_tag; ?></span></label>

88 строка

перед открывающемся слоем <div class="form-group"> добавляем

 

                  <!--//added template-->
                  <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-short-description<?php echo $language['language_id']; ?>">Краткое описание:</label>
                    <div class="col-sm-10">
                      <textarea name="product_description[<?php echo $language['language_id']; ?>][short_description]" rows="5" placeholder="Краткое описание" id="input-short-description<?php echo $language['language_id']; ?>" class="form-control"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['short_description'] : ''; ?></textarea>
                    </div>
                  </div>
                    <!--//added template-->

Можно этот слой вставить куда вам удобнее, например под основное описание.  

5. файл admin\controller\catalog\product.php

 

 ищем код

 $data['entry_description'] = $this->language->get('entry_description');

 строка 542 добавляем ниже

$data['entry_short_description'] = $this->language->get('entry_short_description');

 

6. файл \admin\language\russian\catalog\product.php

 

ищем код

$_['entry_description']      = 'Описание';

 добавляем ниже  

$_['entry_short_description'] = 'Краткое описание';

7. все файлы в UTF-8 и заливаем

 

8. Долго мучался надо не забыть обновить кеш дополнений

 

Дополнения-дополнения-справа наверху кнопка обновить

 

У меня работает на 2.1.0.2

Все действия проводятся в \admin\. Я не специалист, но разве не нужно редактировать \catalog\ и файлы темы, что бы краткое описание отображалось на сайте?

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


  • 1 month later...

РАБОЧАЯ ИНСТРУКЦИЯ!!

 

1 В вашей базе данных создаем поле short_description в таблице oc_product_description, все атрибуты как и в description

 

я делал через phpmyadmin

 

2. файл admin/model/catalog/product.php

 

2а.

находим код

if (isset($data['product_store']))

18 строка

 

добавляем выше 

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

находим второй раз

if (isset($data['product_store']))

153 строка стала

 

добавляем выше

foreach ($data['product_description'] as $language_id => $value) {
                    $this->db->query("UPDATE " . DB_PREFIX . "product_description
                    SET short_description = '" . $this->db->escape($value['short_description']) . "'
                    WHERE product_id = '" . (int)$product_id . "'
                    AND language_id = '" . (int)$language_id . "'");
                }
//added template

2б.

находим

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

теперь 450 строка

 

добавляем   

'short_description'     => $result['short_description'], //added template

 

3. файл admin/view/template/catalog/product_form.tpl

 

находим

 <label class="col-sm-2 control-label" for="input-tag<?php echo $language['language_id']; ?>"><span data-toggle="tooltip" title="<?php echo $help_tag; ?>"><?php echo $entry_tag; ?></span></label>

88 строка

перед открывающемся слоем <div class="form-group"> добавляем

 

                  <!--//added template-->
                  <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-short-description<?php echo $language['language_id']; ?>">Краткое описание:</label>
                    <div class="col-sm-10">
                      <textarea name="product_description[<?php echo $language['language_id']; ?>][short_description]" rows="5" placeholder="Краткое описание" id="input-short-description<?php echo $language['language_id']; ?>" class="form-control"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['short_description'] : ''; ?></textarea>
                    </div>
                  </div>
                    <!--//added template-->

Можно этот слой вставить куда вам удобнее, например под основное описание.  

5. файл admin\controller\catalog\product.php

 

 ищем код

 $data['entry_description'] = $this->language->get('entry_description');

 строка 542 добавляем ниже

$data['entry_short_description'] = $this->language->get('entry_short_description');

 

6. файл \admin\language\russian\catalog\product.php

 

ищем код

$_['entry_description']      = 'Описание';

 добавляем ниже  

$_['entry_short_description'] = 'Краткое описание';

7. все файлы в UTF-8 и заливаем

 

8. Долго мучался надо не забыть обновить кеш дополнений

 

Дополнения-дополнения-справа наверху кнопка обновить

 

У меня работает на 2.1.0.2

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

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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