Jump to content
Sign in to follow this  
WORLDSTES

[Решено] Кнопка подробнее в модулях на главной странице

Recommended Posts

Помогите пожалуйста! Как поменять кнопку в категориях и рекомендуемых товарах "купить" на "подробнее" (и чтобы при нажатии переходил именно на тот товар, под которым находится кнопка)

Share this post


Link to post
Share on other sites

Вот так я у себя убрал кнопку КУПИТЬ только цена должна стоять по нулям..

<div class="price">
	  <?php if ($product['price']=="$0.00") {  СЮДА МОЖНО ССЫЛКУ ПОДРОБНЕЕ...   } else {   ?>
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
<?php if ($product['tax']) { ?>
<br />
<span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
    <?php } ?>
			    <?php } ?>
	  </div>

Share this post


Link to post
Share on other sites

1. Откроем файл category.tpl (../catalog/view/theme/default/template/product) и вместо этих строк (93-95):

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
</div>
вставим эти:

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /><p>
<input type="button" value="<?php echo $text_info; ?>" onclick="top.location.href=('<?php echo $product['href']; ?>');" class="button" />
</div>
2. Откроем файл category.php (../opencart/catalog/controller/product) и после этой строки (103):

$this->data['button_cart'] = $this->language->get('button_cart');
вставим эту:

$this->data['text_info'] = $this->language->get('text_info');
3. Откроем файл category.php (../catalog/language/russian/product) и после этой строки (28):

$_['text_limit'] = 'На странице:';

вставим эту:

$_['text_info'] = 'Описание';

PS: Этот код поможет добавить еще одну кнопку, т.е у вас будет кнопка купить и кнопка подробнее, если купить не нужна, делаем теже действия но с заменой а не с добавлением.

  • +1 4

Share this post


Link to post
Share on other sites

Спасибо, все работает!

Но как сделать, чтобы кнопка КУПИТЬ и ОПИСАНИЕ были на уровне друг с другом?

Share this post


Link to post
Share on other sites

Спасибо, все работает!

Но как сделать, чтобы кнопка КУПИТЬ и ОПИСАНИЕ были на уровне друг с другом?

Они кажется по умолчанию должны на уровне стоять, просто может у вас не хватает места по ширине в ячейке товара? вот одна из кнопок и сместилась...

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

Share this post


Link to post
Share on other sites

А можно сделать, что бы кнопка "Подробнее" появлялась только если у товара есть опции, а так кнопка "Купить" ?

Share this post


Link to post
Share on other sites

 <?php if ($options) { ?>
   Вывод кнопки 'Подробнее'
} else {
   Вывод кнопки 'Купить'
} ?>

Как-то так. Это если выводить в product.tpl. Для category.tpl, наверное, придется несколько другое условие применять...

Share this post


Link to post
Share on other sites

 <?php if ($options) { ?>
Вывод кнопки 'Подробнее'
} else {
Вывод кнопки 'Купить'
} ?>

Как-то так. Это если выводить в product.tpl. Для category.tpl, наверное, придется несколько другое условие применять...

Спасибо, но как раз нужно в category.tpl

Share this post


Link to post
Share on other sites

В контроллере (catalog/controller/product/category.php массив $this->data['products'][] приводим к следующему виду:

$this->data['products'][] = array(
 'product_id'  => $result['product_id'],
 'thumb'	   => $image,
 'name'		=> $result['name'],
 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
 'price'	   => $price,
 'special'	 => $special,
 'tax'		 => $tax,
 'rating'	  => $result['rating'],
 'reviews'	 => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
 'href'		=> $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),
 'options'  => $this->model_catalog_product->getProductOptions($result['product_id'])
);

, т.е. добавилась предпоследняя строка.

А в category.tpl формируем в нужном месте следующее условие:

	<?php if ($product['options']) {
		echo "Вывод кнопки 'Подробнее'";
	} else {
		echo "Вывод кнопки 'Купить' ";
	} ?>

  • +1 1

Share this post


Link to post
Share on other sites

Спасибо, все работает :-)

Share this post


Link to post
Share on other sites

добрый день. У меня получилось вот так:

156953515de8.png

Хотелось бы чтоб кнопки были расположены в столбец а не в строчку. Подскажите как поправить?

Share this post


Link to post
Share on other sites

добрый день. У меня получилось вот так:

Хотелось бы чтоб кнопки были расположены в столбец а не в строчку. Подскажите как поправить?

Попробуйте так:

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
</div>
<div class="cart">
<input type="button" value="<?php echo $text_info; ?>" onclick="top.location.href=('<?php echo $product['href']; ?>');" class="button" />
</div>

или в /catalog/view/theme/default/stylesheet/stylesheet.ccs

поправить стили

Share this post


Link to post
Share on other sites

Попробуйте так:

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
</div>
<div class="cart">
<input type="button" value="<?php echo $text_info; ?>" onclick="top.location.href=('<?php echo $product['href']; ?>');" class="button" />
</div>

или в /catalog/view/theme/default/stylesheet/stylesheet.ccs

поправить стили

Приведенный выше способ не работает!

Как именно поправить css?

Share this post


Link to post
Share on other sites

Приведенный выше способ не работает!

Как именно поправить css?

ссылку сайта дайте

Share this post


Link to post
Share on other sites

Я ничем не помогу, т.к. у вас шаблон не дефолтный, а по скину сложно понять.

Share this post


Link to post
Share on other sites

Попробуйте

<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> <br/ >

в конце добавили <br />

и в /catalog/view/theme/default/stylesheet/stylesheet.ccs

найдите input.button {

и добавьте margin-bottom: 5px;

Это расстояние между кнопками, можете править как нужно.

По идее ничего не должно на сайте расползтись, но лучше проверьте расположение кнопок в других вариантах отображения на разных страницах

  • +1 3

Share this post


Link to post
Share on other sites

Попробуйте

<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> <br/ >

в конце добавили <br />

и в /catalog/view/theme/default/stylesheet/stylesheet.ccs

найдите input.button {

и добавьте margin-bottom: 5px;

Это расстояние между кнопками, можете править как нужно.

По идее ничего не должно на сайте расползтись, но лучше проверьте расположение кнопок в других вариантах отображения на разных страницах

Большое спасибо!

Share this post


Link to post
Share on other sites

Сделал все как описано в #3: http://opencartforum...post__p__102159

1. Откроем файл category.tpl (../catalog/view/theme/default/template/product) и вместо этих строк (93-95):

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
</div>

вставим эти:

<div class="cart">
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /><p>
<input type="button" value="<?php echo $text_info; ?>" onclick="top.location.href=('<?php echo $product['href']; ?>');" class="button" />
</div>

2. Откроем файл category.php (../opencart/catalog/controller/product) и после этой строки (103):

$this->data['button_cart'] = $this->language->get('button_cart');

вставим эту:

$this->data['text_info'] = $this->language->get('text_info');

3. Откроем файл category.php (../catalog/language/russian/product) и после этой строки (28):

$_['text_limit'] = 'На странице:';

вставим эту:

$_['text_info'] = 'Описание';

Так все работает, но вот хотел добавить такуюже кнопку подробнее и в модулях (Акции, рекомендуем, хит продаж и т.п.), Просто в каждом модуле дописал возле кнопки купить, подробнее, но выдает ошибку. Помогите как то исправить.

Ссылка на сам сайт: http://gamersgear.com.ua/

Share this post


Link to post
Share on other sites

Простите, тупанул. Просто эти же значения нужно было прописать и в самих модулях. Ну например в catalog/language/russian/module/latest и /catalog/controller/module/ и все заработало. Правда как то кнопки не красивво смотрятся.

Share this post


Link to post
Share on other sites

для этого и существует в движке файл со стилями css

Share this post


Link to post
Share on other sites

для этого и существует в движке файл со стилями css

А можете подсказать пожалуйста как можно отцентровать все продукты в рекомендуемых и т.п. по центру. А то с правой стороны остается место.

Share this post


Link to post
Share on other sites

что значит "отцентровать"... покажите пример. Скрин хотябы...

Share this post


Link to post
Share on other sites

Например такой вариант как на картинке

post-3927-0-32796900-1364199356_thumb.jpg

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  

  • 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.