Убираем кнопки «В сравнение» и «В закладки» в Opencart

«Сравнение товаров» и «Список желаний» — отличные возможности в OpenCart, но для некоторых магазинов они просто не нужны. К сожалению, нет никаких функций или настроек, где вы можете отключить эти две функции. В этом уроке я покажу вам, как удалить кнопки «В сравнение» и «В закладки» из всех мест в вашем магазине OpenCart. В этом статьи я используем русский OpenCart 2.3 с дефолтной темой.

Чтобы удалить кнопки, мы должны изменить несколько файлов OpenCart. Мы можем внести изменения непосредственно в tpl-шаблоны, но я не рекомендую так делать, или мы можем создать новую модификацию ocmod (подробней об системе модификаций — тут). Изменения функционала с использованием системы модификации ocmod намного безопаснее, потому что файлы движка не изменяются напрямую, и мы можем в любой момент вернуть функциональность по умолчанию.

Создадим новый файл ocmod

Используем любой текстовый или html-редактор и создадим новый файл. Сохраняем его с двойным расширением «название_файла.ocmod.xml». После создание, помещаем внутрь код ниже — это обязательная шапка, чтобы движок Opencarta увидел нашу модификацию. Копируем/вставляем код ниже и изменяем имя, версию, ссылку и автора на ваши. Подробнее про создание ocmod-файлов читайте тут.

<modification>
<!-- Убирает кнопки "В сравнение" и "В закладки" -->
<version>1.0</version>
<code>remove-compare-wishlist</code>
</modification>

Готовый файл можно найти в конце статьи.

Добавим код для каждой страницы

Теперь, когда файл ocmod готов, мы добавляем изменения одно за другим. Изменения добавляются перед закрывающим тегом .

1. Удаляем «Сравнение» и «Закладки» из блоков Рекомендуемые, Хиты продаж, Новые поступления и Акции.

<!-- Убираем кнопки "В сравнение" и "В закладки" из блоков Рекомендуемые, Хиты продаж, Новые поступления, Акции -->

<file path="catalog/view/theme/default/template/extension/module/{bestseller,featured,latest,special}*.tpl">
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button>
"replace"
</operation>
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class"fa fa-exchange"</i></button>
"replace"
</operation>
</file>

<!-- Убираем кнопки "В сравнение" и "В закладки" из блоков Рекомендуемые, Хиты продаж, Новые поступления, Акции -->

2. Удаляем со страницы категории.

Для каждого продукта на странице категории есть кнопки «В сравнение» и «В закладки», причем в обоих раскладках — плиткой и списком. Удалим их:

<!-- Убираем кнопки "В сравнение" и "В закладки" со страницы категории -->

<file path="catalog/view/theme/default/template/product/category.tpl">
<operation>
<button type"button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product'product_id'; ?>');"><i class="fa fa-heart"></i></button>
"replace"
</operation>
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product'product_id' ?>');"><i class="fa fa-exchange"></i></button>
"replace"
</operation>
</file>

<!-- Убираем кнопки "В сравнение" и "В закладки" со страницы категории -->

3. Удаляем кнопки на странице продукта:

Обратите внимание, для версий 2.0-2.2 убираем блоки расположенные между комментариев. А лучше используйте последнюю версию Opencart 2.3.0.2 «Русская сборка».

<!-- Убираем кнопки "В сравнение" и "В закладки" на карточке товара-->

<file path="catalog/view/theme/default/template/product/product.tpl">
<operation>
<button type"button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id ?>');"><i class="fa fa-heart"></i></button>
"replace"
</operation>

<!-- Для Opencart 2.0-2.2 убираем этот блок -->
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button>
"replace"
</operation>

<!-- Для Opencart 2.0-2.2 убираем этот блок -->
<operation>
<button type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product_id ');"><i class="fa fa-exchange"></i></button>
"replace"
</operation>

<!-- Для Opencart 2.0-2.2 убираем этот блок -->
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>
"replace"
</operation>
</file>

<!-- Убираем кнопки "В сравнение" и "В закладки" на карточке товара-->

4. Удаляем кнопки на странице поиска.

<!-- Убираем кнопки "В сравнение" и "В закладки" на странице результатов поиска -->

<file path="catalog/view/theme/default/template/product/search.tpl">
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button>
"replace"
</operation>
<operation>
<button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button>
"replace"
</operation>
</file>

<!-- Убираем кнопки "В сравнение" и "В закладки" на странице результатов поиска -->

5. Убираем ссылку «Закладки» из шапки сайта.

После того, как мы удалили все кнопки с карточек товаров, нет необходимости в ссылке «Закладки» в самом верхнем меню сайта. Удалим его:

<!-- Убираем ссылку "Закладки" из шапки магазина -->

<file path="catalog/view/theme/default/template/common/header.tpl">
<operation>
<li><span class="tag"><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i>
</span><span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li> 
"replace" 
</operation> 
</file> 

<!-- Убираем ссылку "Закладки" из шапки магазина -->

Готово! Теперь сохраняем файл и загружаем его в админ-панели Модули / Расширения»Установка расширений. Как устанавливать модификации — читайте тут.

После установки у нас поплывет верстка в тех местах, где есть кнопка «Купить». Например, в модуле «Рекомендованные» или на странице категории. Ошибка вызвана тем, что блок с кнопками имеет определенную ширину, а ширина кнопки «Купить» установлена ​​равной 60% от него. Исправим это, растянув ее во всю ширину карточки товара. Для этого откроем файл stylesheet.css, он находится по адресу /view/theme/default/stylesheet/stylesheet.css и добавим в самый конец код:

.product-thumb .button-group button { 
width: 100%; 
}

Либо найдем поиском по файлу следующий CSS-селектор — «.product-thumb .button-group button» и поменяем значение width с 60% до 100%.

Готовый файл

Эта статья написана специально для дефолтной темы OpenCart, но я думаю, что тот же результат может быть достигнут для любой другой, главное, чтобы вы поняли принцип. Сравнение и закладки — это важный функционал сайта, влияющий на принятие решения о покупке, дважды подумайте, прежде чем отключать их.

Готовый файл можно скачать здесь. Менять ничего не надо — все сразу работает.