Перейти к содержанию
avasiliev

Произвольная ссылка на кнопке купить

Рекомендуемые сообщения

Здравствуйте!

 

Появилась проблема, с которой своими силами справиться на текущий момент не могу.

 

Форумчанины, подскажите как быть.

 

Суть проблемы:

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

 

Как я вижу эту реализацию:

Добавляем в админке доп.поле (в этом и есть основная проблема!)

В шаблоне product.tpl изменяем следующим образом:

<span class="cart pull-left">
          <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /></span>

Изменяем на (код чисто для понимания, работать вряд ли будет, в этом тоже прошу помощи):

if c_url (поле в админке) = 1
<input type="button" value="<?php echo $с_url; ?>" id="button-cart" class="button" />
else
<input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />

Собственно основных вопроса 3:

1. Как граммотно добавить поле (или использовать любое не используемое), что бы при обновлении того же опенкарта все не сломалось.

2. Как грамотно добавить код в product.tpl (я так понимаю, помимо тпла нужно редактировать и контроллеры, какие - не понятно)

3. Возможно ли это в принципе, но судя по изложенному выше - вроде как все возможно и просто. Проблема только в непонимании, как это сделать в опенкарте.

 

Заранее большое спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую.

 

1. Вы куда OpenCart обновлять собрались? Далее идет только OpenCart 2.0 и при обновлении придется много чего переписывать. Если для хранения ссылки будете использовать неиспользуемое поле(SKU, EAN и т.д.), то на обновлении это не скажется, т.к. все изменения будут вносится в контолллер(одна строка) и в файлы шаблона, а шаблон при обновлении, если не стандартный, остается тот же.

2. В контроллере после:

$this->data['model'] = $product_info['model'];

добавить:

$this->data['ean'] = $product_info['ean'];

Теперь его можно использовать в product.tpl:

<?php if !empty($ean): ?>
<input type="button" value="<?php echo $ean; ?>" id="button-cart" class="button" />
<?php else: ?>
<input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
<?php endif ?>

3. Да, возможно.

 

Если все грамотно делать, то вот инструкция.

Изменено пользователем halfhope

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую.

 

1. Вы куда OpenCart обновлять собрались? Далее идет только OpenCart 2.0 и при обновлении придется много чего переписывать. Если для хранения ссылки будете использовать неиспользуемое поле(SKU, EAN и т.д.), то на обновлении это не скажется, т.к. все изменения будут вносится в контолллер(одна строка) и в файлы шаблона, а шаблон при обновлении, если не стандартный, остается тот же.

2. В контроллере после:

$this->data['model'] = $product_info['model'];

добавить:

$this->data['ean'] = $product_info['ean'];

Теперь его можно использовать в product.tpl:

<?php if !empty($ean): ?>
<input type="button" value="<?php echo $ean; ?>" id="button-cart" class="button" />
<?php else: ?>
<input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
<?php endif ?>

3. Да, возможно.

 

Если все грамотно делать, то вот инструкция.

Если я правильно понял, инструкция не нужна, если мы используем уже готовое поле.

 

Соотвественно я добавляю ваш код в контроллер (который, у catalog, верно?) и добавляют код на страницу продукта. В итоге - белый экран.

 

Подскажите, пожалуйста, в чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллер в файле product/product.php. Скобки забыл

<?php if (!empty($ean)): ?>
  <input type="button" value="<?php echo $ean; ?>" id="button-cart" class="button" />
<?php else: ?>
  <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
<?php endif ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Контроллер в файле product/product.php. Скобки забыл

<?php if (!empty($ean)): ?>
  <input type="button" value="<?php echo $ean; ?>" id="button-cart" class="button" />
<?php else: ?>
  <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
<?php endif ?>

Да, заработало. Только заработало не совсем так, как нужно. В итоге - изменяется только текст кнопки, а не ее направление.

 

То есть, я так понимаю, что за назначение ссылки отвечает не $button_cart;, а скорее id="button-cart".

 

Получается, мы изначально все таки не совсем ту проблему решали...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

+, как я вижу, у поля ean есть ограничение по кол-ву симполов, а значит, что ссылку просто не вставить.. Подскажите, пожалуйста, где изменить и этот параметр?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так Вы вместо кнопки вставляйте ссылку с оформлением кнопки, в чем проблема?

В БД, у поля ean, в таблице product измените тип с vqrchar(14) на varchar(255) либо на TINYTEXT. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Больше спасибо. Проблему решил.

 

Немного затупил, вечер, бывает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От nikitaxzx
      http://cg09891-opencart-18.tw1.ru/index.php?route=product/category&amp;path=59
      ребят вот сайт очень маленькая кнопка корзинки купить подскажите как правильно поменять изображение 

      картинку прикрепил, как примерно надо 

    • От riny
      Скачать/Купить дополнение


      Замена кнопки "купить" на реф. ссылку
      Если вам надо чтобы при нажатии на "купить" происходил переход по реферальной ссылке, то это дополнение для вас. Ссылка хранится в поле товара "Расположение/location".
      Мод заменяет кнопку "купить" в товаре, похожих товарах, категориях, акциях, брендах, сравнении, закладках и модулях последние, рекомендуемые, хиты продаж, акции.
      Установка:
      - скопировать содержимое папки upload в корневой каталог вашего сайта (стандартные файлы не заменяются)
      - если нужно открывать ссылки в новом окне используйте версию модуля из папки "upload [new_window_version]"
      - увеличить в phpMyAdmin размер поля location таблицы product, в котором будут храниться реф. ссылки, пример на скриншоте [pma.jpg]
      Тестировалось на ocStore 1.5.5.1.1, opencart 1.5.5.1
      Добавил riny Добавлено 04.09.2013 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От Indushkin
      300.00 руб
      Скачать/Купить дополнение


      INIGAN Скидка -50%
      Сделан на версии 1.5.6.1
      Установка:
      1) Скопировать папку "inigan" в раздел с темами.
      2) В панели управления сайтом выбрать шаблон "inigan" (Система > Настройки > Изменить > Вкладка "Магазин" > Шаблон магазина:)
      3) Настроить изображения: (Система > Настройки > Изменить > Вкладка "Изображения")
      а) установить логотип и иконку.
      б) в разделе "* Изображение в списке товаров:" установить значение 178 х 178.
      Вот и все)
      DEMO
      Скидка -50% (299руб) 149руб
      Добавил Indushkin Добавлено 27.10.2014 Категория Платные шаблоны  
    • От frostaken
      Всем привет!
       
      У меня возникла такая проблема.
       
      В мобильной версии сайта с кнопки "КУПИТЬ" пропадает само слово "Купить", а сама кнопка при этом сужается по горизонтали. Как можно это исправить?
      На прилагаемом скриншоте голубая полоска - кнопка "КУПИТЬ". В десктопной (полноценной версии) все отображается корректно.
       
      Заранее спасибо.

    • От rodroma
      Как можно сделать так, что бы покупатель склаывал в корзину, он вводил свои контактные данные чтобы без оплаты онлайн ему звонить потом и договариваться
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.