Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


Sahka
 Поделиться

Рекомендованные сообщения

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

Есть каталог товаров на 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'))) { ?>

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

 

 

 

Ссылка на комментарий
Поделиться на других сайтах


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

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

 

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

=>

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

 

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

!in_array(...)
Ссылка на комментарий
Поделиться на других сайтах

$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)))) { ?>
Ссылка на комментарий
Поделиться на других сайтах



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))))) {

Ссылка на комментарий
Поделиться на других сайтах

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))))) {

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

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

Изменено пользователем Sahka
Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах


Хотим создать раздел с каталогами, для группы "партнеры", а "розничные" не должны видеть этот раздел!

Но раздел с каталогами, должен индексировать ПС, а при попытке перехода с ПС, сообщение с просьбой регистрации на сайте!

Ссылка на комментарий
Поделиться на других сайтах


Так не бывает...

 

Можно определять бота и ему показывать, но за это можно и по "шапке" получить

Ссылка на комментарий
Поделиться на других сайтах

по группе

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

Ссылка на комментарий
Поделиться на других сайтах


Управление с админки, или указание 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))))) {
Ссылка на комментарий
Поделиться на других сайтах


Хотим создать раздел с каталогами, для группы "партнеры", а "розничные" не должны видеть этот раздел!

Но раздел с каталогами, должен индексировать ПС, а при попытке перехода с ПС, сообщение с просьбой регистрации на сайте!

 

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

Ссылка на комментарий
Поделиться на других сайтах


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

Для начала киньте ссылку на сайт, в личку, хочу глянуть.

 

Благодарю!

Ссылка на комментарий
Поделиться на других сайтах


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

 

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

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

 

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

 

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

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

 

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

 

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

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

 

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

 

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

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

 

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

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

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

 

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

 

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

Изменено пользователем Sahka
Ссылка на комментарий
Поделиться на других сайтах


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

 

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

 

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

Ссылка на комментарий
Поделиться на других сайтах


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

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

 

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

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

 

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

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

 

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

 

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

Изменено пользователем Espresso.Doktor
Ссылка на комментарий
Поделиться на других сайтах


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

Изменено пользователем afwollis
Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

<?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'));
		}
Ссылка на комментарий
Поделиться на других сайтах

Здравствуйте братья по разуму! (я, наверное, слишком о себе!)))

Подскажите ж, как сделать обязательными при регистрации ВСЕ поля. Ну или на выбор. Туплю, извиняюсь. 

Ссылка на комментарий
Поделиться на других сайтах


 

Здравствуйте братья по разуму! (я, наверное, слишком о себе!)))
Подскажите ж, как сделать обязательными при регистрации ВСЕ поля. Ну или на выбор. Туплю, извиняюсь. 

 

Тему нашел. Проехали. Спасибо всем, не отозвавшимся на беду)

Изменено пользователем Estvitapro
Ссылка на комментарий
Поделиться на других сайтах


  • 7 месяцев спустя...

Доброго времени суток, уважаемые форумчане!

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

Нужно скрыть от глаз незарегистрированного посетителя товары определённого производителя.

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.