Jump to content
Sign in to follow this  
Sahka

[Решено?..] Скрыть несколько категорий от незарегистрированных пользователей

Recommended Posts

Приветствую всех заглянувших.

Есть каталог товаров на Opencart, нужно скрыть товары и категории для незарегистрированных пользователей.
Может кто-то сталкивался с такой задачей и знает как это осуществить ?

 

в контроллер category.php  после:
$this->data['heading_title'] = $category_info['name'];
 

добавил:

$this->data['category_info'] = $category_info;

и в category.tpl

<?php if ((($products) && ($category_info['category_id'] == '20') && ($this->customer->getCustomerGroupId() == '2')) || (($products) && ($category_info['category_id'] != '20'))) { ?>

Данный метод работает только для одной категории, как сделать для нескольких ?

 

 

 

Share this post


Link to post
Share on other sites

конечно для одной. Для id=20

нужно для других - добавить и остальные коды туда же

Share this post


Link to post
Share on other sites

конечно для одной. Для id=20

нужно для других - добавить и остальные коды туда же

 

Если укажу через запятую, то не работает.

Если несколько раз написать код с разными категориями

<?php if ((($products) && ($category_info['category_id'] == '20') && ($this->customer->getCustomerGroupId() == '2')) || (($products) && ($category_info['category_id'] != '20'))) { ?>

то страница категории не работает.

Share this post


Link to post
Share on other sites

$category_info['category_id'] == '20'

=>

in_array($category_info['category_id'], array(20, 30, 40, 100500...))

 

Во второй части выражения:

!in_array(...)

Share this post


Link to post
Share on other sites
$category_info['category_id'] == '20'

=>

in_array($category_info['category_id'], array(20, 30, 40, 100500...))

 

Во второй части выражения:

!in_array(...)

 

Так ?

<?php if ((($products) && (in_array($category_info['category_id'], array(93, 113))) && ($this->customer->getCustomerGroupId() == '2')) || (($products) && ($category_info['category_id'] !in_array(93, 113)))) { ?>

Share this post


Link to post
Share on other sites


if ((($products) && (in_array($category_info['category_id'], array(93, 113))) && ($this->customer->getCustomerGroupId() == '2')) || (($products) && (!in_array($category_info['category_id'], array(93, 113))))) {

Share this post


Link to post
Share on other sites
if ((($products) && (in_array($category_info['category_id'], array(93, 113))) && ($this->customer->getCustomerGroupId() == '2')) || (($products) && (!in_array($category_info['category_id'], array(93, 113))))) {

Премного благодарен! все работает))).

Тему можно закрывать

Edited by Sahka

Share this post


Link to post
Share on other sites

Извиняюсь, у Вас реализовано закрытие категорий, по ID клиента или по группе клиентов?

Share this post


Link to post
Share on other sites

Извиняюсь, у Вас реализовано закрытие категорий, по ID клиента или по группе клиентов?

 

И :)

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

Извиняюсь, у Вас реализовано закрытие категорий, по ID клиента или по группе клиентов?

 

по группе

Share this post


Link to post
Share on other sites

по группе

Управление с админки, или указание ID- группы в коде?

Share this post


Link to post
Share on other sites

Управление с админки, или указание ID- группы в коде?

 

ID группы в коде.

if ((($products) && (in_array($category_info['category_id'], array(93, 113))) && ($this->customer->getCustomerGroupId() == 'Тут id группы')) || (($products) && (!in_array($category_info['category_id'], array(93, 113))))) {

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

Глянул, но у Вас без регистрации вообще категории товара не открываются, как-то очень Жестко!

 

Первое - влияет на количество посещений и на глубину просмотра - что в плане SEO - очень может негативно сказаться :(

Второе - время проведенное на сайте, думаю его ПС тоже анализируют, и если посетитель у Вас проводит до 10 секунд, это жирный минус.

 

Но в целом идея понятная.

 

Думал, что у себя надо реализовать Раздел/Категорию.

То есть оно визуально на сайте есть, но зайти саму страницу - выводилось сообщение.

 

Уважаемый у Вас нету прав для просмотра данного раздела/категорий.

Пожалуйста авторизуйтесь.

Войти/Регистрация.

Share this post


Link to post
Share on other sites

Глянул, но у Вас без регистрации вообще категории товара не открываются, как-то очень Жестко!

 

Первое - влияет на количество посещений и на глубину просмотра - что в плане SEO - очень может негативно сказаться :(

Второе - время проведенное на сайте, думаю его ПС тоже анализируют, и если посетитель у Вас проводит до 10 секунд, это жирный минус.

 

Но в целом идея понятная.

 

Думал, что у себя надо реализовать Раздел/Категорию.

То есть оно визуально на сайте есть, но зайти саму страницу - выводилось сообщение.

 

Уважаемый у Вас нету прав для просмотра данного раздела/категорий.

Пожалуйста авторизуйтесь.

Войти/Регистрация.

 

Главная цель каталога, сбор контактных данных. на сайт заходит исключительно целевая аудитория.

 

P.S. под вашу идею вам подсказать ничего не могу, т.к. с opencart на ВЫ )))

Edited by Sahka

Share this post


Link to post
Share on other sites

Главная цель каталога, сбор контактных данных. на сайт заходит исключительно целевая аудитория.

 

P.S. под вашу идею вам подсказать ничего не могу, т.к. с opencart на ВЫ )))

Окей, с такой принудиловкой, страницы в ПС индексируются?

Share this post


Link to post
Share on other sites

Окей, с такой принудиловкой, страницы в ПС индексируются?

 

Не могу ответить на ваш вопрос, поскольку занимался исключительно кодом. СЕО лежит не на мне (могу лишь сказать что с момента внедрения такого кода было уже 4 регистрации, прошло 2-3 недели, а раньше была 1 регистрация в месяц (это в лучшем случае))

Share this post


Link to post
Share on other sites

Вот, вот, у меня реализовано такая процедура регистрации, только штатным методом, скрытием цен для не зарегистрированных пользователей.

И прекрасно понимаю, что если открыть цену, то регистраций будет "ноль" в месяц, и тут возникает вопрос как "ласково попросить" зарегистрироваться?

 

Вот, и начинаю искать варианты "добровольной регистрации", ибо сегодня выглядит зарег. клиентов 30%, остальные мыло, скайп, вайбер 70%.

А реально 90% клиентов, заказы оформляют по телефону :(

 

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

Могу представить картину, если крыть все категории, ужас нах.

 

Это влияет на глубину просмотра и время на сайте, что не есть гуд :(

 

А это в свою очередь влияет на выдачу в пс.

Edited by Espresso.Doktor

Share this post


Link to post
Share on other sites

Дайте скидку зарегистрированным пользователям (если это возможно), думаю это подтолкнет людей к регистрации.

Edited by afwollis

Share this post


Link to post
Share on other sites

Скрыть несколько категорий от незарегистрированных пользователей

<?php if (...$this->customer->getCustomerGroupId() == '2'...) { ?>

стесняюсь спросить - а для чего проверять группу, если интересует лишь "зарегистрированность" посетителя?

проверяй, залогинен ли, и все.

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

		if (!$this->customer->isLogged()) {
			$this->session->data['redirect'] = $this->url->link('account/account', '', 'SSL');
			$this->redirect($this->url->link('account/login', '', 'SSL'));
		}

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  

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