Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[How To] Описание производителя в карточке товара


 Поделиться

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

В файле \catalog\controller\product\product.php

после строки

$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');

вставляем строку:

$this->data['shdescription'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8');

дальше, в массиве добавляем как тут:

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

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

'thumb' => $image,

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

'shdescription' => strip_tags(substr(html_entity_decode($manufacturer_info['description']),0,80))."...",

'price' => $price,

'special' => $special,

'rating' => $rating,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

а в файле \catalog\view\theme\default\template\product\product.tpl

После :

<?php echo $manufacturer; ?></a><br />

вставляем:

<?php echo $shdescription; ?><br />

'shdescription' => strip_tags(substr(html_entity_decode($manufacturer_info['description']),0,80))."...",
- 80 - это кол-во символов, которое выводится в коротком описании.
  • +1 4
Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...

на osStore 1.5.4.1 не работает. не подскажите как реализовать?
спасибо.

Изменено пользователем shoputils
Ссылка на комментарий
Поделиться на других сайтах


хм... только что на 1.5.4.1 протестил - работает, вопрос к вам, у вас в админке создано поле для внесения описания к производителям ? у меня под описание производителя - отдельная таблица в базе создается:

CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "manufacturer_description` (
 `manufacturer_id` int(11) NOT NULL,
 `language_id` int(11) NOT NULL,
 `description` text COLLATE utf8_bin NOT NULL,
 PRIMARY KEY (`manufacturer_id`,`language_id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

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

хм... только что на 1.5.4.1 протестил - работает, вопрос к вам, у вас в админке создано поле для внесения описания к производителям ? у меня под описание производителя - отдельная таблица в базе создается:

CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "manufacturer_description` (
 `manufacturer_id` int(11) NOT NULL,
 `language_id` int(11) NOT NULL,
 `description` text COLLATE utf8_bin NOT NULL,
 PRIMARY KEY (`manufacturer_id`,`language_id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

да у меня тоже отдельная таблица

в админке для производителя все параметру title,keywords,meta desk,deks

делаю как вы пишет

Notice: Undefined variable: manufacturer_info in vq2-catalog_controller_product_product.php

вот файлы

http://baby-felicita.ru/error/product.php.txt

http://baby-felicita.ru/error/product.tpl.txt

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


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

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

на счет описания. Описание производителя было с самого начала, стоит ocStore 1.5.4.1.

Единственное что добавил vq мод для вывода логотипа производителя (manufacturedescription.xml)

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


А вы способ товарища Бако Baco примените, только не к шаблонам вывода товаров, а к выводу самого производителя. Ну или модули поищите, вот помню такой работал когда-то

Изменено пользователем shoputils
Бако -> Baco
Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

с опозданием, но вот так будет работать :-)

В файле \catalog\controller\product\product.php после строки

$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');

добавить

$manufacturer_id = isset($product_info['manufacturer_id']) ? $product_info['manufacturer_id'] : 0;
$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id);
$this->data['manufacturers_description'] = $manufacturer_info ? $manufacturer_info['description'] : false;

в файле \catalog\view\theme\default\template\product\product.tpl в месте вывода добавить:

<?php if(isset($manufacturers_description)) { ?>
 <div style="font-size: 10px; color: #999999">
<?php echo html_entity_decode($manufacturers_description); ?>
 </div>
<?php } ?>

Стили под себя изменять в этой строке

 <div style="font-size: 10px; color: #999999">

Если бы еще кто-то подсказал, как в этой всей конструкции сделать ограничение на количество символом, было бы вообще чудесно.

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


  • 1 год спустя...

...

в файле \catalog\view\theme\default\template\product\product.tpl в месте вывода добавить:

<?php if(isset($manufacturers_description)) { ?>
 <div style="font-size: 10px; color: #999999">
<?php echo html_entity_decode($manufacturers_description); ?>
 </div>
<?php } ?>
Стили под себя изменять в этой строке

 <div style="font-size: 10px; color: #999999">
Если бы еще кто-то подсказал, как в этой всей конструкции сделать ограничение на количество символом, было бы вообще чудесно.
 

$m_description = utf8_substr(strip_tags(html_entity_decode($manufacturers_description, ENT_QUOTES, 'UTF-8')), 0, 360);
Изменено пользователем shoputils
code в code
Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...
OcStore 2.1.0.2, схожая проблема.
Нужно вывести описание производителя на странице производителя. Не получается. Делал так:
 
1. Отдельной таблицы под мету и описание в БД нет. Создал текстовое поле man_description в таблице oc_manufacturer.
2. Добавляю поле в контроллер админки /admin/contoller/product/manufacturer.tpl 
if (isset($this->request->post['man_description'])) {
$data['man_description'] = $this->request->post['man_description'];
} elseif (!empty($manufacturer_info)) {
$data['man_description'] = $manufacturer_info['man_description'];
} else {
$data['man_description'] = '';
} 

3. Вывел в шаблоне админки /admin/view/template/catalog/manufacturer_form.tpl (поле появилось, но в базу значение не пишется):

<div class="form-group">
 <label class="col-sm-2 control-label" for="input-description">
  <span data-toggle="tooltip" title="Description">Description</span>
 </label>
 <div class="col-sm-10">
  <input type="text" name="Description" value="<?php echo $man_description; ?>" placeholder="Description" id="input-description" class="form-control" />
 </div>
</div>
4. Вывел в шаблоне /catalog/view/theme/default/template/product/manufacturer_info.tpl новое поле:
<?php if ($man_description) { ?>
<div class="col-sm-10"><?php echo $man_description; ?></div>
<?php } ?>

5. Пишу в контроллере /catalog/contoller/product/manufacturer.tpl такую строчку (и здесь похоже ошибка синтаксиса, не хватает знаний):

$man_description = utf8_substr(strip_tags(html_entity_decode($manufacturer_info['man_description'], ENT_QUOTES, 'UTF-8'));
 
Проблемы в пп.3 (не пишется значение в базу) и 5 (не знаю как прописать вывод значения). 
Братья, не бросьте в беде, подучите новичка.
Ссылка на комментарий
Поделиться на других сайтах


OcStore 2.1.0.2, схожая проблема.
Нужно вывести описание производителя на странице производителя.

 

 

В этой версии и так есть описание производителя на странице производителя.

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

В этой версии и так есть описание производителя на странице производителя.

 

Ну было бы - не спрашивал бы) Вот скрин-пруф http://joxi.ru/Vrw8pbEsOozJem.jpg 

Устанавливал не я, но установлено с оф.сайта.

Заранее спасибо за решение проблемы, важной для широкого круга лиц.

Разработчики взяли и выпилили сео-текст к производителю, это ж ключевые посадочные в большинстве магазинов.

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


Спасибо за внимание, заработало похожее решение, найденное в интернетах (исправно для 1 языка):

 

 

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


Ну было бы - не спрашивал бы) Вот скрин-пруф http://joxi.ru/Vrw8pbEsOozJem.jpg

Устанавливал не я, но установлено с оф.сайта.

 

Это не пруф, а фейл.Или тогда потрудитесь писать верно версию и сборку.

 

http://easycaptures.com/fs/uploaded/908/1885848296.png

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

Оу, прям то, что нужно. У меня версия ocStore 2.1.0.2. 

Ничего не ломал, кроме того, что поверх установил русскую локализацию (rus-opencart2100.zip), а затем удалил дефолтный english.

Спасибо, Tom. Возможно, переустановка решит проблему.

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


Оу, прям то, что нужно. У меня версия ocStore 2.1.0.2

 

Скорее всего нет.Это легко проверить наличием в Система-Настройки вкладка Сервер  наличием выбора Seo Pro и вкладки Octeam в Система-Инструменты.

Качать здесь.

https://myopencart.com/downloads

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

  • 10 месяцев спустя...

Здравствуйте, создал в таблице oc_manufacturer_description 2 дополнительных поля, помогите данные из этих полей вывести в карточку товара, поля называются delkiev и delukraina, пробовал делать по аналогии с вышеуказанными способами, результата нету.

 

ocStore © 2009-2017 Все права защищены.
Версия 1.5.5.1.2

 

 

Изменено пользователем cherkas
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

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

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