Jump to content
Sign in to follow this  
stalker780

[Поддержка] Заявка на кредит [VQMOD]

Recommended Posts

Заявка на кредит [VQMOD]


Заявка на кредит [VQMOD]


Всплывающее окно с формой на оформление кредита.

Заявка отправляется на указанные email или на стандартные.

При оформлении заказа не участвует.

Имеет встроенный калькулятор платежей.

Позволяет производить все настройки из админки.

Не заменяет системных файлов.

Требуется vqMod, либо ручное добавление кнопки в product.tpl


 

Share this post


Link to post
Share on other sites

Там только приват банк? Или я могу выставлять любой банк? 

Share this post


Link to post
Share on other sites

А данный модуль может совершенствовался? может какие-то новые функции появились? например возможность для каждого банка вписывать свою формулу расчета кредита + картинки для каждого банка+ какие-то дополнительные поля (которые требует банк)

Share this post


Link to post
Share on other sites

А данный модуль может совершенствовался? может какие-то новые функции появились? например возможность для каждого банка вписывать свою формулу расчета кредита + картинки для каждого банка+ какие-то дополнительные поля (которые требует банк)

В планах есть мультиязычность.

Давайте примеры формул - подумаю.

Про картинки не понял. На страничке банка можно использовать HTML. Там не только картинки можно добавлять.

Поля в принципе тоже можно сделать.

Как будет просвет в основной работе - поковыряю.

Share this post


Link to post
Share on other sites

ну у меня есть пока только формула от УкрСиббанка (с ним работаю пока что). На счет картинок то думал чтобы отображались в табе для каждого банка в соответствии своя. (Впринципе картинки не существенно). На счет дополнительных полей ... хорошо бы было их добавлять сколько хочешь (от требований банка) и называть как хочешь. Они на почту отправляются представителю банка и админу магаза (для контроля). Готов оплатить роботу $ ;)  Дякую))

Share this post


Link to post
Share on other sites

А в модуле стоит ограничение на сумму покупки?? Где  это значение поменять?

Здесь есть возможность покупки http://www.avtotool.com.ua/best-t521

Здесь уже нету http://www.avtotool.com.ua/best-tr57

 

Как решить?

Share this post


Link to post
Share on other sites

Возможно ли с помощью Вашего модуля реализовать подобную кнопку "В рассрочку" http://skymarket.ua/lenovo-ideaphone-a390t-pink.html ? Спасибо.

 

1. То же интересует.

2. Релиз ocStore 1.5.5.1.2  будет работать?

Share this post


Link to post
Share on other sites

 

 

2. Релиз ocStore 1.5.5.1.2  будет работать?

 

интересует.

для Альфа-банка будет работать?

---

будет ли соответствовать данным требованиям или это всё можно настроить?

 

 

 

№ п/п

Наименование тега

Требования по заполнению

Пример заполнения

Общий блок: <inParams>

1

<firstPayment>

Поле передается только для полной анкеты!!! В данном теге необходимо передавать сумму первоначального (не более 15-ти символов) взноса по кредиту (в рублях, без копеек)

1000

2

<INN>

В данном теге необходимо передавать ИНН магазина

7743758735

3

<tradePointPhone>

Поле передается только для короткой анкеты!!! В данном теге должен быть передан телефон интернет-магазина (должен соответствовать формату «7xxxxxxxxxx», где x – цифра [0-9].)

74959871419

4

<email>

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

 alfabank@alfabank.ru

5

<tradeSite>

В данном теге необходимо передавать номер своей торговой площадки. У каждого партнера это свой уникальный номер.

174092

6

<userId>

В данном теге необходимо передавать уникальный код магазина. У каждого партнера это свой уникальный номер (будет сгенерирован и выcлан для каждого партнера).

SLCF

7

<reference>

В данном поле мы ожидаем технический идентификатор уникальный в рамках точки продаж, если из магазина поступят две заявки с одинаковой комбинацией reference+ tradePoint, то по заявке поступившей позже обработка выполняться не будет (т.к. такая ситуация считается техническим сбоем на стороне компании-партнера).

00000716

Блок спецификации товаров: <specificationList>

Блок конкретного товара: <specificationListRow> (таких блоков может быть несколько, но не менее 1-го и не более 10-ти! При этом общее количество товаров не может превышать 10!)

8

<category>

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

MOBILE_PHONE

9

<code>

В данном теге должен быть передан код товара. Значение на усмотрение интернет-магазина (строка до 50-ти символов).

#123

10

<description>

Описание товара (до 50-ти символов)

Телефон HTC

11

<amount>

В данном теге должно быть передано количество товара данного наименования (от 1 до 10).

1

12

<price>

В данном теге должна быть передана стоимость товара (до 15 символов)

15000

Конец блока конкретного товара: </specificationListRow>

Конец блока спецификации товаров: </specificationList>

 

Готов заплатить за оптимизацию компонента под Альфабанк

Share this post


Link to post
Share on other sites

Модуль бесполезный. Лучше интегрировать модуль кредитных сервисов 

Share this post


Link to post
Share on other sites

ТС Вы бываете в теме? Собрался покупать. А тут оказывается Вы сюда не заглядываете, тех. поддержки 0!

Share this post


Link to post
Share on other sites

ТС Вы бываете в теме? Собрался покупать. А тут оказывается Вы сюда не заглядываете, тех. поддержки 0!

В чем ваш вопрос?

Share this post


Link to post
Share on other sites

В чем ваш вопрос?

Вопрос в том, что

Файл помечен как испорченный, так как: При расчете калькулятором суммы название товара не отображает

То есть обновлений уже нету? Интересует работа на нестандартном шаблоне + на последней версии осторе

Share this post


Link to post
Share on other sites

Вопрос в том, что

Файл помечен как испорченный, так как: При расчете калькулятором суммы название товара не отображает

То есть обновлений уже нету? Интересует работа на нестандартном шаблоне + на последней версии осторе

 

Заявленная проблема с названием товара отсутствует.

 

На нестандартном шаблоне, возможно, работать не будет как и любой vqMod. Шаблоны бывают разные.

После настройки модуля в админке можете в нужном месте в /product/product.tpl вставить код:

 

<?php if (($credit_price >= (float)$this->config->get('credit_form_minimum')) && $this->config->get('credit_form_status')) { ?><a id="credit_button" class="button" onclick="$.colorbox({href:'<?php echo $this->url->link('information/credit_form','pid='.$product_id.'&price='.$credit_price); ?>',iframe:true,width:<?php echo (int)$this->config->get('credit_form_width'); ?>,height:<?php echo (int)$this->config->get('credit_form_height'); ?>});" title="<?php echo $this->config->get('credit_form_button_hint'); ?>"><?php echo $this->config->get('credit_form_button_title'); ?></a><?php } ?>

На ocStore 1.5.5.1.2 работает.

Share this post


Link to post
Share on other sites

Какая то ошибка Notice: Undefined variable: entry_email in /home/ukrse/e-ukrservice.com/www/admin/view/template/module/credit_form.tplon line 194

неактуально, после перезахода в модуль, все хорошо.

 

Другой вопрос как устранить конфликт стилей? И именно не кнопки, для нее я сделал подгрузку отдельного стиля через вкмод, а для colorbox, конфликтует с тем, что в модуле. Спасибо.

Share this post


Link to post
Share on other sites

Заявленная проблема с названием товара отсутствует.

 

Резюмирую, что название по переменной все же не выводится это факт. Осторе последняя версия. Проверьте. Цену выводит, а название нет. + у меня название отображается не в табе.

 

ef7031d0a7c7be33f39397c432e70bc2.png

Edited by hover

Share this post


Link to post
Share on other sites

обновил модуль

 

* fix Undefined variable: entry_email

* fix seo_h1 + {product-name}

* fix admin tabs

 

 

Какая то ошибка Notice: Undefined variable: entry_email in /home/ukrse/e-ukrservice.com/www/admin/view/template/module/credit_form.tplon line 194

неактуально, после перезахода в модуль, все хорошо.

 

Другой вопрос как устранить конфликт стилей? И именно не кнопки, для нее я сделал подгрузку отдельного стиля через вкмод, а для colorbox, конфликтует с тем, что в модуле. Спасибо.

 

Что касается стилей - я так понимаю, что у вас нестандартный шаблон.

Скорее всего отсутствуют стили для табов... В общем могу только гадать не видя шаблона.

Share this post


Link to post
Share on other sites

обновил модуль

 

* fix Undefined variable: entry_email

* fix seo_h1 + {product-name}

* fix admin tabs

 

 

 

Что касается стилей - я так понимаю, что у вас нестандартный шаблон.

Скорее всего отсутствуют стили для табов... В общем могу только гадать не видя шаблона.

Скинул Васм в личку адрес сайта

Share this post


Link to post
Share on other sites

Вообщем спасибо автору все работает, стили помог подправить, а также внес правки в код, можно снять пометку, что испорчен. Все работает!

Share this post


Link to post
Share on other sites

обновил модуль

 

* fix Undefined variable: entry_email

* fix seo_h1 + {product-name}

* fix admin tabs

 

 

 

Что касается стилей - я так понимаю, что у вас нестандартный шаблон.

Скорее всего отсутствуют стили для табов... В общем могу только гадать не видя шаблона.

 

Автор наверно игнорирует мои вопросы!?

 

А в модуле стоит ограничение на сумму покупки?? Где  это значение поменять?

Здесь есть возможность покупки http://www.avtotool.com.ua/best-t521

Здесь уже нету http://www.avtotool.com.ua/best-tr57

 

Как решить?

 

Как решить проблему с выводом по максимальной цене товара??? На товары большой ценной кнопка не выводиться!!!

Share this post


Link to post
Share on other sites

Автор наверно игнорирует мои вопросы!?

Вопрос по табам был мой  :-) Автор все решил через ЛС, я об этом писал.

Share this post


Link to post
Share on other sites

Автор наверно игнорирует мои вопросы!?

 

 

Как решить проблему с выводом по максимальной цене товара??? На товары большой ценной кнопка не выводиться!!!

 

Не игнорирую, просто сказать нечего. Ограничения по максимальной цене в модуле нет, только по минимальной (задается в админке).

 

Что говорят логи vqmod и opencart? Ошибки есть какие-то?

В идеале бы  глянуть на catalog/controller/product/product.php и view/theme/*/template/product/product.tpl

Share this post


Link to post
Share on other sites

Не игнорирую, просто сказать нечего. Ограничения по максимальной цене в модуле нет, только по минимальной (задается в админке).

 

Что говорят логи vqmod и opencart? Ошибки есть какие-то?

В идеале бы  глянуть на catalog/controller/product/product.php и view/theme/*/template/product/product.tpl

 

Вот страницы:

catalog/controller/product/product.php

class ControllerProductProduct extends Controller {
private $error = array();

public function index() {
$this->language->load('product/product');

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

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home'),
'separator' => false
);

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

$this->load->model('module/offers');

if (isset($this->request->get['path'])) {
$path = '';

foreach (explode('_', $this->request->get['path']) as $path_id) {
if (!$path) {
$path = $path_id;
} else {
$path .= '_' . $path_id;
}

$category_info = $this->model_catalog_category->getCategory($path_id);

if ($category_info) {
$this->data['breadcrumbs'][] = array(
'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'path=' . $path),
'separator' => $this->language->get('text_separator')
);
}
}
}

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

if (isset($this->request->get['manufacturer_id'])) {
$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_brand'),
'href' => $this->url->link('product/manufacturer'),
'separator' => $this->language->get('text_separator')
);

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);

if ($manufacturer_info) {
$this->data['breadcrumbs'][] = array(
'text' => $manufacturer_info['name'],
'href' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $this->request->get['manufacturer_id']),
'separator' => $this->language->get('text_separator')
);
}
}

if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_tag'])) {
$url = '';

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_search'),
'href' => $this->url->link('product/search', $url),
'separator' => $this->language->get('text_separator')
);
}

if (isset($this->request->get['product_id'])) {
$product_id = $this->request->get['product_id'];
} else {
$product_id = 0;
}

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

$product_info = $this->model_catalog_product->getProduct($product_id);

$date_modified = strtotime($product_info['date_modified']);
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
$modified_since = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ($modified_since >= $date_modified) {
header ("HTTP/1.1 304 Not Modified ");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s", $date_modified) . " GMT");
exit();
}
}
header ("Last-Modified: " . gmdate("D, d M Y H:i:s", $date_modified) . " GMT");

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

if ($product_info) {
$url = '';

if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
}

if (isset($this->request->get['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $product_info['name'],
'href' => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']),
'separator' => $this->language->get('text_separator')
);

if ($product_info['seo_title']) {
$this->document->setTitle($product_info['seo_title']);
} else {
$this->document->setTitle($product_info['name'] .' | в маг. AVTOTOOL. Цена, купить в Киеве, Харькове, Днепропетровске, Донецке, Одессе, Львове, Запорожье, Севастополе. Описание, инструкция, отзывы, обзор, продажа, доставка по Украине.');
}

if ($product_info['meta_description']) {
$this->document->setDescription($product_info['meta_description']);
} else {
$this->document->setDescription($product_info['name'] .' купить в интернет-магазине Avtotool.com.ua | Тел: (096) 96-40-850. Лучшие цены, доставка по Украине, гарантия!' );
}

$this->document->setKeywords($product_info['meta_keyword'] .' купить, ' . $product_info['model'] .', ' . $category_info['name'] .', цена в Киеве, стоимость, магазин в Харькове, предложение, видео, описание, инструкция, отзывы, обзор, продажа.');
$this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');

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

$this->data['heading_title'] = $product_info['name'];

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

$this->data['text_select'] = $this->language->get('text_select');
$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
$this->data['text_model'] = $this->language->get('text_model');
$this->data['text_reward'] = $this->language->get('text_reward');
$this->data['text_points'] = $this->language->get('text_points');
$this->data['text_discount'] = $this->language->get('text_discount');
$this->data['text_stock'] = $this->language->get('text_stock');
$this->data['text_price'] = $this->language->get('text_price');
$this->data['text_tax'] = $this->language->get('text_tax');
$this->data['text_discount'] = $this->language->get('text_discount');
$this->data['text_option'] = $this->language->get('text_option');
$this->data['text_qty'] = $this->language->get('text_qty');
$this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
$this->data['text_or'] = $this->language->get('text_or');
$this->data['text_write'] = $this->language->get('text_write');
$this->data['text_note'] = $this->language->get('text_note');
$this->data['text_share'] = $this->language->get('text_share');
$this->data['text_wait'] = $this->language->get('text_wait');
$this->data['text_tags'] = $this->language->get('text_tags');

$this->data['entry_name'] = $this->language->get('entry_name');
$this->data['entry_review'] = $this->language->get('entry_review');
$this->data['entry_rating'] = $this->language->get('entry_rating');
$this->data['entry_good'] = $this->language->get('entry_good');
$this->data['entry_bad'] = $this->language->get('entry_bad');
$this->data['entry_captcha'] = $this->language->get('entry_captcha');

$this->data['button_cart'] = $this->language->get('button_cart');
$this->data['button_wishlist'] = $this->language->get('button_wishlist');
$this->data['button_compare'] = $this->language->get('button_compare');
$this->data['button_upload'] = $this->language->get('button_upload');
$this->data['button_continue'] = $this->language->get('button_continue');
/*Additional offer*/
$this->data['text_additional_offer'] = $this->language->get('text_additional_offer');
/*Additional offer*/

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

$this->data['tab_description'] = $this->language->get('tab_description');
$this->data['tab_attribute'] = $this->language->get('tab_attribute');
$this->data['tab_review'] = sprintf($this->language->get('tab_review'), $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']));
$this->data['tab_related'] = $this->language->get('tab_related');

$this->data['product_id'] = $this->request->get['product_id'];
$this->data['manufacturer'] = $product_info['manufacturer'];
$this->data['manufacturers'] = $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']);
$this->data['model'] = $product_info['model'];
$this->data['reward'] = $product_info['reward'];
$this->data['points'] = $product_info['points'];

if ($product_info['quantity'] <= 0) {
$this->data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$this->data['stock'] = $product_info['quantity'];
} else {
$this->data['stock'] = $this->language->get('text_instock');
}

$this->load->model('tool/image');

$this->data['mimage'] = $this->model_tool_image->resize($product_info['mimage'],150,50);

if ($product_info['image']) {
$this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'));
} else {
$this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
}

if ($product_info['image']) {
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
} else {
$this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
}

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

$offerLabel = $this->model_module_offers->getOfferLabelToProduct($product_id);
if($offerLabel) {
$this->data['label'] = $this->model_tool_image->resize($offerLabel['label'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
} else {
$this->data['label'] = false;
}

$results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);

foreach ($results as $result) {
$this->data['images'][] = array(
'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
'sale' => '
' . '-' . round((($result['price'] - $result['special'])/$result['price'])*100, 0) . '%' . '
',
'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
);
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$this->data['price'] = false;
}

if ((float)$product_info['special']) {
$this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$this->data['special'] = false;
}

if ($this->config->get('config_tax')) {
$this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
} else {
$this->data['tax'] = false;
}

$discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);

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

foreach ($discounts as $discount) {
$this->data['discounts'][] = array(
'quantity' => $discount['quantity'],
'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
);
}
/*Additional offer*/
$additionaloffer = $this->model_catalog_product->getProductAdditionalOffer($this->request->get['product_id']);
if(!empty($additionaloffer)) {
$this->load->model('localisation/language');
$lg = $this->model_localisation_language->getLanguage($this->config->get('config_language_id'));
$this->document->addScript('catalog/view/javascript/countdown/jquery.countdown.js');
if($lg['code'] != 'en') {
$lscript = 'catalog/view/javascript/countdown/jquery.countdown-'.$lg['code'].'.js';
} else {
$lscript = 'catalog/view/javascript/countdown/jquery.countdown-en.js';
}
$this->document->addScript($lscript);
$this->document->addStyle('catalog/view/javascript/countdown/jquery.countdown.css');
$this->data['text_ao_date_end'] = $this->language->get('text_ao_date_end');
$date_end = explode('-',$additionaloffer['date_end']);
$this->data['ao_date_end'] = $date_end[0].', '.(int)$date_end[1]. ' - 1, ' . $date_end[2];


$this->data['additionaloffer'] = array(
'descr' => sprintf($this->language->get('text_ao_date'), str_replace('-','.',$additionaloffer['date_start']),str_replace('-','.',$additionaloffer['date_end'])),
'text' => html_entity_decode($additionaloffer['description'], ENT_QUOTES, 'UTF-8'),
'image' => $this->model_tool_image->resize($additionaloffer['image'], 140, 106)
);
} else {
$this->data['additionaloffer'] = false;
}
/*Additional offer*/
$this->data['options'] = array();

foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') {
$option_value_data = array();

foreach ($option['option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}

$option_value_data[] = array(
'product_option_value_id' => $option_value['product_option_value_id'],
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'image' => $this->model_tool_image->resize($option_value['image'], 50, 50),
'price' => $price,
'price_prefix' => $option_value['price_prefix']
);
}
}

$this->data['options'][] = array(
'product_option_id' => $option['product_option_id'],
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'option_value' => $option_value_data,
'required' => $option['required']
);
} elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
$this->data['options'][] = array(
'product_option_id' => $option['product_option_id'],
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'option_value' => $option['option_value'],
'required' => $option['required']
);
}
}

if ($product_info['minimum']) {
$this->data['minimum'] = $product_info['minimum'];
} else {
$this->data['minimum'] = 1;
}

$this->data['review_status'] = $this->config->get('config_review_status');
$this->data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);
$this->data['rating'] = (int)$product_info['rating'];
$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
# start filter
$this->load->model('catalog/filter');
# end filter
# start filter products attributes
$this->data['attribute_groups'] = array();

$product_options = array();

$filter_options = $this->model_catalog_filter->getOptionsByProductsId(array($this->request->get['product_id']));

if ($filter_options) {
foreach ($filter_options as $product_id => $options) {
foreach($options as $option) {
if (isset($option['values']) && $option['values']) {
$this->data['attribute_groups'][] = array(
'name' => '',
'attribute' => array(array(
'name' => $option['name'],
'text' => $option['values'] . $option['postfix']
))
);
}
}
}
}
# end filter products attributes


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

$results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);

foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));
} else {
$image = false;
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}

if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}

if ($this->config->get('config_review_status')) {
$rating = (int)$result['rating'];
} else {
$rating = false;
}

$this->data['products'][] = array(
'product_id' => $result['product_id'],
'description' => $product_info['description'],
'thumb' => $image,
'sale' => '
' . '-' . round((($result['price'] - $result['special'])/$result['price'])*100, 0) . '%' . '
',
'name' => $result['name'],
'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']),
);
}

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

$results = $this->model_catalog_product->getProductTags($this->request->get['product_id']);

foreach ($results as $result) {
$this->data['tags'][] = array(
'tag' => $result['tag'],
'href' => $this->url->link('product/search', 'filter_tag=' . $result['tag'])
);
}

# Start Download
$this->data['downloads'] = array();

$results = $this->model_catalog_product->getDownloads($this->request->get['product_id']);

foreach ($results as $result) {
if (file_exists(DIR_DOWNLOAD . $result['filename'])) {
$size = filesize(DIR_DOWNLOAD . $result['filename']);

$i = 0;

$suffix = array(
'B',
'KB',
'MB',
'GB',
'TB',
'PB',
'EB',
'ZB',
'YB'
);

while (($size / 1024) > 1) {
$size = $size / 1024;
$i++;
}

$this->data['downloads'][] = array(
'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
'name' => $result['name'],
'size' => round(substr($size, 0, strpos($size, '.') + 4), 2) . $suffix[$i],
'href' => $this->url->link('product/product/download', 'product_id='. $this->request->get['product_id']. '&download_id=' . $result['download_id'])
);
}
}
# End Download


$this->model_catalog_product->updateViewed($this->request->get['product_id']);

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/product.tpl';
} else {
$this->template = 'default/template/product/product.tpl';
}

$this->children = array(
'module/prevnext',
'module/product_offers',
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);

$this->response->setOutput($this->render());
} else {
$url = '';

if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
}

if (isset($this->request->get['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_error'),
'href' => $this->url->link('product/product', $url . '&product_id=' . $product_id),
'separator' => $this->language->get('text_separator')
);

$this->document->setTitle($this->language->get('text_error'));

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

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

$this->data['button_continue'] = $this->language->get('button_continue');
$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found');
$this->data['continue'] = $this->url->link('common/home');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
$this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
} else {
$this->template = 'default/template/error/not_found.tpl';
}

$this->children = array(
'module/prevnext',
'module/product_offers',
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);

$this->response->setOutput($this->render());
}
}

public function review() {
$this->language->load('product/product');

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

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

if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}

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

$review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);

$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

foreach ($results as $result) {
$this->data['reviews'][] = array(
'author' => $result['author'],
'text' => $result['text'],
'rating' => (int)$result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$review_total),
'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
);
}

$pagination = new Pagination();
$pagination->total = $review_total;
$pagination->page = $page;
$pagination->limit = 5;
$pagination->text = $this->language->get('text_pagination');
$pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}');

$this->data['pagination'] = $pagination->render();

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/review.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/review.tpl';
} else {
$this->template = 'default/template/product/review.tpl';
}

$this->response->setOutput($this->render());
}

public function write() {
$this->language->load('product/product');

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

$json = array();

if ($this->request->server['REQUEST_METHOD'] == 'POST') {
if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) {
$json['error'] = $this->language->get('error_name');
}

if ((utf8_strlen($this->request->post['text']) < 25) || (utf8_strlen($this->request->post['text']) > 1000)) {
$json['error'] = $this->language->get('error_text');
}

if (empty($this->request->post['rating'])) {
$json['error'] = $this->language->get('error_rating');
}

if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
$json['error'] = $this->language->get('error_captcha');
}

if (!isset($json['error'])) {
$this->model_catalog_review->addReview($this->request->get['product_id'], $this->request->post);

$json['success'] = $this->language->get('text_success');
}
}

$this->response->setOutput(json_encode($json));
}

public function captcha() {
$this->load->library('captcha');

$captcha = new Captcha();

$this->session->data['captcha'] = $captcha->getCode();

$captcha->showImage();
}

# Start Download
public function download() {

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

if (isset($this->request->get['download_id'])) {
$download_id = $this->request->get['download_id'];
} else {
$download_id = 0;
}

if (isset($this->request->get['product_id'])) {
$product_id = $this->request->get['product_id'];
} else {
$product_id = 0;
}

$download_info = $this->model_catalog_product->getDownload($product_id, $download_id);

if ($download_info) {
$file = DIR_DOWNLOAD . $download_info['filename'];
$mask = basename($download_info['mask']);

if (!headers_sent()) {
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . ($mask ? $mask : basename($file)) . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));

readfile($file, 'rb');

//$this->model_account_download->updateRemaining($this->request->get['download_id']);

exit;
} else {
exit('Error: Could not find file ' . $file . '!');
}
} else {
exit('Error: Headers already sent out!');
}
} else {
$this->redirect(HTTP_SERVER . 'index.php?route=account/download');
}
}

# End Download


public function upload() {
$this->language->load('product/product');

$json = array();

if (!empty($this->request->files['file']['name'])) {
$filename = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8')));

if ((strlen($filename) < 3) || (strlen($filename) > 64)) {
$json['error'] = $this->language->get('error_filename');
}

$allowed = array();

$filetypes = explode(',', $this->config->get('config_upload_allowed'));

foreach ($filetypes as $filetype) {
$allowed[] = trim($filetype);
}

if (!in_array(substr(strrchr($filename, '.'), 1), $allowed)) {
$json['error'] = $this->language->get('error_filetype');
}

if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
$json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
}
} else {
$json['error'] = $this->language->get('error_upload');
}

if (!$json) {
if (is_uploaded_file($this->request->files['file']['tmp_name']) && file_exists($this->request->files['file']['tmp_name'])) {
$file = basename($filename) . '.' . md5(mt_rand());

// Hide the uploaded file name so people can not link to it directly.
$json['file'] = $this->encryption->encrypt($file);

move_uploaded_file($this->request->files['file']['tmp_name'], DIR_DOWNLOAD . $file);
}

$json['success'] = $this->language->get('text_upload');
}

$this->response->setOutput(json_encode($json));
}
}
?> 

 

view/theme/*/template/product/product.tpl

<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div itemscope itemtype="http://schema.org/Product" id="content"><?php echo $content_top; ?>
        <?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
        <?php if($i+1<count($breadcrumbs)) { ?>
<div class="breadcrumb" xmlns:v="http://rdf.data-vocabulary.org/#"> <?php echo $breadcrumb['separator']; ?><span typeof="v:Breadcrumb"><a href="<?php echo $breadcrumb['href']; ?>" rel="v:url" property="v:title"><?php echo $breadcrumb['text']; ?></a></span>
</div> <?php } else { ?><div class="breadcrumb" xmlns:v="http://rdf.data-vocabulary.org/#"><?php echo $breadcrumb['separator']; ?></div> <?php } ?>
        <?php } ?>
		<?php echo $prevnext; ?>
  <h1 itemprop="name" style="margin-bottom: 0.1em;"><?php echo $heading_title; ?></h1>
				<meta itemprop="model" content="<?php echo $model; ?>" >
				<meta itemprop="manufacturer" content="<?php echo $manufacturer; ?>" >
				<meta itemprop="url" content="<?php echo $breadcrumb['href']; ?>" >
				<div class="product-kod">  
        <span><?php echo $text_model; ?></span> <?php echo $model; ?><br />
		Производитель: <a href="<?php echo $manufacturers; ?>" title="<?php echo $manufacturer; ?>"><?php echo $manufacturer; ?></a><br /></div>
  <div class="product-info">
    <?php if ($thumb || $images) { ?>
    <div class="left">
      <?php if ($thumb) { ?>
      <div style="position:relative" class="image"><?php if ($label) { ?>
<div style="position: absolute;left: 0;top: 0;">
    <a href="<?php echo $popup; ?>" alt="Картинка <?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $label; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a>
</div>
<?php } ?>
<a href="<?php echo $popup; ?>" itemprop="image" title="<?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><?php if ($product['special']) { ?><?php echo $products['sale']; ?><?php } ?><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" /></a>
	  <link rel="image_src" href="<?php echo $popup; ?>" title="Фото товара <?php echo $heading_title; ?>" alt="Фотография <?php echo $heading_title; ?>" id="image" style="margin-bottom: 3px;">
	  </div>
      <?php } ?>
 <?php if ($youtube_code) { ?>
   <div class="video"><img src="catalog/view/theme/prosperity_red/image/youtube.png"/><a onclick="$('a[href=\'#tab-video\']').trigger('click');"><?php echo $text_yes_video; ?></a></div>
      <?php } ?>
      <?php if ($images) { ?>
      <div class="image-additional">
        <?php foreach ($images as $image) { ?>
        <a href="<?php echo $image['popup']; ?>" itemprop="image" title="<?php echo $heading_title; ?>" alt="Картинка <?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $image['thumb']; ?>" title="Фото <?php echo $heading_title; ?>" alt="Картинка <?php echo $heading_title; ?>" /></a>
        <?php } ?>
      </div>
      <?php } ?>
    </div>
    <?php } ?>
    <div class="right">
	  <!--Additional offer-->
		<?php if($additionaloffer) { ?>
		<div class="promo">
		<div class="additionaloffer" style="overflow: auto;">
			<h2><?php echo $text_additional_offer;?></h2>
			<div class="additional-img">
				<img src="<?php echo $additionaloffer['image'];?>" width="auto" height="auto" />
			</div>
			<div class="additional-descr">
				<?php echo $additionaloffer['text'];?>
				<div class="to-period"><?php echo $additionaloffer['descr'];?></div>
			</div>

		</div>
        <div class="to-date">
		<script type="text/javascript">
        	$(function () {
        		var austDay = new Date();
        		austDay = new Date(<?php echo $ao_date_end;?>);
        		$('#defaultCountdown').countdown({
        		   until: austDay,
        		   description: '<?php echo $text_ao_date_end; ?>'
        		   });
        		
        	});
        	</script>
        	<div id="defaultCountdown"></div>
        </div>
		</div>
		<?php } ?>
		<!--Additional offer-->
      <div class="stock"><?php echo $stock; ?></div>
      <?php if ($price) { ?>
      <div itemprop = "offers" itemscope itemtype = "http://schema.org/Offer" class="price"><meta itemprop="price" content="<?php echo ($special ? $special : $price); ?>" />
				<meta itemprop="priceCurrency" content="<?php echo $currency; ?>" />
				<link itemprop = "availability" href = "http://schema.org/<?php echo (($quantity > 0) ? "InStock" : "OutOfStock") ?>" /><span class="price-text"><?php echo $text_price; ?></span>
        <?php if (!$special) { ?>
        <span class="price-norm"><?php echo $price; ?>*</span>
        <?php } else { ?>
        <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?>*</span><span class="price-ac"><img src="catalog/view/theme/prosperity_red/image/action-price.png"/></span>
        <?php } ?>
        <br />
        <?php if ($tax) { ?>
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br />
        <?php } ?>
        <?php if ($points) { ?>
        <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br />
        <?php } ?>
        <?php if ($discounts) { ?>
        <br />
        <div class="discount">
          <?php foreach ($discounts as $discount) { ?>
          <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />
          <?php } ?>
        </div>
        <?php } ?>
      </div>
<div class="cart">
        <div>
          <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
           
          <?php if (!$product_quantity && $waitlist_enabled) { ?>
                            <div class="waitlist-add">
                              <?php if ($product_already_in_waitlist) { ?>
                                <?php echo $text_already_waitlist; ?>
                              <?php } else { ?>
                                <a onclick="addToWaitList('<?php echo $product_id; ?>');" class="button-list"><?php echo $text_notify_available; ?></a>
                              <?php } ?>
                            </div>
                          <?php } else { ?>
                                                        <input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
                             <a id="button-cart" class="buttonc"><span><?php echo $button_cart; ?></span></a>
                          <?php } ?>
        </div>
        <div><span>   <?php echo $text_or; ?>   </span></div>
        <div><div class="wishlist"><a onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a></div><br />
			<div class="compare"><a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a></div><br />
			<noindex><a class="cboxElement" href="index.php?route=module/feedbackpro/getform&id=1" style="padding-left: 18px;display: table-cell;padding-bottom: 2px; background: url(image/call_back.png) left center no-repeat;">Перезвонить Вам?</a></noindex><br />
			<noindex><a class="feedbackprocall button" style="padding: 2px 12px;" href="index.php?route=module/feedbackpro/getform&id=3">Нашли дешевле?</a></noindex>
</div>

        <?php if ($minimum > 1) { ?>
        <div class="minimum"><?php echo $text_minimum; ?></div>
        <?php } ?>
      </div>
	  
<div>
	  	  <table border="0" cellpadding="1" cellspacing="1" style="width: 485px; /* background: #FAFAC6; */">
	<tbody>
		<tr>
			<td><span style="font-size:10px;"><a class="tooltip" title="Мы следим за товарами. В 99% случаях цена и наличие актуальная!"><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/om_ac.png" style="width: 25px; height: 25px; float: left;left: 20%;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;">Актуально</span></a></span></td>
			<td><strong><span style="font-size:10px;"><a class="tooltip" title="На товары передоставляеться гарантия согласно условиям завода производителя/поставщика."><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/om_kt.png" style="width: 25px; height: 25px; float: left;left: 20%;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;">Качество</span></a></span></strong></td>
			<td><strong><span style="font-size:10px;"><a class="tooltip" title="Будьте уверены, доставим товары в самые кратчайшие сроки!"><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/om_sd.png" style="width: 25px; height: 25px; float: left;left: 20%;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;">Оперативно</span></a></span></strong></td>
			<td><strong><span style="font-size:10px;"><a class="tooltip" title="Мы работаем официально! Вместе с заказом вы обязательно получаете товарный чек о покупке и другие документы по Вашему требованию."><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/chek.png" style="width: 25px; height: 25px; float: left;left: 20%;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;">Документы</span></a></span></strong></td>
			<td><strong><span style="font-size:10px;"><a class="tooltip" title="Будьте всегда в курсе Вашего заказа благодаря СМС уведомлениям."><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/om_sms.png" style="width: 25px; height: 25px; float: left;left: 20%;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;">Информ</span></a></span></strong></td>
		    <td><strong><span style="font-size:10px;"><a><img alt="" src="http://www.avtotool.com.ua/image/data/1-ICO/om_ok.png" style="width: 25px; height: 25px; float: left;position: relative;text-align: center;"><span style="color:#333333; font-size:10px;font-weight: bold;"> Обмен/возврат</span></a></span></strong></td>
			</tr>
	</tbody>
</table>
  </div>
	  
      <?php } ?>
      <div class="description">
        <?php if ($manufacturer) { ?>
        <span><a href="<?php echo $manufacturers; ?>"><img src="<?php echo $mimage; ?>" title="<?php echo $manufacturer; ?>" /></a><br />
        <?php } ?>
               <?php if ($reward) { ?>
        <span><?php echo $text_reward; ?></span> <?php echo $reward; ?><br />
        <?php } ?>
</div>
      <?php if ($options) { ?>
      <div class="options">
        <h2><?php echo $text_option; ?></h2>
        <br />
        <?php foreach ($options as $option) { ?>
        <?php if ($option['type'] == 'select') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <select name="option[<?php echo $option['product_option_id']; ?>]">
            <option value=""><?php echo $text_select; ?></option>
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
            </option>
            <?php } ?>
          </select>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'radio') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'checkbox') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'image') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <table class="option-image">
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <tr>
              <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                  <?php if ($option_value['price']) { ?>
                  (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                  <?php } ?>
                </label></td>
            </tr>
            <?php } ?>
          </table>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'text') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'textarea') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'file') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button">
          <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'date') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'datetime') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'time') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" />
        </div>
        <br />
        <?php } ?>
        <?php } ?>
      </div>
      <?php } ?>
      


	  
	  
	  
      <?php if ($review_status) { ?>
      <div class="review" itemprop = "aggregateRating" itemscope itemtype = "http://schema.org/AggregateRating>
<meta itemprop = "reviewCount" content="<?php echo $review_count; ?>">
				<meta itemprop = "ratingValue" content="<?php echo $rating; ?>">
        <div><img src="catalog/view/theme/prosperity_red/image/stars-<?php echo $rating; ?>.png" alt="<?php echo $reviews; ?>" />  <a onclick="$('a[href=\'#tab-review\']').trigger('click');"><?php echo $reviews; ?></a>  |  <a onclick="$('a[href=\'#tab-review\']').trigger('click');"><?php echo $text_write; ?></a></div>
<!-- AddThis Button BEGIN -->
         <script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>
<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="button" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,gplus"></div> 
          <!-- AddThis Button END --> 
		 
      </div>
      <?php } ?>
	
	<div><a class="tooltip" title="*Цена указана за наличный рассчет(без НДС) при условии оформления заказа в интернет-магазине. Цена не распространяеться на безналичную форму оплаты."><span style="color: #EB4B00; font-weight: 700;">*Цена(без НДС) при оформлении заказа на сайте.</span></a></div>
  </div>  </div>

  <div id="tabs" class="htabs"><?php if($product_offers) { ?>
    <a href="#tab-additional-offer"><?php echo $text_special_offer; ?></a>
<?php } ?><a href="#tab-description"><?php echo $tab_description; ?></a><?php if($product_offers) { ?>
<div id="tab-additional-offer">
    <?php echo $product_offers;?>
</div>
<?php } ?>
    <?php if ($attribute_groups) { ?>
    <a href="#tab-attribute"><?php echo $tab_attribute; ?></a>
    <?php } ?>
    <?php if ($youtube_code) { ?>
    <a href="#tab-video"><?php echo $tab_video; ?> (<?php $pattern = '<\n>'; preg_match_all($pattern, $youtube_code, $text); echo (count($text[0])+1); ?>)</a>
    <?php } ?>
	
    <?php if ($review_status) { ?>
    <a href="#tab-review"><?php echo $tab_review; ?></a>
    <?php } ?>
    <?php if ($products) { ?>
    <a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
    <?php } ?>
  </div>


		   
<div itemprop="description" id="tab-description" class="tab-content"><div class="opisanie"><?php echo $description; ?></div><span class="buy"> Купить по лучшей цене <?php echo $heading_title; ?> можно сделав заказ в нашем <a href="http://www.avtotool.com.ua/search?filter_tag=<?php'>http://www.avtotool.com.ua/search?filter_tag=<?php echo $model; ?>">интернет-магазине "AVTOTOOL"</a> или позвонив по тел.: +38 (096) 96-40-850.<br> Мы работаем официально, наш магазин авторизированная точка продаж производителя <a href="<?php echo $manufacturers; ?>" title="<?php echo $manufacturer; ?>"><?php echo $manufacturer; ?></a> , у нас Вы можете купить товары по выгодной цене.
 <br><br><a href="http://www.avtotool.com.ua/contact/'>http://www.avtotool.com.ua/contact/">Компания "AVTOTOOL"</a> предлагает широкий ассортимент. Мы осуществляем поставку, послепродажное сопровождение, ремонт, гарантию на <?php echo $heading_title; ?>.  <br><br> Мы работаем со всей Украиной. 
Доставка товара <?php echo $manufacturer; ?>, артикул: <?php echo $model; ?> возможна в город: Харьков, Киев, Донецк, Запорожье, Винница, Днепропетровск, Житомир, Ивано-Франковск, Кировоград, Луганск, Луцк, Львов, Николаев, Одесса, Полтава, Ровно, Севастополь, Симферополь, Сумы, Тернополь, Ужгород, Херсон, Хмельницкий, Черкассы, Чернигов, Черновцы и другие города. Если Вы не нашли своего города - звоните, мы решим вопрос с доставкой в любую точку Харькова и Украины. <br>
Купить в интернет-магазине <a href="http://www.avtotool.com.ua/">Avtotool.com.ua</a> | Тел: (096) 96-40-850. Лучшие цены, доставка по Украине, гарантия!</span> </div>
  <?php if ($attribute_groups) { ?>
  <div id="tab-attribute" class="tab-content">
    <table class="attribute">
      <?php foreach ($attribute_groups as $attribute_group) { ?>
      <thead>
        <tr>
          <td colspan="2"><?php echo $attribute_group['name']; ?></td>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
        <tr>
          <td><?php echo $attribute['name']; ?></td>
          <td><?php echo $attribute['text']; ?></td>
        </tr>
        <?php } ?>
      </tbody>
      <?php } ?>
    </table>
	  </div>
  <?php } ?>
  
  <?php if ($review_status) { ?>
  <div id="tab-review" class="tab-content">
    <div id="review">
				<?php if ($reviews_array) { ?>
				<?php foreach ($reviews_array as $review) { ?>
				<div itemprop = "review" itemscope itemtype = "http://schema.org/Review" class="review-list">
				  <b><?php echo $review['author']; ?></b> | <img src="catalog/view/theme/default/image/stars-<?php echo $review['rating'] . '.png'; ?>" alt="<?php echo $review['reviews']; ?>" /><br />
				  <time itemprop = "datePublished" datetime = "<?php echo $review['date_added']; ?>" ><?php echo $review['date_added']; ?></time>
				  <meta itemprop = "author" content = "<?php echo $review['author'] ?>">
				  <div class="rating" itemprop = "reviewRating" itemscope itemtype = "http://schema.org/Rating">
					<meta itemprop = "worstRating" content = "1" >
					<meta itemprop = "ratingValue" content="<?php echo $review['rating']; ?>">
					<meta itemprop = "bestRating" content="5">
				  </div>
				  <div class="text" itemprop = "reviewBody" ><?php echo $review['text']; ?></div>
				</div>
				<?php } ?>
				<div class="pagination"><?php echo $review_pagination; ?></div>
				<?php } else { ?>
				<div class="content"><?php echo $text_no_reviews; ?></div>
				<?php } ?>
				</div>
    <h2 id="review-title"><?php echo $text_write; ?></h2>
    <b><?php echo $entry_name; ?></b><br />
    <input type="text" name="name" value="" />
    <br />
    <br />
    <b><?php echo $entry_review; ?></b>
    <textarea name="text" cols="40" rows="8" style="width: 98%;"></textarea>
    <span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
    <br />
    <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
    <input type="radio" name="rating" value="1" />
     
    <input type="radio" name="rating" value="2" />
     
    <input type="radio" name="rating" value="3" />
     
    <input type="radio" name="rating" value="4" />
     
    <input type="radio" name="rating" value="5" />
     <span><?php echo $entry_good; ?></span><br />
    <br />
    <b><?php echo $entry_captcha; ?></b><br />
    <input type="text" name="captcha" value="" />
    <br />
    <img src="index.php?route=product/product/captcha" alt="" id="captcha" /><br />
    <br />
    <div class="buttons">
      <div class="right"><a id="button-review" class="button"><?php echo $button_continue; ?></a></div>
    </div>
  </div>
  <?php } ?>
  <?php if ($products) { ?>
  <div id="tab-related" class="tab-content">
    <div class="box-product">
      <?php foreach ($products as $product) { ?>
      <div style=" text-align:center; width: 150px;">
        <?php if ($product['thumb']) { ?>
        <div class="image"><a onclick="location.href=<?php echo '\'' . $product['href'] . '\''; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
        <?php } ?>
        <div class="name"><a onclick="location.href=<?php echo '\'' . $product['href'] . '\''; ?>"><?php echo $product['name']; ?></a></div>
        <?php if ($product['price']) { ?>
        <div class="price" style="color: #CC0707;
font-family: 'LeagueGothicRegular';
font-size: 22px;
font-weight: 400; margin: 0px; ">
          <?php if (!$product['special']) { ?>
          <?php echo $product['price']; ?>
          <?php } else { ?>
          <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
          <?php } ?>
        </div>
        <?php } ?>
        <?php if ($product['rating']) { ?>
        <div class="rating"><img src="catalog/view/theme/prosperity_red/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
        <?php } ?>
          <?php if (!$product['quantity'] && $waitlist_enabled) { ?>
                            <div class="waitlist-not-available"><?php echo $text_not_available;?></div>
                            <div class="waitlist-add">
                              <?php if ($product['already_in_waitlist']) { ?>
                                <?php echo $text_already_waitlist; ?>
                              <?php } else { ?>
                                <a onclick="addToWaitList('<?php echo $product['product_id']; ?>');"><?php echo $text_notify_available; ?></a>
                              <?php } ?>
                            </div>
                          <?php } else { ?>
                            <a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a>
                          <?php } ?></div>
      <?php } ?>
    </div>
  </div>
  <?php } ?>
	<?php if ($youtube_code) { ?>
			<div id="tab-video" class="tab-content"><?php echo $youtube_code; ?></div>
			<?php } ?>
			<?php if($downloads){ ?>
	  <div id="tabs" class="htabs"> <span style="
border-top: 1px solid #666;
border-left: 1px solid #666;
border-right: 1px solid #666;
background: #119200;
padding: 7px 15px 6px 15px;
float: left;
font-family: 'PT Sans Narrow', Arial Narrow, sans-serif;
font-size: 140%;
text-align: center;
color: #fff;
margin-right: 2px;
border-radius: 5px 5px 0px 0px;"> Инструкции, файлы</span></div>
	<?php } ?>
	
			<?php if($downloads){ ?>
				<div class="tab-content">
					<table><tr><td class="left">
						<?php foreach($downloads as $download){ ?>
						<a href="<?php echo $download['href']; ?>"><img src="http://www.avtotool.com.ua/image/Icon/icon_download.png" style="height: 23px; width: 25px; padding-right:5px;" /></a><strong><a style="font-size: 14px; line-height: normal; vertical-align: 5px;" href="<?php echo $download['href']; ?>"><?php echo $download['name']; ?><?php echo " (". $download['size'] .")";?></a><br>
						<?php } ?>
					</td></tr></table>
				</div>
			<?php } ?>
				
				  <?php echo $content_bottom; ?>
				
			<?php if ($tags) { ?>
  <div class="tags"><b><?php echo $text_tags; ?></b>
    <?php for ($i = 0; $i < count($tags); $i++) { ?>
    <?php if ($i < (count($tags) - 1)) { ?>
    <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>,
    <?php } else { ?>
    <a href="<?php echo $tags[$i]['href']; ?>"><?php echo $tags[$i]['tag']; ?></a>
    <?php } ?>
    <?php } ?>
  </div><div style="padding:5px;">
    	  <!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="//vk.com/js/api/openapi.js?86"></script>

<script type="text/javascript">
  VK.init({apiId: 3526226, onlyWidgets: true});
</script>

<!-- Put this div tag to the place, where the Like block will be -->
<div style="display:inline-block;">
<div>
<div id="vk_like" style="float:left"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "button"});
</script> </div>
<div>
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.avtotool.com.ua%2F&send=false&layout=button_count&width=250&show_faces=false&font=arial&colorscheme=light&action=recommend&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:21px;" allowTransparency="true"></iframe></div><br></div>
</div></div>

  <?php } ?>
<script type="text/javascript"><!--
$('.colorbox').colorbox({
	overlayClose: true,
	opacity: 0.5
});
//--></script> 
<script type="text/javascript"><!--
$('#button-cart').bind('click', function() {
	$.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
		dataType: 'json',
		success: function(json) {
			$('.success, .warning, .attention, information, .error').remove();
			
			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						$('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
					}
				}
			} 
			
			if (json['success']) {
				$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/prosperity_red/image/close.png" alt="" class="close" /></div>');
					
				$('.success').fadeIn('slow');
					
				$('#cart-total').html(json['total']);
				
				$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			}	
		}
	});
});
//--></script>
<?php if ($options) { ?>
<script type="text/javascript" src="catalog/view/javascript/jquery/ajaxupload.js"></script>
<?php foreach ($options as $option) { ?>
<?php if ($option['type'] == 'file') { ?>
<script type="text/javascript"><!--
new AjaxUpload('#button-option-<?php echo $option['product_option_id']; ?>', {
	action: 'index.php?route=product/product/upload',
	name: 'file',
	autoSubmit: true,
	responseType: 'json',
	onSubmit: function(file, extension) {
		$('#button-option-<?php echo $option['product_option_id']; ?>').after('<img src="catalog/view/theme/prosperity_red/image/loading.gif" class="loading" style="padding-left: 5px;" />');
		$('#button-option-<?php echo $option['product_option_id']; ?>').attr('disabled', true);
	},
	onComplete: function(file, json) {
		$('#button-option-<?php echo $option['product_option_id']; ?>').attr('disabled', false);
		
		$('.error').remove();
		
		if (json['success']) {
			alert(json['success']);
			
			$('input[name=\'option[<?php echo $option['product_option_id']; ?>]\']').attr('value', json['file']);
		}
		
		if (json['error']) {
			$('#option-<?php echo $option['product_option_id']; ?>').after('<span class="error">' + json['error'] + '</span>');
		}
		
		$('.loading').remove();	
	}
});
//--></script>
<?php } ?>
<?php } ?>
<?php } ?>
<script type="text/javascript"><!--
$('#review .pagination a').live('click', function() {
	$('#review').fadeOut('slow');
		
	$('#review').load(this.href);
	
	$('#review').fadeIn('slow');
	
	return false;
});			

//$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');

$('#button-review').bind('click', function() {
	$.ajax({
		url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>',
		type: 'post',
		dataType: 'json',
		data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
		beforeSend: function() {
			$('.success, .warning').remove();
			$('#button-review').attr('disabled', true);
			$('#review-title').after('<div class="attention"><img src="catalog/view/theme/prosperity_red/image/loading.gif" alt="" /> <?php echo $text_wait; ?></div>');
		},
		complete: function() {
			$('#button-review').attr('disabled', false);
			$('.attention').remove();
		},
		success: function(data) {
			if (data['error']) {
				$('#review-title').after('<div class="warning">' + data['error'] + '</div>');
			}
			
			if (data['success']) {
				$('#review-title').after('<div class="success">' + data['success'] + '</div>');
								
				$('input[name=\'name\']').val('');
				$('textarea[name=\'text\']').val('');
				$('input[name=\'rating\']:checked').attr('checked', '');
				$('input[name=\'captcha\']').val('');
			}
		}
	});
});
//--></script> 
<script type="text/javascript"><!--
$('#tabs a').tabs();
//--></script> 
<script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-timepicker-addon.js"></script> 
<script type="text/javascript"><!--
if ($.browser.msie && $.browser.version == 6) {
	$('.date, .datetime, .time').bgIframe();
}

$('.date').datepicker({dateFormat: 'yy-mm-dd'});
$('.datetime').datetimepicker({
	dateFormat: 'yy-mm-dd',
	timeFormat: 'h:m'
});
$('.time').timepicker({timeFormat: 'h:m'});
//--></script> 
<?php echo $footer; ?>

Share this post


Link to post
Share on other sites

Всем привет! Так что с модулем, помечен как испорчен? Работает?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By stalker780
      Всплывающее окно с формой на оформление кредита.
      Заявка отправляется на указанные email или на стандартные.
      При оформлении заказа не участвует.
      Имеет встроенный калькулятор платежей.
      Позволяет производить все настройки из админки.
      Не заменяет системных файлов.
      Требуется vqMod, либо ручное добавление кнопки в product.tpl
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.