Jump to content
Sign in to follow this  
avasiliev

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

Recommended Posts

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

 

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

 

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

 

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

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

 

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

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

В шаблоне 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. Возможно ли это в принципе, но судя по изложенному выше - вроде как все возможно и просто. Проблема только в непонимании, как это сделать в опенкарте.

 

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

Share this post


Link to post
Share on other sites

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

 

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. Да, возможно.

 

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

Edited by halfhope

Share this post


Link to post
Share on other sites

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

 

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, верно?) и добавляют код на страницу продукта. В итоге - белый экран.

 

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

Share this post


Link to post
Share on other sites

Контроллер в файле 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 ?>

Share this post


Link to post
Share on other sites

 

Контроллер в файле 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".

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

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

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

    • By 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  
    • By Indushkin
      300.00 руб
      Скачать/Купить дополнение


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

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

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.