Сделать из магазина закрытый каталог
#1
Отправлено 09 November 2012 - 10:29 PM
Суть в том, что каждый пользователь может добавить позицию в каталог, но просматривать детальную
информацию о позиции могут только VIP пользователи.
как минимум 3 типа пользователей
- администраторы
управляют каталогом
управляют заказами
- обычные пользователи
могут добавлять позиции в каталог
могут просматривать детальную информацию только о своих позициях
- VIP - пользователи
могут добавлять позиции в каталог
могут пользоваться поиском
могут просматривать детальную информацию о всех позициях
могут делать заказы
отчетность о ходе выполнения
Пока вызрели такие требования к будущей системе, буду расширять по мере понимания.
Жду отзывов и советов о том как можно реализовать подобное разделение прав.
#2
Отправлено 09 November 2012 - 10:48 PM
В рамках штатного ShopCMS - разобраться с разделением прав. Но уверен, что даже ограниченный (на уровне разрешения добавлять товары и не более) доступ к админке обычному стороннему пользователю ни к чему хорошему не приведет. Найдутся грабли и дырки для любознательного студента, которых в админке ShopCMS достаточно. Придется либо писать дополнительные модули для реализации желаемого, либо (что правильнее!) найти не классический интернет-магазин, а некий другой продукт, с закосом под eBay, т.е. имеющий в основе принципиально другую идею.Жду отзывов и советов о том как можно реализовать подобное разделение прав.
#3
Отправлено 09 November 2012 - 11:46 PM
В рамках штатного ShopCMS - разобраться с разделением прав. Но уверен, что даже ограниченный (на уровне разрешения добавлять товары и не более) доступ к админке обычному стороннему пользователю ни к чему хорошему не приведет. Найдутся грабли и дырки для любознательного студента, которых в админке ShopCMS достаточно. Придется либо писать дополнительные модули для реализации желаемого, либо (что правильнее!) найти не классический интернет-магазин, а некий другой продукт, с закосом под eBay, т.е. имеющий в основе принципиально другую идею.Жду отзывов и советов о том как можно реализовать подобное разделение прав.
Доступ к админке - изначально не рассматриваю, разве кто-то придумает что-нить интересное в этом направлении.
Пока собираюсь взять за основу форму регистрации пользователей для добавления новых позиций.
Также есть идея для разграничения доступа использовать модуль управления блоками, только надо завести вторую группу администраторов-VIP пользователей.
другую систему конечно можно, но проект не коммерческий, да и нет времени разбираться с другими системами, все равно идеальных нет, а тут я хоть не много понимать начал что как устроено.
#4
Отправлено 10 November 2012 - 06:41 AM
#5
Отправлено 10 November 2012 - 11:05 AM
Некоммерческий проект с VIP-клиентами и добавлением товаров? Это как это?
это я просто перевел на язык магазина требования к будущему каталогу, в данном случае про товары и клиентов
я нигде не писал, а да и не коммерческий для меня значит, что я на нем ничего не зарабатываю, а вот если сестре поможет в работе,
то слава богу.
#6
Отправлено 10 November 2012 - 11:35 AM
Лет десять назад (больше?), если не ошибаюсь, похоже работал какой-то из каталогов бесплатных объявлений. Толи Шанс, толи ИРР. Размещение бесплатно, поиск и просмотр бесплатно, а вот увидеть поле с телефоном в желаемом объявлении - за денежку. Как я понимаю, тема умерла, т.к. ушлый народ стал публиковать телефон прямо в тексте объявления, маскируя его аналогично спамерам .
#7
Отправлено 10 November 2012 - 06:19 PM
Добавил новые виды пользователей для блоков, они заносятся в базу в таблицу blocks в колонку admin,
но что- то не могу понять в какой функции где идет проверка этого значения.
#8
Отправлено 10 November 2012 - 08:42 PM
Насколько я помню (не факт, что я прав!) у блоков нет фишки показа или непоказа в зависимости от прав пользователя.Подскажите, плз, где проверяются права показывать или нет блок по правам.
Штатно можно разрешить показ блока либо для всех, либо для админа. Я несколько дней назад дописывал (и выкладывал в общий доступ? не помню) трехвариантность показа блоков вместо двухвариантности - не всем/админам а всем/админам/зарегистрированым_юзерам. Но даже в этом случае нет возможности разрешить/запретить показ блока конкретным пользователям.
Вся система "разграничения прав" в ShopCMS применима только к админке. В клиентской части она почти не используется.
#9
Отправлено 10 November 2012 - 09:41 PM
Я несколько дней назад дописывал (и выкладывал в общий доступ? не помню) трехвариантность показа блоков вместо двухвариантности - не всем/админам а всем/админам/зарегистрированым_юзерам. Но даже в этом случае нет возможности разрешить/запретить показ блока конкретным пользователям.
Вся система "разграничения прав" в ShopCMS применима только к админке. В клиентской части она почти не используется.
Это именно то что нужно, я тоже пошел по этому пути, только я добавил дополнительно 2 варианта менеджер и VIP-пользователь.
Можешь дать ссылку, если выкладывал, а то я не нашел. Ну или просто подскажи, где проверяется эти права.
#10
Отправлено 11 November 2012 - 04:16 PM
Похоже, не выкладывал.Можешь дать ссылку, если выкладывал, а то я не нашел
======================
1. в файле conf_blocks_edit.tpl.html
1.1 после строки
<option value="1" {if $blocks_edit.admin eq 1}selected{/if}> {$smarty.const.BLOCK_EDIT_ADMIN3} </option>
добавляем
<option value="2" {if $blocks_edit.admin eq 2}selected{/if}> Registered users </option>
1.2 после строки
<option value="1"> {$smarty.const.BLOCK_EDIT_ADMIN3} </option>
добавляем
<option value="2"> Registered users </option>
2. в файле index.php
после строки
if ($vallb["admin"] == 1) if (!$adminislog) $vallb["state"] = false;
добавляем
if ($vallb["admin"] == 2) if (!isset($_SESSION["log"])) $vallb["state"] = false;
таких строк там четыре по числу вариантов расположения блоков - лево/право/верх/низ.
Заменить, естественно, надо во всех четырех местах.
===============================
Ну или просто подскажи, где проверяется эти права.
В общем случае это $_SESSION['log'], плюс есть функция checklogin() в functions.php, возвращающая массив разрешенных действий для текущего пользователя (они задаются в админке). Штатно там задаются только административные действия, но никто не мешает добавить свои фишки. Например, "показывать клиенту блок номер восемь"- [да/нет] .
#11
Отправлено 12 November 2012 - 12:53 AM
Единственно, что я вместо "Registered users" использовал {$smarty.const.BLOCK_EDIT_ADMIN4} и дописал соответствующее значение в RUSSIN.PHP