Opnecart — отличный движок для интернет магазинов. Он позволяет решить множество вопросов в плане продаж. Имеет гибкую и понятную архитектуру. Но основная его задача — это продажа товаров именно на самом сайте. А вот если Вы планируете продвигать партнерские товары, не используя стандартную корзину и оформления заказа, перенаправляя покупателя по партнерской ссылке — придется сделать некоторые нехитрые манипуляции. Однако это дело 10 минут.
Итак, что необходимо сделать?
Основная задача — изменить поведение кнопки «КУПИТЬ» (добавить в корзину) на всем сайте. А именно, сделать чтобы она перебрасывала посетителя по партнерской ссылке на сайт партнера.
Реализация
Для указания ссылки будем использовать поле location (Расположение) в редакторе товара. Прежде всего необходимо увеличить максимальную длину данного поля в базе данных. Заходим в PHPMyAdmin и выбираем таблицу oc_product
Теперь нам необходимо увеличить количество символов. Для этого в поле «Длина/значения» вместо указанных там 128, задаем свое число знаков. Желательно указывать 900 и больше, так как порой партнерские ссылки бывают довольно длинными. И сохраняем.
Партнерские ссылки в товарах и категориях
Теперь переходим к внесению изменений в сам движок. Сначала делаем для товаров и категорий.
Переходим по пути
XHTML
1 |
/catalog/controller/product/product.php |
Здесь находим
PHP
1 |
$data['points'] = $product_info['points']; |
И сразу под ним добавляем
PHP
1 |
$data['location'] = $product_info['location']; |
Также необходимо сделать замену и для рекомендуемых товаров. Находим
PHP
1 |
'name' => $result['name'], |
И сразу под ним добавляем
PHP
1 |
'location' => $result['location'], |
Сохраняем внесенные изменения и заливаем файл на сервер. Далее приступаем к внесению изменений в контроллер категорий. Находим файл
XHTML
1 |
/catalog/controller/product/category.php |
Находим в нем
PHP
1 |
'name' => $result['name'], |
И сразу под ним добавляем
PHP
1 |
'location' => $result['location'], |
Сохраняем внесенные изменения и также заливаем файл на сервер.
После внесения изменений в контроллеры, необходимо сделать правки в файле темплейтов продуктов и категорий. Переходим
XHTML
1 |
/catalog/view/theme/default/template/product/product.tpl |
Находим в нем
PHP
1 |
<button id="button-cart" class="btn btn-primary btn-lg btn-block" type="button" data-loading-text="<?php echo $text_loading; ?>"><!--?php echo $button_cart; ?--></button> |
И заменяем на
PHP
1 |
<input type="button" value="<?php echo $button_cart; ?>" onclick="window.open('<?php echo $location; ?>');" class="btn btn-primary btn-lg btn-block" /> |
В этом же файле ниже находим
PHP
1 |
<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
И так же заменяем на
PHP
1 |
<button type="button" onclick="window.open('<?php echo $product['location']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
Продукты готовы, переходим к категориям. Правим файл по адресу
XHTML
1 |
/catalog/view/theme/default/template/product/category.tpl |
Находим в нем
PHP
1 |
<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
И так же заменяем на
PHP
1 |
<button type="button" onclick="window.open('<?php echo $product['location']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
Теперь у товара в карточке, рекомендуемых товаров и товаров в категориях кнопка «купить» будет перенаправлять покупателя по ссылке, которая задана в поле location в административной панели. По аналогии категории необходимо отредактировать контроллеры и темплейты поиска, акционных товаров и производителей (manufacturer_info.tpl,manufacturer_info.php,search.tpl,search.php,special.tpl,special.php
Партнерские ссылки в стандартных модулях (рекомендуемые, бестселлеры, акции, новинки)
Суть доработки модулей идентичен доработке категорий. В контроллерах модулей по пути
XHTML
1 |
catalog/controller/extension/module/bestseller.php(latest.php,special.php) |
Находим в нем
PHP
1 |
'name' => $result['name'], |
И сразу под ним добавляем
PHP
1 |
'location' => $result['location'], |
Исключением является файл
XHTML
1 |
catalog/controller/extension/module/featured.php |
Находим в нем
PHP
1 |
'name' => $product_info['name'], |
И сразу под ним добавляем
PHP
1 |
'location' => $product_info['location'], |
В темплейтах модулей по адресу
XHTML
1 |
catalog/view/theme/default/template/extension/module/bestseller.tpl(latest.tpl,special.tpl,featured.tpl) |
Находим
PHP
1 |
<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
И заменяем на
PHP
1 |
<button type="button" onclick="window.open('<?php echo $product['location']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> |
После всех изменений не забудьте обновить модификаторы в админке. Партнерский магазин готов. Самое время наполнять товарами и проставлять партнерские ссылки.
Ну и как всегда для всех желающих предлагаю готовую OCMOD модификацию. Гарантированно работает на стандартном шаблоне. На нестандартных понадобится доработка. При необходимости можете обращаться в разделе «Услуги«.
P.S. Партнерскую ссылку вы должны обязательно указать при добавлении/редактировании товара в админке на вкладке данные в поле Расположение.