Как добавить видео в описании продукта на OpenCart

В этой статье я опишу, как добавить видео-ролик в описание продукта.

Все, описанное ниже, тестировалось на версии Opencart 1.4.8b, но должно работать и на любой другой версии ( возможно с некоторыми минимальными отличиями).

Обязательно сделайте резервную копию БД и всех изменяемых файлов.

Надеюсь, напоминать о том, что Вы все делаете на свой страх и риск, не стоит.

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

И так, поехали.

Для начала нужно внести небольшие изменения в таблицу " oc_product " базы данных MySQL , а именно вставить новый столбец после " stock_status_id " Название нового столбца ' video '

ALTER TABLE oc_product ADD video VARCHAR(60) AFTER stock_status_id;

Далее правим файл /admin/controller/catalog/product.php

Ищем строку 493

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

Добавляем под ней

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

Ищем строку 690

$this->data['keyword'] = '';
 }

Добавляем после закрывающей скобки (строка 692 )

if (isset($this->request->post['video'])) { 

$this->data['video'] = $this->request->post['video']; 

} elseif (isset($product_info)) { 

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

} else { 

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

}

Теперь в файле /admin/language/english/catalog/product.php

Находим строку 32

$_['entry_keyword'] = 'SEO Keyword:';

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

$_['entry_video'] = 'Related Video:';

В файле admin/model/catalog/product.php находим строку 3

public function addProduct($data) {

Чуть ниже ищем

stock_status_id = '" . (int)$data['stock_status_id'] . "',

После запятой вставляем следующее

video = '" . $this->db->escape($data['video']) . "',

Дальше ищем строку 98

public function editProduct

Ниже ищем

stock_status_id = '" . (int)$data['stock_status_id'] . "',

Вставляем после запятой

video = '" . $this->db->escape($data['video']) . "',

Теперь в файле /admin/view/template/catalog/product_form.tpl

Находим </ TR> в строке 159

Ниже вставляем

<tr> 

<td><?php echo $entry_video; ?></td> 

<td><input type="text" name="video" value="<?php echo $video; ?>" /></td> 

</tr>

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

Ищем строку 137

Где-то в районе этой строки ищем

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

Ниже вставляем

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

Находим строку

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

Ниже вставляем

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

Еще не надоело? :-) Тогда продолжаем.

В файле catalog/model/catalog/product.php

Находим строку 3

public function getProduct($product_id) {

Где-то в этом районе ищем

ss.name AS stock FROM

заменяем на

ss.name AS stock, video FROM

Далее в файле catalog/language/english/product/product.php

Ищем строку 21 Вставляем под ней

$_['text_video'] = 'Related Video';

И наконец в файле catalog/view/theme/YOURTHEME/template/product/product.tpl

Найти </ TABLE> в строке 108

Ниже вставляем

<?php if ($video) { ?> 

<div align="center"><?php echo $text_video; ?><br> 

<object width="425" height="350"><param name="movie" value="<?php echo $video; ?>"></param><param name="wmode" value="transparent"></param><embed src="<?php echo $video; ?>" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object> 

</div> 

<?php } ?>

Теперь можем идти в админку OpenCart, переходем на вкладку Каталог>Продукты>Данные . И в добавленное нами поле вставляем YouTube ссылку, или любую другую ссылку видео.

После сохранения, на сайте на странице описания товара должен появитьсядобавленный видео-ролик.

YouTube видео в описании товара opencart