INSTANTSHOP 2.2 Блокировка доступа группе пользователей
Возможно есть более грамотные варианты, но я вижу решение в написании JS который будет присваивать display:none; ненужным дивам. Как правильно оформить такой скрипт? И может есть более грамотные решения?
Как закрыть доступ группе пользователей "Менеджеры" (присвоен статус "Администраторы". Дан доступ к "Управление компонентами" и "Магазин" ) ко всему компоненту кроме раздела заказов?
Возможно есть более грамотные варианты, но я вижу решение в написании JS который будет присваивать display:none; ненужным дивам. Как правильно оформить такой скрипт? И может есть более грамотные решения?
Тут проще прописать условие в каждом админ шаблоне шопа который нужно закрыть
Что-то типа
{if group_id == 1}
Шаблон items.tpl.php
{/if}
Тут проще прописать условие в каждом админ шаблоне шопа который нужно закрыть
Что-то типа
{if group_id == 1}
Шаблон items.tpl.php
{/if}
То есть, задать свой шаблон для группы?
То есть, задать свой шаблон для группы?
А как можно передать переменную $group_id в саму админку?
Шаблоны уже есть, они лежат в admin/components/shop/
items.tpl.php
orders.tpl.php и т.д.
вы в них внутри можете установить условие показа только для определенных групп раз,
во вторых в backend.php
найти ссылку (if opt ) которая вызвает процесс перехода на эти шаблоны и разрешить ее только группе нужной
безграмотно пояснил, но как мог
items.tpl.php
orders.tpl.php и т.д.
вы в них внутри можете установить условие показа только для определенных групп раз,
Я не совсем понял, каким образом установить такое условие?
во вторых в backend.php
найти ссылку (if opt ) которая вызвает процесс перехода на эти шаблоны и разрешить ее только группе нужной
Файлов backend.php я нашел много) и не нашел в них (if opt) Может подскажете более точные действия?) Я так понимаю, должна быть команда для запрета перехода конкретному ID. В каком она должна быть виде?
items.tpl.php
orders.tpl.php и т.д.
вы в них внутри можете установить условие показа только для определенных групп раз,
Я не совсем понял, каким образом установить такое условие?
во вторых в backend.php
найти ссылку (if opt ) которая вызвает процесс перехода на эти шаблоны и разрешить ее только группе нужной
Файлов backend.php я нашел много) и не нашел в них (if opt) Может подскажете более точные действия?) Я так понимаю, должна быть команда для запрета перехода конкретному ID. В каком она должна быть виде?
ммм я ожидал что вы знакомы хоть немного как устроен компонент
Думаю все проще тогда лучше сделать
toolmenu которое висит у вас над заказами это и есть ссылки перехода в списки товаров, характеристик, продаж
найдите файл где это меню фигурирует и прямо там задайте условие ограничения отображения этих ссылок для групп
ммм я ожидал что вы знакомы хоть немного как устроен компонент
Я просто немного туплю)) Инстант Шоп для меня в новинку) Как ребенок перед ним, если честно)
toolmenu которое висит у вас над заказами это и есть ссылки перехода в списки товаров, характеристик, продаж
найдите файл где это меню фигурирует и прямо там задайте условие ограничения отображения этих ссылок для групп
Вот я и пытаюсь вырубить это меню и ненужные блоки div. Пытался сделать вот таким способом
<script> $(document).ready(function() { if ($group_id == 11) { $('.group.tovars').css('display', 'none'); } else { } }); </script>
во вторых в backend.php
найти ссылку (if opt ) которая вызвает процесс перехода на эти шаблоны и разрешить ее только группе нужной
А по этому моменту я так понял, надо править самую первую строчку
Быть может в ней прописать условие, но вот как, я не врубился.
ммм я ожидал что вы знакомы хоть немного как устроен компонент
Я просто немного туплю)) Инстант Шоп для меня в новинку) Как ребенок перед ним, если честно)
toolmenu которое висит у вас над заказами это и есть ссылки перехода в списки товаров, характеристик, продаж
найдите файл где это меню фигурирует и прямо там задайте условие ограничения отображения этих ссылок для групп
Вот я и пытаюсь вырубить это меню и ненужные блоки div. Пытался сделать вот таким способом
Но беда в том, что на главной странице админки (правлю файл main.php) не приходит переменная $group_id (может я что-то не туда ползу, и упускаю какой-то параметр Инстанта) Если я поймаю у залогиненного пользователя его $group_id, то остальные блоки я сумею скрыть.
$(document).ready(function() { if ($group_id == 11) { $('.group.tovars').css('display', 'none'); } else { } });
Не помню за что отвечает main.php — помоему за статьи,
как я понял вы хотите присвоить классы кнопкам и впихнуть скрипт в файл меню общий для всей системы
а само toolmenu shopa выводит кнопки тут admin/components/shop/backend.php
if ($opt=='list_items' || $opt=='list_cats' || $opt=='list_chars' || $opt=='list_vendors' || $opt=='list_delivery' || $opt=='list_psys' || $opt=='list_orders' || $opt=='list_discounts'
/admin/includes/cp.php
function cpToolMenu($toolmenu_list){ if ($toolmenu_list){ echo '<table width="100%" cellpadding="2" border="0" class="toolmenu extra" style="margin:0px"><tr><td>'; foreach($toolmenu_list as $toolmenu){ if(!$toolmenu){ echo '<div class="toolmenuseparator"></div>'; continue; } $class_selected = ('?'.$_SERVER['QUERY_STRING'] == $toolmenu['link']) ? 'toolmenuitem_sel' : ''; echo '<a class="'.$class_selected.' toolmenuitem uittip" href="'.$toolmenu['link'].'" title="'.$toolmenu['title'].'" '.$target.'><img src="images/toolmenu/'.$toolmenu['icon'].'" border="0" /></a>'; } echo '</td></tr></table>'; } return; }
Не помню за что отвечает main.php — помоему за статьи,
как я понял вы хотите присвоить классы кнопкам и впихнуть скрипт в файл меню общий для всей системы
а само toolmenu shopa выводит кнопки тут admin/components/shop/backend.php
Поправлюсь здесь не кнопки выодит а то что уже делать при нажатии на них
if ($opt=='list_items' || $opt=='list_cats' || $opt=='list_chars' || $opt=='list_vendors' || $opt=='list_delivery' || $opt=='list_psys' || $opt=='list_orders' || $opt=='list_discounts'
main.php отвечает за верстку главной страницы админки.
Этот вариант уже то, что нужно. Но, он не реагирует на переменную $group_id т.е. Нужно ее как-то вычислить. я сделал так:
if ($opt=='list_items' || $opt=='list_cats' || $opt=='list_chars' || $opt=='list_vendors' || $opt=='list_delivery' || $opt=='list_psys' || $opt=='list_orders' || $opt=='list_discounts'){ echo '<h3>Магазин</h3>'; $toolmenu[0]['icon'] = 'listorders.gif'; $toolmenu[0]['title'] = 'Заказы'; $toolmenu[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_orders'; if ($group_id == 11) { } else { $toolmenu[1]['icon'] = 'folders.gif'; $toolmenu[1]['title'] = 'Категории и товары'; $toolmenu[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_items&cat_id=0&hide_cats=0&orderby=id&orderto=desc&vendor_id=0&art_no=&title='; } }
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
Потом может наоборот сделать условие
показывать только админу
if $user_ is_admin {
$toolmenu[1]['icon'] = 'folders.gif';
$toolmenu[1]['title'] = 'Категории и товары';
$toolmenu[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_items&cat_id=0&hide_cats=0&orderby=id&orderto=desc&vendor_id=0&art_no=&title=';
} else {
});
Потом может наоборот сделать условие
показывать только админу
Группа пользователей Менеджеры является тоже относится к администраторам (Активирован чекбокс "Администраторы?"). Они различны или выйдет одно и тоже?
Потом может наоборот сделать условие
показывать только админу
Группа пользователей Менеджеры является тоже относится к администраторам (Активирован чекбокс "Администраторы?"). Они различны или выйдет одно и тоже?
Тогда по id суперадмина
If ($inUser-->id==1) {
так как то