Собственно на этом и начинается ЭТАП 2 – Вывод дополнительного поля, на позиции сайта, данный материал так же писал на базе чужой инструкции custom product fields:
Новое поле необходимо добавить на три страницы: «Страницу продукта», «Страницу сравнения», «Страницу поиска».
Начнём со страницы продукта – открываем catalog/language/en-gb/product/product.php (и catalog/language/ru-ru/product/product.php, если есть русификация)
И добавляем строку:
$_['text_custom_desc'] = 'Custom Description:';
В каталоге "ru":
$_['text_custom_desc'] = 'Описание добавленного поля:';
Как Вы, наверное, уже догадались вместо строк «описания» нужно написать тот текст, который Вам необходим. Следующим шагом открываем catalog/model/catalog/product.php и в функции getProduct() ищем:
'isbn' => $query->row['isbn'],
После которой, добавляем:
'custom_desc' => $query->row['custom_desc'],
Теперь открываем catalog/controller/product/product.php и ищем следующий код:
$data['text_loading'] = $this->language->get('text_loading');
После которой, добавляем:
$data['text_custom_desc'] = $this->language->get('text_custom_desc');
Теперь ищем:
$data['entry_bad'] = $this->language->get('entry_bad');
И добавляем строку:
$data['entry_custom_desc'] = $this->language->get('entry_custom_desc');
И добавляем строку:
$data['entry_custom_desc'] = $this->language->get('entry_custom_desc');
Теперь добавляем в поиск:
$data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
ВНИМАНИЕ: Если Вы пользуетесь ckeditor, то искать необходимо такую строку:
$data['custom_desc'] = html_entity_decode($product_info['custom_desc'], ENT_QUOTES, 'UTF-8');
После, добавляем:
$data['custom_desc'] = $product_info['custom_desc'];
Теперь ищем:
'special' => $special,
и добавляем после:
'custom_desc' => $result['custom_desc'],
Теперь открываем catalog/view/theme/default/template/product/product.tpl и здесь нам придётся выбирать, куда разместить добавленный блок. В качестве примера рассмотрим следующую позицию, найдём:
<div class="tab-pane active" id="tab-description"><?php echo $description; ?>
Сразу после кода, в контейнере div добавляем этот код:
<?php echo $custom_desc;?>
Вы сами можете поэкспериментировать с выводом блока и его размещением на нужной Вам позиции.
Переходим на страницу поиска. Для этого откроем файл catalog/controller/product/search.php и ищем следующую строку $data['products'][] = array далее после этой строки:
'price' => $price,
Добавляем следующую строку:
'custom_desc' => $result['custom_desc'],
Теперь открываем файл шаблона catalog/view/theme/default/template/product/search.tpl и после строки:
<p><?php echo $product['description']; ?></p>
Добавляем следующую строку:
<p><?php echo $product['custom_desc']; ?></p>
Финальный этап – страница сравнения. Открываем файл catalog/language/en_gb/product/compare.php (если установлен русификатор такие же действия проводим и с файлом catalog/language/ru_ru/product/compare.php) и добавляем следующую строку:
$_['text_custom_desc'] = 'Custom Description';
Как можно догадаться, вместо Custom Description может быть любое значение. Теперь откроем catalog/controller/product/compare.php и найдём строку
'model' => $product_info['model'],
Добавляем:
'custom_desc' => $product_info['custom_desc'],
Далее ищем
$data['text_summary'] = $this->language->get('text_summary');
Добавляем:
$data['text_custom_desc'] = $this->language->get('text_custom_desc');
И в завершение открываем catalog/view/theme/default/template/product/compare.tpl ищем:
<tr>
<td><?php echo $text_summary; ?></td>
<?php foreach ($products as $product) { ?>
<td class="description"><?php echo $products[$product['product_id']]['description']; ?></td>
<?php } ?>
</tr>
И добавляем следующий код:
<tr> <td><?php echo $text_custom_desc; ?></td> <?php foreach ($products as $product) { ?> <td class="description"><?php echo $products[$product['product_id']]['custom_desc']; ?></td> <?php } ?> </tr>
По аналогичному методу можно добавлять и другие доп-поля, с другими наименованиями.