Отключение вывода блока Права доступа в режиме редактирования страницы
Материал из 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