Автор Тема: Ссылки для определенных групп  (Прочитано 2020 раз)

11 Июль 2013, 12:30:36
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, нужно реализовать на сайте отдельную страничку для оптовиков. Группу создал а как создать ссылку которая будет видна только им не знаю. Буду благодарен за помощь. Вообще идеально если кто-то подскажет как в lofmegamenu реализовать такую ссылку, по умолчанию там в разрешениях только гости, полльзователи и покупатели, при создании новой группы в настройках lof она не появляется.
11 Июль 2013, 13:28:26
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если в модуле  lofmegamenu не предусмотрено добавление доступа по группам, то только переделывать этот модуль или установить дополнительный, который будет разделять доступ к разным категориям.
Вот такой например
Модуль Prestashop Private Sales and VIP
11 Июль 2013, 13:40:01
Ответ #2
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если в модуле  lofmegamenu не предусмотрено добавление доступа по группам, то только переделывать этот модуль или установить дополнительный, который будет разделять доступ к разным категориям.
Вот такой например
Модуль Prestashop Private Sales and VIP
в модуле предусмотрено добавление доступа по группам (см скрин)
http://img27.imageshack.us/img27/8791/2kkj.png
но группы которые я создаю там не отображаются.

Если не принимать во внимание мегаменю, как просто в шаблон вставить ссылку которую будет видеть определенная группа пользователей?
11 Июль 2013, 14:02:42
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если бы было предусмотрено, тогда бы отображались группы. вы говорите, что создаете новые группы, а из в этом модуле не видно.
Смотрите код модуля, может там просто написаны названия групп и нужно добаялять в ручную.
Цитировать
Если не принимать во внимание мегаменю, как просто в шаблон вставить ссылку которую будет видеть определенная группа пользователей?
В стандартном варианте этого не сделать. Или модуль, или привязка категории к группе
В админке Каталог > Категории > Редактировать
Доступ к группе: указываете свою группу.
В шаблоне проверка пользователя на принадлежность к группе и показ нужной категории.
Но еще нужно будет переделать шаблон показа продуктов, там тоже нужно будет ввести проверку, так как зная прямую ссылку посетитель сможет напрямую войти на страницу продуктов (посмотрит в карте сайта ).
11 Июль 2013, 23:18:55
Ответ #4
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если бы было предусмотрено, тогда бы отображались группы. вы говорите, что создаете новые группы, а из в этом модуле не видно.
Смотрите код модуля, может там просто написаны названия групп и нужно добаялять в ручную.
Цитировать
Если не принимать во внимание мегаменю, как просто в шаблон вставить ссылку которую будет видеть определенная группа пользователей?
В стандартном варианте этого не сделать. Или модуль, или привязка категории к группе
В админке Каталог > Категории > Редактировать
Доступ к группе: указываете свою группу.
В шаблоне проверка пользователя на принадлежность к группе и показ нужной категории.
Но еще нужно будет переделать шаблон показа продуктов, там тоже нужно будет ввести проверку, так как зная прямую ссылку посетитель сможет напрямую войти на страницу продуктов (посмотрит в карте сайта ).

Как все сложно :)
Разве нельзя сделать что-то на подобие
{if группа юзера = ID группы}
<a href="ссылка">ссылка </a>
{/if}

?
По факту мне этого хватило бы
11 Июль 2013, 23:43:47
Ответ #5
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел какдобавить в админку мегамуню доп группу
http://img713.imageshack.us/img713/9530/r79s.png

пункт добавился, ID правильный (4) но не работает....пользователи в группе опт пункта не видят
12 Июль 2013, 11:14:22
Ответ #6
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитировать
Если бы было предусмотрено, тогда бы отображались группы. вы говорите, что создаете новые группы, а из в этом модуле не видно.
Смотрите код модуля, может там просто написаны названия групп и нужно добаялять в ручную.
О чем и говорил DarinSr. Ограничение по группам можно только добавить в коде.
Цитировать
пункт добавился, ID правильный (4) но не работает....пользователи в группе опт пункта не видят
Проверяйте megamenus['privacy']. Может там тоже все вручную добавлять нужно.
Цитировать
Разве нельзя сделать что-то на подобие
{if группа юзера = ID группы}
<a href="ссылка">ссылка </a>
{/if}
Можно, в классе Customer есть метод getGroups(). С помощью этого метода можно узнать группу зарегистрированного пользователя.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
12 Июль 2013, 11:24:45
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$customer->getGroups();
// или
Customer::getGroupsStatic($id_customer);
12 Июль 2013, 12:56:28
Ответ #8
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$customer->getGroups();
// или
Customer::getGroupsStatic($id_customer);

Спасибо всем за помощь, если не затруднит, могли бы полностью условие написать?
12 Июль 2013, 16:23:36
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 885
  • Репутация: +206/-0
    • Просмотр профиля
Как все сложно :)
Разве нельзя сделать что-то на подобие
{if группа юзера = ID группы}
<a href="ссылка">ссылка </a>
{/if}
?
По факту мне этого хватило бы
Вы же сами уже написали код. Я конечно не программист и не могу судить о качестве, но по моему все верно. Только вставить то, что предложили.
{if $customer->getGroups() = ID группы}
<a href="ссылка">ссылка </a>
{/if}
12 Июль 2013, 16:45:20
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Цитата: Руслан Л
{if $customer->getGroups() = ID группы}
<a href="ссылка">ссылка </a>
{/if}
Действительно не программист. Если бы так просто было, то программисты были бы не нужны.
Сразу скажу, не рабочий код. Не нужно давать советов, если сам не знаешь.
Цитата: maggotische
Спасибо всем за помощь, если не затруднит, могли бы полностью условие написать?
Разбираться что и как делать нужно тогда, когда ты хочешь изучить предмет и работать по этому предмету.
У тебя такя цель, тогда изучай чужой код, смотри примеры.
А если тебе просто сделать и забыть, то найми другого.
12 Июль 2013, 17:46:35
Ответ #11
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитата: Руслан Л
{if $customer->getGroups() = ID группы}
<a href="ссылка">ссылка </a>
{/if}
Действительно не программист. Если бы так просто было, то программисты были бы не нужны.
Сразу скажу, не рабочий код. Не нужно давать советов, если сам не знаешь.
Цитата: maggotische
Спасибо всем за помощь, если не затруднит, могли бы полностью условие написать?
Разбираться что и как делать нужно тогда, когда ты хочешь изучить предмет и работать по этому предмету.
У тебя такя цель, тогда изучай чужой код, смотри примеры.
А если тебе просто сделать и забыть, то найми другого.

мне в меню интегрировать не принципиально, мне нужно как то вставить в шаблон ссылку, вот и пытаюсь разобраться как
12 Июль 2013, 18:15:40
Ответ #12
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Через шаблон tpl не получиться. Чтобы у вас была возможность получать ид группы на всех страниц, нужно будет изменить FrontController.php или создать модуль.
$customer = new Customer(intval($cookie->id_customer));
/* 4 ид вашей группы */
$specificGroup = $customer->isMemberOfGroup(4);
$smarty->assign('customerGroup', $specificGroup);
и потом в шаблоне tpl
{if $customerGroup}
...
{/if}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
12 Июль 2013, 20:46:11
Ответ #13
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Через шаблон tpl не получиться. Чтобы у вас была возможность получать ид группы на всех страниц, нужно будет изменить FrontController.php или создать модуль.
$customer = new Customer(intval($cookie->id_customer));
/* 4 ид вашей группы */
$specificGroup = $customer->isMemberOfGroup(4);
$smarty->assign('customerGroup', $specificGroup);
и потом в шаблоне tpl
{if $customerGroup}
...
{/if}

у меня отсутствует  FrontController.php по адресу /controllers/front/  я не там ищу?
13 Июль 2013, 11:46:23
Ответ #14
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
народ, ну неужели никто не делал никогда ссылки для отдельных групп? Или это какой то принцип  что за бесплатно советы из разряда "бери и делай"?