Ссылка в кнопке купить 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. Заходим в карточку товара в раздел местоположении, вводим любую ссылку и проверяем
Прочитано 2212 раз

14 комментарии

  • Комментировать
    Вадиван
    Понедельник, 17 декабря 2018 Вадиван

    Попробуйте по аналогии изменить файлы /catalog/controller/module/featured.php и catalog/view/theme/default/template/module/featured.tpl

  • Комментировать
    дмитрий
    Воскресенье, 16 декабря 2018 дмитрий

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

  • Комментировать
    владимир
    Понедельник, 10 декабря 2018 владимир

    сори разобрался. респект за инфу.

  • Комментировать
    владимир
    Понедельник, 10 декабря 2018 владимир

    а у меня нет раздела местоположение либо не нахожу

  • Комментировать
    Вадиван
    Понедельник, 19 ноября 2018 Вадиван

    Тимофей, в opencart версии 2 работает без проблем, если сделать всё по инструкции. Если у вас версия выше, возможно с небольшими изменениями придётся выполнить, но скорее всего так и осталось.

  • Комментировать
    Тимофей
    Воскресенье, 18 ноября 2018 Тимофей

    Сделал все как написано, не работает, информация устарела?

  • Комментировать
    Вадиван
    Понедельник, 25 июня 2018 Вадиван

    Да, чтобы в opencart реализовать открытие в текущей вкладке, в коде надо поменять "window.open" на "window.location.href=". Так
    же можно просто исправить на "location". Т.е. так:
    onclick="location=(... просто в комментарии нельзя полностью указать php запрос.
    Проверил у меня работает.

  • Комментировать
    Александр
    Понедельник, 25 июня 2018 Александр

    Поменял( кнопка не работает, ошибка в консоле: Uncaught TypeError: window.location.href is not a function

  • Комментировать
    Вадиван
    Понедельник, 25 июня 2018 Вадиван

    Александр, замените везде "window.open" на "window.location.href".

  • Комментировать
    Александр
    Понедельник, 25 июня 2018 Александр

    А как сделать, чтобы ссылка открывалась не в новом окне? а в том же.

  • Комментировать
    Вадиван
    Пятница, 23 марта 2018 Вадиван

    Артем, товар продолжает падать в корзину. даже после всех этих манипуляций, если в карточке товара не указана ссылка. Ссылку, если делать по этой инструкции, необходимо вводить в карточке товара - Data - Location (Расположение).

  • Комментировать
    Артем
    Вторник, 20 марта 2018 Артем

    Хоть убей. ничего не понимаю. делаю все как описано, а товар все равно в корзину летит, и ссылка не работает. пробовал и сторонние ресурсы и ссылку на свой ресурс. Хотел сделать из магазина визитку, чтобы при нажатии купить(в корзину) клиент переходил на страницу контакты(about_us). Подскажите как реализовать.

  • Комментировать
    Вадиван
    Понедельник, 19 февраля 2018 Вадиван

    Sosiska_am, всё очень просто, я добавил комментарий к 11 пункту, чтобы стало понятнее. В вашем случае, необходимо просто удалить "/" после onclick="window.open('/

  • Комментировать
    Sosiska_am
    Пятница, 16 февраля 2018 Sosiska_am

    Спасибо за статью! Вопрос: при нажатии на кнопку переходит по ссылке вида www.название-моего-домена/https://vadivan.ru/. Как сделать, чтобы в начале ссылке не указывался мой домен, а сразу перенаправлялся на внешний ресурс - https://vadivan.ru/?

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

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

  • ДОМАШНИЕ ВАФЛИ
    ДОМАШНИЕ ВАФЛИ ДОМАШНИЕ ВАФЛИ СОСТАВ: Мука пшеничная - 1 ст. Сахар - 1 ст. Яйца - 5 шт. Масло сливочное - 250…
  • Просмотр телевизора увеличивает риск тромбоза
    Специалисты из Миннесотского университета (США) на протяжении 24 лет наблюдали за здоровьем более 15 тысяч американцев и пришли к выводу,…
  • Налог на пробег автомобиля
    Налог на пробег автомобиля Новое изобретение придумал депутат… но на этот раз не наш. Сенатор Джон Каллертон от штата Иллинойс предложил полностью отменить акцизы…
  • В Краснодаре в честь Дня флага устроят велопробег
    В Краснодаре в честь Дня флага устроят велопробег Как сообщает Живая Кубань в Краснодаре 25 августа в спортивном проекте, посвященном празднованию Дня флага России, примут участие более 1…
  • Велосипедная история
    Велосипедная история Сведения о велосипедах и самокатах до 1817 года сомнительны. Так, рисунок двухколёсного велосипеда с рулём и цепной передачей, приписываемый Леонардо…