Ссылка в кнопке купить OPENCART 2

Автор  Понедельник, 20 февраля 2017
Оцените материал
(0 голосов)

Чтобы в OpenCart при нажатии на кнопку "купить" товар не добавлялся в корзину, а пользователь переходил по внешней ссылке необходимо сделать всего несколько манипуляций.

  1. Заходим в phpmyadmin, в вашу БД, находим таблицу oc_product (ос - стандартный префикс, у вас может быть и другой).
  2. Выбираем структура.
  3. В структуре находим location (нам же не нужно будет это поле если у нас не реальный магазин), нажимаем изменить
  4. Увеличиваем количество символов, чтобы влезали длинные ссылки, для этого в поле "Длина/значения" указываем вместо 128, например 500 (можно и больше, если у вас ссылки длиннее)
  5. Переходим в папку /catalog/controller/product и открываем файл product.php
  6. Находим $data['points'] = $product_info['points'];
    и после добавляем $data['location'] = $product_info['location'];
  7. Находим 'name'        => $result['name'],
    и добавляем 'location'     => $result['location'], и сохраняем.
  8. Здесь же /catalog/controller/product и открываем файл category.php
  9. Находим 'name'        => $result['name'],
    и добавляем 'location'      => $result['location'], и сохраняем.
  10. Находим и открываем файл product.tpl в папке /catalog/view/theme/default/template/product (обратите внимание, что это путь для стандартного шаблона, соответственно идём в свой шаблон)
  11. Находим <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>
    и заменяем на <input type="button" value="<?php echo $button_cart; ?>" onclick="window.open('/<?php echo $location; ?>');" class="btn btn-primary btn-lg btn-block" />Внимание в параметре onclick="window.open "/" используется если вы хотите ссылку на свой ресурс (vadivan.ru/ссылка), если на внешний, то обязательно удалите.
  12. Находим и открываем файл category.tpl в папке /catalog/view/theme/default/template/product (обратите внимание, что это путь для стандартного шаблона, соответственно идём в свой шаблон)
  13. Находим <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>
    и заменяем на <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>
  14. Заходим в карточку товара в раздел местоположении, вводим любую ссылку и проверяем
Прочитано 8221 раз

Комментарии   

0 #19 Vadivan 25.06.2020 16:11
Цитирую Anandasat:
Огромнейшее благо дарю автору сего чуда, действительно всё работает вот только небольшая незадачка сама кнопко после внесения изменений увеличивается :sad: Как бы ей вернуть её исходный размерчик?

Я подозреваю, что у вас установлен шаблон и соответственно изменёны стили кнопок в ЦСС. И ранее была ссылка на новый стиль кнопки, а здесь в примере указан стиль обычной кнопки, из-за этого и метаморфозы. Если исходники остались сравните что было указано ранее после слов class, и что сейчас изменилось. Если нет, идти и править в CSS до необходимого вам размера.
Цитировать
0 #18 Anandasat 15.06.2020 16:21
Огромнейшее благо дарю автору сего чуда, действительно всё работает вот только небольшая незадачка сама кнопко после внесения изменений увеличивается :sad: Как бы ей вернуть её исходный размерчик?
Цитировать
0 #17 SW 27.05.2019 16:17
Вадиван, ты лучший! Огромное спасибо! Три дня с этой кнопкой возился, все форумы перечитал, ничего не работало, в итоге по твоей инструкции в ocstore 2.3.0.2.3 всё чётко получилось!
Цитировать
0 #16 Vadivan 27.05.2019 11:26
SW, способ для второй версии. Скорее всего в третьей версии изменили код и алгоритм работы. Надо разбираться или искать уже описанный кем-то способ под третью версию Opencart.
Цитировать
0 #15 SW 26.05.2019 20:33
Не работает на Opencart 3
Цитировать
0 #14 Vadivan 17.12.2018 17:44
Попробуйте по аналогии изменить файлы /catalog/controller/module/featured.php и catalog/view/theme/default/template/module/feature d.tpl
Цитировать
0 #13 дмитрий 16.12.2018 21:18
все супер работает. а как с рекомендуемых уходить по внешней ссылке.
Цитировать
0 #12 владимир 10.12.2018 18:38
сори разобрался. респект за инфу.
Цитировать
0 #11 владимир 10.12.2018 18:02
а у меня нет раздела местоположение либо не нахожу
Цитировать
0 #10 Vadivan 19.11.2018 11:46
Тимофей, в opencart версии 2 работает без проблем, если сделать всё по инструкции. Если у вас версия выше, возможно с небольшими изменениями придётся выполнить, но скорее всего так и осталось.
Цитировать
0 #9 Тимофей 18.11.2018 22:46
Сделал все как написано, не работает, информация устарела?
Цитировать
0 #8 Vadivan 25.06.2018 15:21
Да, чтобы в opencart реализовать открытие в текущей вкладке, в коде надо поменять "window.open" на "window.location.href=". Так
же можно просто исправить на "location". Т.е. так:
onclick="location=(... просто в комментарии нельзя полностью указать php запрос.
Проверил у меня работает.
Цитировать
0 #7 Александр 25.06.2018 12:24
Поменял( кнопка не работает, ошибка в консоле: Uncaught TypeError: window.location.href is not a function
Цитировать
0 #6 Vadivan 25.06.2018 10:23
Александр, замените везде "window.open" на "window.location.href".
Цитировать
0 #5 Александр 25.06.2018 09:01
А как сделать, чтобы ссылка открывалась не в новом окне? а в том же.
Цитировать

Добавить комментарий

Использовать прямые ссылки в комментариях запрещено. Если хотите поделиться полезной ссылкой, вводите адрес без http или https.
Сообщения от незарегистрированных пользователей попадают на модерацию.

Это интересно

  • РИС С КУРИЦЕЙ
    РИС С КУРИЦЕЙ РИС С КУРИЦЕЙ (острый) СОСТАВ: - Куриные бедра (или 1 курица) – 8 шт. - Лук - 1 средняя луковица…
  • Ремонт автомобилей Сузуки в компании Аршина
    Ремонт автомобилей Сузуки в компании Аршина Компания Аршина занимается ремонтом автомобилей. Здесь работают только классные специалисты, работающие на профессиональной основе и имеющие достаточный опыт для проведения…
  • Штраф за езду не по велодорожке
    Штраф за езду не по велодорожке Соединенные Штаты Америки. 2011 год. Кейси получает штраф за езду не по велосипедной дорожке. Всю курьёзность ситуации вы можете оценить…
  • ЯБЛОЧНЫЙ ПИРОГ "ШАРЛАТАНКА"
    ЯБЛОЧНЫЙ ПИРОГ "ШАРЛАТАНКА" ЯБЛОЧНЫЙ ПИРОГ "ШАРЛАТАНКА" СОСТАВ: Яблоки - 4 шт. Мука - 2 стакана Яйца- 5 шт. Масло сливочное растопленное - 150…
  • Сброс ключа ТО (технического обслуживания) в Peugeot
    Сброс ключа ТО (технического обслуживания) в Peugeot Выключите зажигание; Нажмите и удерживайте нажатой кнопку сброса счетчика суточного пробега; Включите зажигание На табло пойдёт обратный отсчет от 10; Когда…

Последние комментарии