- OpenCart
- 2 Листопада 2018 року о 12:42
- 92
Іноді буває необхідно, щоб по натисканню кнопки “Купити” покупець переходив до магазину партнера, за реферальним посиланням.
Зробити це доволі просто. Ми внесемо незначні зміни, а для реферального посилання скористаємося рядком “Location” на вкладці “Data” у картці товару.
Але спершу слід внести деякі правки у таблицю БД. Відкриваемо нашу базу і знаходимо рядок oc_product. Натискаємо “Стркутура”.
Далі знаходимо рядок “location” і натискаємо “Змінити”.
Тут ми змінемо значення лише в одному полі Довжина/Значення. За замовчанням там стоїть 128. Це довжина тексту який може зберігатися в цьому рядку. Його треба збільшити відповідно до довжини ваших реферальних посилань. Ну наприклад поставити 800.
Зберігаємо наші зміни і закриваємо базу. Більше ніяких змін там не буде.
Тепер перейдемо до редагування файлів. Відкриваємо файл /catalog/controller/product/product.php. Знаходимо рядок
$data['points'] = $product_info['points'];
Після нього вставляємо наступне:
$data['location'] = $product_info['location'];
Знаходимо рядок
'name' => $result['name'],
Після нього вставляємо наступне:
'location' => $result['location'],
Зберігаємо файл, завантажуємо на сервер.
Далі приступаємо до праки файлу шаблону картки товару. Відкриваємо файл /catalog/view/theme/Ваша_Тема/template/product/product.tpl для OpenCart 2.x, або /catalog/view/theme/Ваша_Тема/template/product/product.twig для OpenCart 3.x і вносимо наступні правки:
Для OpenCart 2.x знаходимо
<button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button>
І замінюємо код кнопки наступним кодом:
<a class="btn btn-primary" href="<?php echo $location; ?>" target="_blank"><?php echo $button_cart; ?></a>
Для OpenCart 3.x знаходимо:
<button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button>
Замінюємо на:
<a class="btn btn-primary" href="{{ location }}" target="_blank">{{ button_cart }}</a>
Зберігаємо файл, завантажуємо на сервер. Заходимо в адмінку, відкриваємо картку товару і вставляємо у рядок “Location” посилання. Зберігаємо, заходимо в магазин перевіряємо. Все працює.
Для заміни кнопок у категорії правимо контролери /catalog/controller/product/category.php
'name' => $result['name'],
Після нього вставляємо наступне:
'location' => $result['location'],
Для заміни кнопок у категорії OpenCart 2.x
Відкриваємо /catalog/view/theme/Ваша_Тема/template/product/category.tpl. Знаходимо
<button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block"><?php echo $button_cart; ?></button>
Замінюємо на
<a class="btn btn-primary" href="<?php echo $location; ?>" target="_blank"><?php echo $button_cart; ?></a>
Для заміни кнопок у категорії OpenCart 3.x
Відкриваємо /catalog/view/theme/Ваша_Тема/template/product/category.twig. Знаходимо
<button type="button" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ button_cart }}</span></button>
Замінюємо на
<a class="btn btn-primary" href="{{ location }}" target="_blank">{{ button_cart }}</a>
Зберігаємо, завантажуємо на сервер, перевіряємо.