Показать сообщение отдельно
  #5  
Старый 23.01.2010, 18:42
Аватар для Handy.CMS
Handy.CMS Handy.CMS вне форума
Администратор
 
Регистрация: 25.07.2009
Сообщений: 170
Handy.CMS отключил(а) отображение уровня репутации
По умолчанию

6. Изменение в функции getObjectRights()
В функцию getObjectRights() модуля разделения прав right_access_manager добавлен еще один параметр $not_alone.

Существует 2 варианта использования данной функции:
  1. в рамках шаблона модуля, например, когда Вам нужно прикрепить табличку с вариантами прав в шаблоне вывода редактирования элемента. В этом случае, необходимо установить параметр $not_alone в true, во избежании конфликта вложенности форм.
  2. максимально просто создать отдельную страницу для редактирования прав элеметна, при переходе из списка. В этомм случае функция используется с значением $not_alone, заданным по-умолчанию (false).
Полный вид функции:

PHP код:
getObjectRights ($id$table_name$key_field$parent_id=false$parent_table=false$rights_not_alone=false
, где
  • $id - ID элемента, для которого получаются права (пустой для нового элемента)
  • $table_name - наименование таблицы БД элемента
  • $key_field - название поля идентификатора элемента в БД
  • $parent_id - ID родительского элемента, для которого получаются права (по-умолчанию false)
  • $parent_table - наименование таблицы БД родительского элемента, если задан $parent_id (по-умолчанию false)
Пример использования ф-ции, когда у элемента существует шаблон и мы создаем новый элемент (который еще не сохранен в базу).
PHP код:
// Добавление фотогалереи
  
if ($param_str['page'] == 'photogallery_add') {
// по результату выполнения ф-ции переменная smarty $rights 
// будет содержать табличку с правами, вывод переменной нужно установить
// в нужном месте нашего шаблона
   
$this -> right_access_manager->getObjectRights ('','photogallery','photogallery_id'falsefalsetrue);
   return 
$this->smarty->fetch('photogallery_edit.tpl');
  } 
Пример использования ф-ции, когда у элемента нет самостоятельного шаблона редактирования (пример использования: список новостей, список текстовых блоков):
PHP код:
/* Права группы*/
   
if($param_str['page']=='group_rights') {
   
// .. остальная часть кода ..
    
$rights $this -> right_access_manager->getObjectRights ($param_str 'group_id' ], 'news_groups''group_id');
   } 
__________________
Команда Handy.CMS