Как скрыть цены от гостей в Opencart 1.5.x.x
Инструкция тестировалась на Opencart 1.5.3.1.
На странице товара
1. В файле /catalog/controller/product/product.php после следующего кода:
$this->data['points'] = $product_info['points'];
добавить этот:
$this->data['logged'] = $this->customer->isLogged();
2. В файле /catalog/view/theme/Ваша_тема/product/product.tpl заменить код вывода цены:
<?php if (!$special) { ?>
<?php echo $price; ?>
<?php } else { ?>
<span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
<?php } ?>
на этот:
<?php if ($logged) { ?>
<?php if (!$special) { ?>
<?php echo $price; ?>
<?php } else { ?>
<span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
<?php } ?>
<?php } else { ?>
<span>Чтобы увидеть цены <a href="/index.php?route=account/login">войдите</a> или <a href="/index.php?route=account/register">зарегистрируйтесь</a></span>
<?php } ?>
Чтобы скрыть кнопку или другой блок, их нужно обернуть таким же условием по принципу:
<?php if ($logged) { ?>
Здесь то, что нужно вывести для зарегистрированных пользователей.
<?php } else { ?>
Здесь то, что для незарегистрированных. (Можно оставить пустое место).
<?php } ?>
На странице категории
1. В файле /catalog/controller/product/category.php после следующего кода:
$this->data['limit'] = $limit;
добавить этот:
$this->data['logged'] = $this->customer->isLogged();
2. В файле /catalog/view/theme/Ваша_тема/product/category.tpl обернуть нужный код условием, как описано для карточки товара.
На странице производителя
1. В файле /catalog/controller/product/manufacturer.php после следующего кода:
$this->data['limit'] = $limit;
добавить этот:
$this->data['logged'] = $this->customer->isLogged();
2. В файле /catalog/view/theme/Ваша_тема/product/manufacturer.tpl обернуть нужный код условием, как описано для карточки товара.
На странице поиска
1. В файле /catalog/controller/product/search.php после следующего кода:
$this->data['limit'] = $limit;
добавить этот:
$this->data['logged'] = $this->customer->isLogged();
2. В файле /catalog/view/theme/Ваша_тема/product/search.tpl обернуть нужный код условием, как описано для карточки товара.