• OpenCart
  • 2 Листопада 2018 року о 12:42
  • 92
  • Андрій Скидан

Іноді буває необхідно, щоб по натисканню кнопки “Купити” покупець переходив до магазину партнера, за реферальним посиланням.

 Зробити це доволі просто. Ми внесемо незначні зміни, а для реферального посилання скористаємося рядком “Location” на вкладці “Data” у картці товару.

Але спершу слід внести деякі правки у таблицю БД. Відкриваемо нашу базу і знаходимо рядок oc_product. Натискаємо “Стркутура”.

Правка БД Опенкарт

Далі знаходимо рядок “location” і натискаємо “Змінити”.

Правка рядка location OpenCart

Тут ми змінемо значення лише в одному полі Довжина/Значення. За замовчанням там стоїть 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>

Зберігаємо, завантажуємо на сервер, перевіряємо.

Коментарі