Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


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

 

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

Надіслати
Поділитися на інших сайтах


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

 

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. 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.