Перейти к содержанию
tim21701

[How-To] Новая вкладка для товаров "Видео". (обновлено)

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

Создаём на странице товара новую вкладку "Видео":

 

Изображение

 

Вкладка в админке:

 

Изображение
ПРИМ:
Если в админке, не вставлена ни одна ссылка на видео - вкладка не отображается.
Решение описанное ниже, для "чистого" OpenCart 1.5.6.4, для других - более ранних версий (в том числе ocStore), смотрите код и делайте все по аналогии...
Для этого метода, настоятельно НЕ рекомендуется использовать vQmod... Если Вам это надо - потратьте 5 минут своего времени, и внесите правки вручную.
 
Далее, по порядку установка (правка файлов):
 


1). В файле admin/controller/catalog/product.php находим строку:

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

Перед ней добавляем:

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

Ниже (в этом же файле) находим строку:

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

Перед ней добавляем:

if (isset($this->request->post['youtube_code'])) {	    $this->data['youtube_code'] = $this->request->post['youtube_code'];	 } elseif (isset($product_info)) {   $this->data['youtube_code'] = $product_info['youtube_code'];  } else {	    $this->data['youtube_code'] = '';	 }

2). В файле admin/language/english/english.php добавляем (в любом месте) строку:
(тоже самое проделываем и со всеми остальными файлами локализации)

$_['tab_video']	    = 'Video';

3). В файле admin/model/catalog/product.php находим код:

$this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()");

Меняем на этот:

$this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), youtube_code='".$data['youtube_code']."'");

Ниже (в этом же файле) находим код:

$this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");

Меняем на этот:

$this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW(), youtube_code='".$data['youtube_code']."' WHERE product_id = '" . (int)$product_id . "'");

4). В файле admin/view/template/catalog/product_form.tpl находим:

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-profile"><?php echo $tab_profile; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

Меняем на:

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-profile"><?php echo $tab_profile; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a tab="#tab_video"><?php echo $tab_video; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

Ниже (в этом же файле) находим:

<div id="tab-reward">

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

<div id="tab_video">    <table>   <tr>	 <td class="left">    <textarea name="youtube_code" cols="120" rows="10"><?php echo $youtube_code; ?></textarea>	 </td>   </tr>    </table>  </div>

5). В файле catalog/controller/product/product.php находим строку:

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

Ниже добавляем:

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

Находим:

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

Перед ней добавляем:

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

5). В файле catalog/model/catalog/product.php находим код:

'model'            => $query->row['model'],

После него добавляем:

'youtube_code'	   => $query->row['youtube_code'],

6). В файле catalog/language/english/english.php добавляем (в любом месте) строку:
(тоже самое проделываем и со всеми остальными файлами локализации)

$_['tab_youtube'] = 'Video';

7). В файле catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl находим код:

<?php if ($images) { ?>   <a href="#tab-images"><?php echo $tab_images; ?>  (<?php echo count($images); ?>)</a><?php } ?>

После него добавляем:

<?php if ($youtube_code) { ?>	<a href="#tab_youtube"><?php echo $tab_youtube; ?></a><?php } ?>

Ниже (в этом же файле) находим код:

<?php if ($products) { ?>  <div id="tab-related" class="tab-content">

Перед ним добавляем:

<?php if ($youtube_code) { ?>	  <div id="tab_youtube" class="tab-content">  <?php echo $youtube_code; ?>   </div><?php } ?>

8). В заключении, у себя на сервере в "phpMyAdmin", необходимо выполнить запрос в базе:

ALTER TABLE `product` ADD `youtube_code` TEXT NOT NULL ;

После этого будет создано новое поле в таблице product, в котором будет храниться ссылка на видео...
(отредактируйте запрос, изменив название таблицы "
product" - если Вы используете префикс)
 
P.S.
Если Вам, необходимо отображать на вкладке - количество добавленных видео (в скобках), читаем сообщения ниже.


 
Данный метод будет работать для любого хостинга видео файлов, будь то Vimeo.com:

 

Изображение

 

или видео с сайта Вконтакте:

 

Изображение

 

Перед правкой - не забываем про резервное копирование файлов

Изменено пользователем tim21701
Обновлено под всю линейку 1.5
  • +1 4

Поделиться сообщением


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

Создаём на странице товара новую вкладку "Видео"...

 

Плюс ещё одна закладка в моей папке "А-ля tim21701"  :eek:

Поделиться сообщением


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

+1 как всегда, интересное решение

Поделиться сообщением


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

Надеюсь, уважаемый tim21701 не накричит на меня, если я дополню дополнение (тавтология ;)) замечанием момента, мол, если сделать вроде

<a tab="#tab_youtube"><?php echo $tab_youtube; ?>  (<?php echo count($youtubes); ?>)</a>
- будет аутентичней, кошерней и релевантней ;). Кстати, сам это дело не тестил, однако оно как-то так..

С уважением.

ГЗВ: Это чтоб в скобочках отображало количество роликов.

  • +1 2

Поделиться сообщением


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

...Это чтоб в скобочках отображало количество роликов.

Это как то не работало. Добавил так:

<a tab="#tab_youtube"><?php echo $tab_youtube; ?>(<?php $pattern = '</object>';preg_match_all($pattern, $youtube_code, $text);echo count($text[0]); ?>)</a>

теперь считает кол-во добавленного видео.и ещё добавил так:

<div id="tab_youtube" class="tab_page"><?php if ($youtube_code) { ?><div align="center"><?php$patterns = '/width="[0-9]{3}"/';$replace = "width=540";$x = preg_replace($patterns, $replace, $youtube_code);echo $x; ?></div><?php } else { ?><div style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-bottom: 10px; w"><?php echo $text_no_contents; ?></div><?php } ?></div>

что бы автоматом выставляло ширину, у меня это 540px (при большой ширине видео вылазит за пределы таба)

  • +1 2

Поделиться сообщением


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

tim21701, спасибо, твои идеи по улучшению движка всегда интересны!

  • +1 1

Поделиться сообщением


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

у себя сделал так:

 <?php $pattern = '<n>'; preg_match_all($pattern, $youtube_code, $text); echo (count($text[0])+1); ?> 

Этот способ считает кол-во строк. Главное размещать все видео отдельной строкой.

  • +1 3

Поделиться сообщением


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

я у себя вставил так и все работает, видео беру с youtube, считает по тегу </iframe>catalog/view/theme/default/template/product/product.tpl

<div class="tabs"><a tab="#tab_description"><?php echo $tab_description; ?></a><a tab="#tab_image"><?php echo $tab_image; ?> (<?php echo count($images); ?>)</a><a tab="#tab_youtube"><?php echo $tab_youtube; ?>(<?php $pattern = '</iframe>';preg_match_all($pattern, $youtube_code, $text);echo count($text[0]); ?>)</a><?php if ($review_status) { ?><a tab="#tab_review"><?php echo $tab_review; ?></a><?php } ?><a tab="#tab_related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a></div>
  • +1 1

Поделиться сообщением


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

Обновил первый пост.

Линейка 1.4 - не актуальна и уже считается "морально" устаревшей...

Поделиться сообщением


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

Добрый день.  tim21701 делает реально крутые штуки, купил модуль для фоток, сейчас думаю по поводу шаблона, в раздумьях))

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

 

post-3779-0-36943200-1425661011_thumb.jpg

post-3779-0-36321600-1425661018_thumb.jpg

Поделиться сообщением


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

Добрый день.  tim21701 делает реально крутые штуки, купил модуль для фоток, сейчас думаю по поводу шаблона, в раздумьях))

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

 

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

 

Найти код:

<a tab="#tab_video"><?php echo $tab_video; ?></a>

 

Заменить на:

<a href="#tab_video"><?php echo $tab_video; ?></a>

Поделиться сообщением


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

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

 

Найти код:

<a tab="#tab_video"><?php echo $tab_video; ?></a>

 

Заменить на:

<a href="#tab_video"><?php echo $tab_video; ?></a>

 

Спасибо, помогло данное решение

Поделиться сообщением


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

Добрый день!

Все сделал, все получилось, единственное это замечание в админке, в товаре: Notice: Undefined variable: tab_profile in/sata1......../admin/view/template/catalpog/product_form.tpl on line 17

post-674922-0-46125200-1429794932_thumb.jpg

Подскажите пожалуйста, как исправить?

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

Что не дает нормально отображаться? Где исправить?

post-674922-0-44654400-1429796157_thumb.jpg

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

Найти код:

<a tab="#tab_video"><?php echo $tab_video; ?></a>

Заменить на:

<a href="#tab_video"><?php echo $tab_video; ?></a>

поменял код как в этом примере, но эффекта не возымело :(

Поделиться сообщением


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

Ругается на эту часть кода (строка 17 в product_form.tpl): 

 

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-profile"><?php echo $tab_profile; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a href="#tab_video"><?php echo $tab_video; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

 

Как я понимаю надо переставить код для вкладки Видео, но вот куда? Пока не знаю.

Поделиться сообщением


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

Если Вы хотите чтоб помогли, давайте более развернутое сообщение... А то получается за три года существования темы - у всех нормально и все работает, а у Вас нет... О чем это говорит???

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

Поделиться сообщением


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

Ув. tim21701 прошу помочь с проблемой: на втором сайте повторил все действия - ошибка та же осталась - в 17 строке  в product_form.tpl в админке сообщается о неопределенной переменной. Код в моей версии движка немного отличается. Ниже  я привел его в сравнении с тем, который Вы указали. Ошибка возникает на 4 пункте при первой замене кода.

Вот мой изначальный код: 

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

 

Код, который по Вашему надо заменить (для сравнения с моим):

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-profile"><?php echo $tab_profile; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

 

 

Ваш код, на который я меняю:

<div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-attribute"><?php echo $tab_attribute; ?></a><a href="#tab-option"><?php echo $tab_option; ?></a><a href="#tab-profile"><?php echo $tab_profile; ?></a><a href="#tab-discount"><?php echo $tab_discount; ?></a><a href="#tab-special"><?php echo $tab_special; ?></a><a href="#tab-image"><?php echo $tab_image; ?></a><a tab="#tab_video"><?php echo $tab_video; ?></a><a href="#tab-reward"><?php echo $tab_reward; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div>

 

Поделиться сообщением


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

Вернул свой код и просто вставил после таба <a href="#tab-image"><?php echo $tab_image; ?></a> - <a tab="#tab_video"><?php echo $tab_video; ?></a>

В админке ошибка убралась, таб встал на место, но на странице товара, таб стоит криво приложил фото:

post-674922-0-97956400-1429868308_thumb.jpg

 

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

Поделиться сообщением


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

Почти получилось! )) Осталось поменять название таба: 

post-674922-0-86033100-1430142630_thumb.jpg

 

Загвоздка оказалась в предпоследнем пункте (перед добавлением в БД) - код отличается от кода автора, поэтому пришлось попробовать вставлять его код в разные места.

Поделиться сообщением


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

А как просто добавить дополнительный таб в карточку, без подключения к админке? Я его заполню прям в tpl файле, чтобы для всех товаров был одинаковый.

Поделиться сообщением


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

Здравствуйте, tim21701

Понадобилось добавить вкладку с дополнительной информацией к товару.

Ваша статья мне очень помогла. Сделал всё по образцу и все замечательно работает.
Даже визуальный редактор к текстовому полю подключил... В общем, спасибо за информацию!
НО... Как сделать так, чтобы данные брались не из таблицы "Product", а из таблицы "Product_description"

Ведь это у меня считается как дополнительное описание к товару, поэтому хотелось бы, чтобы оно хранилось именно там. Люблю порядок, знаете ли :)

Но в PHP - я абсолютный ноль, поэтому не знаю, как это сделать...
Предполагаю, что изменения нужно вносить в "admin/model/catalog/product.php", но какие? Может, ткнёте мне пальцем? :)

Изменено пользователем SergeyKraev

Поделиться сообщением


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

Здравствуйте, tim21701

Понадобилось добавить вкладку с дополнительной информацией к товару.

Ваша статья мне очень помогла. Сделал всё по образцу и все замечательно работает.

Даже визуальный редактор к текстовому полю подключил... В общем, спасибо за информацию!

НО... Как сделать так, чтобы данные брались не из таблицы "Product", а из таблицы "Product_description"

Ведь это у меня считается как дополнительное описание к товару, поэтому хотелось бы, чтобы оно хранилось именно там. Люблю порядок, знаете ли :)

Но в PHP - я абсолютный ноль, поэтому не знаю, как это сделать...

Предполагаю, что изменения нужно вносить в "admin/model/catalog/product.php", но какие? Может, ткнёте мне пальцем? :)

 

Хм... Представляете, сам догадался, как это сделать. 

Покопался в коде туда-сюда... добавил строчку " ', tips = ' " . $this->db->escape($data['tips']) в пару мест и гляди-ка - всё заработало как надо :)

p.s. tips - это моя переменная

 

Но я все равно не отказался бы от вашего ответа, ведь я сделал это случайно, по-топорному и от балды, так сказать :)

  • +1 1

Поделиться сообщением


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

:-D

Поделиться сообщением


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

Подскажите куда копать  ocstore  Версия 1.5.5.1.2

На страничке товара видео отображается вот так  post-703840-0-25500300-1448806961_thumb.jpg

 

Насколько я понимаю причина в пункте 7

 

Пункт 7 у меня код

<?php if ($images) { ?>
      <div class="image-additional">
        <?php foreach ($images as $image) { ?>
        <a href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" class="colorbox"><img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a>
        <?php } ?>

 И после него я вставил

<?php if ($youtube_code) { ?>
    <a href="#tab_youtube"><?php echo $tab_youtube; ?></a>
<?php } ?>

Ниже у меня файл

<?php if ($products) { ?>
    <a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
    <?php } ?>

Перед ним вставил

<?php if ($youtube_code) { ?>
      <div id="tab_youtube" class="tab-content">
  <?php echo $youtube_code; ?>
   </div>
<?php } ?>

Скажите где ошибка или куда копать

Изменено пользователем AlexFisher
<code>

Поделиться сообщением


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

display:block; видимо где-то шалит. и float'ы проверить не помешает.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От tim21701
      Часто задают этот вопрос, что бы не скидывать всем ссылки - вывожу её в отдельную тему.

      =========================================================================
      -----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------
      =========================================================================

      Итак, открываем файл: catalog/view/theme/ВАША_ТЕМА/stylesheet/stylesheet.css и находим строки:
      #menu { background: #585858; border-bottom: 1px solid #000000; height: 37px; margin-bottom: 15px; -webkit-border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -khtml-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-box-shadow: 0px 2px 2px #DDDDDD; -moz-box-shadow: 0px 2px 2px #DDDDDD; box-shadow: 0px 2px 2px #DDDDDD; padding: 0px 5px; } Добавляем туда строку (в любое место):
      text-align:center; Чуть ниже, (в этом же файле) находим:
      #menu ul { list-style: none; margin: 0; padding: 0; } Меняем на эти строки:
      #menu ul { list-style: none; margin:auto; padding: 0; display:inline-block; margin-bottom:-4px; text-align:left; } До:

      После:

      Расширяем возможности горизонтального меню...
       
    • От tim21701
      Если кому пригодится, то вот способ - как разместить на главной странице любой модуль.
      (для примера я взял три модуля; "Рекомендуем", "Хиты продаж" и "Слайд-шоу".)

      Вот результат:




      Итак, открываем файл catalog/controller/common/home.php и находим строку:
       
      $this->children[] = 'common/header'; Добаваляем после неё то - что хотим видеть на главной:
       
      $this->children[] = 'module/featured';$this->children[] = 'module/bestseller';$this->children[] = 'module/sidebarslideshow'; Далее, открываем catalog/view/theme/default/template/common/home.tpl и находим:
       
      <?php foreach ($modules as $module) { ?><?php echo ${$module['code']}; ?><?php } ?> И ниже добавляем своё:
       
      <?php echo $featured; ?><?php echo $bestseller'; ?><?php echo $sidebarslideshow'; ?> Затем, открываем catalog/view/theme/default/stylesheet/stylesheet.css и вместо блока (он в самом низу):
       
      #content .middle .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .middle .box .middle {width: 158px;min-height: 0px;} Ставим свой:
       
      #content .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .box .middle {width: 158px;min-height: 0px;} Таким способом, можно продублировать любой модуль на главной странице.
       
    • От tim21701
      Итак, если Вы не установили изображение для Категории товаров, берём случайное (из товара) и выводим его...

      Пример:



      Для этого, открываем /catalog/controller/product/category.php и находим строки:
       
      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';} После них, вставляем:

      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $category_info['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Ниже, находим блок:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';} После него вставляем:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $result['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Всё.
       
    • От tim21701
      Если Вы хотите, что бы на странице товара, при нажатии на вкладки "Описание", "Фото", "Отзывы", "Рекомендуем" они открывались "плавно" (эффект fade),
      откройте файл catalog/view/javascript/jquery/tab.js и найдите строку:
       
      $($(this).attr('tab')).css('display', 'block'); Добавьте ПЕРЕД ней эту:
       
      $($(this).attr('tab')).fadeIn(); Сохраните и посмотрите что получилось.
       
    • От tim21701
      Для любителей отображения меню списком "дерево" в стиле Windows XP, предлагаю такой вариант:



      Используемые значки:

      В модуле нет заменяемых файлов, только новые.
      Установка: Копируем папки из архива и включаем меню в админке.

      Внимание.
      Данный мод не заменяет основное меню Категорий, у Вас появится ещё одно меню с Категориями!
      (Которое можно использовать как дополнительное... Если захотите отставить только его - отключите "Основное").

      Tree Category.zip
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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