Отключение вывода блока Права доступа в режиме редактирования страницы
Материал из Umicms
Задача. В административной части, при редактировании страниц модуля "Каталог", отключить вывод группы "Права доступа" для пользователей, которые не входят в группу "Супервайзеры".
Решение. Решение в данном случае достаточно простое, необходимо в папку \styles\skins\mac\data\modules\catalog\ добавить файл form.modify.custom.xsl следующего содержания:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE xsl:stylesheet SYSTEM "ulang://common"> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:umi="http://www.umi-cms.ru/TR/umi" xmlns:php="http://php.net/xsl" > <xsl:template match="data[@type = 'form' and (@action = 'modify' or @action = 'create')]"> <form method="post" action="do/" enctype="multipart/form-data"> <input type="hidden" name="referer" value="{/result/@referer-uri}" id="form-referer" /> <input type="hidden" name="domain" value="{$domain-floated}"/> <xsl:apply-templates mode="form-modify" /> <xsl:if test="document(concat('uobject://', $current-user-id, '.groups'))/udata/property/value/item[@guid = 'users-users-15']"> <xsl:apply-templates select="page" mode="permissions" /> </xsl:if> <xsl:if test="@action = 'modify' and count(page) = 1"> <xsl:apply-templates select="document(concat('udata://backup/backup_panel/', page/@id))/udata" /> </xsl:if> </form> </xsl:template> </xsl:stylesheet>
в итоге, для модуля "Каталог" мы переназначили шаблон, который находится в файле \styles\skins\mac\data\form.modify.xsl, т.е. добавили проверку на принадлежность пользователя к группе "Супервайзеры":
<xsl:if test="document(concat('uobject://', $current-user-id, '.groups'))/udata/property/value/item[@guid = 'users-users-15']"> <xsl:apply-templates select="page" mode="permissions" /> </xsl:if>
Глобальная переменная $current-user-id - определена в файле \styles\skins\mac\main.xsl
