Kabak |
|
---|---|
Как проверить в TPL, просматривает ли пользователь любую страницу ?
Добавлено 3 часа спустя: иными словами, находится ли пользователь в локации /index.php?e=page&c=news&id=1 где id= любому номеру страницы Добавлено 1 день спустя: есть ли аналоги тегов {PAGE_ADMIN_EDIT} , {PAGE_ADMIN_UNVALIDATE} , {PAGE_ADMIN_CLONE} , {PAGE_ADMIN_DELETE} для header ? |
|
This post was edited by Kabak (2023-11-24 23:35, 6 months ago) |
Argont |
|
---|---|
#47439 Kabak: таких аналогов для хедера нет и работать они там не будут однозначно/ потому что в хедере, в ссылке, для страницы "id=$this" находится (я своими словами) вне области видимости модуля page иногда поржать над задравшим подбородок разработчиком
|
|
This post was edited by Argont (2023-11-25 08:43, 6 months ago) |
Kort |
|
---|---|
Конечно, таких тегов нет. Но собрать ссылки несложно: <!-- IF {PHP.id} --> <a href="{PHP|cot_url('page', 'm=edit&id={PHP.id}')}">{PHP.L.Edit}</a> <a href="{PHP|cot_url('page', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')}">Unvalidate</a> <a href="{PHP|cot_url('page', 'm=add&c={PHP.c}&clone={PHP.id}')}">Clone</a> <a href="{PHP|cot_url('page', 'm=edit&a=update&delete=1&id={PHP.id}&x={PHP.sys.xk}')}">{PHP.L.Delete}</a> <!-- ENDIF --> Если делать это только для себя (суперадмина), сойдет и так. А если вообще, то надо делать проверки. Например, правку страницы может делать только ее владелец, а клонирование -- пользователь с правом записи в данный раздел. Validate/unvalidate и delete должны быть доступны только при наличии прав администрирования. Работать будут однозначно. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Argont |
|
---|---|
#47460 Kort: я говорил за теги, в которые помещается ссылка иногда поржать над задравшим подбородок разработчиком
|
Kort |
|
---|---|
И $id / $pag['page_id'] и $pag['page_alias'] в хедере доступны. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Argont |
|
---|---|
#47463 Kort: а чего же он гад иногда поржать над задравшим подбородок разработчиком
|
Kabak |
|
---|---|
Я хочу перенести меню админа в динамическое меню в хедере чтобы оно всегда болталось вверху сайта. и чтобы в нужной локации в этом меню появлялись опции доступные админу или пользователю - владельцу страницы. Добавлено 9 минут спустя:
<a href="{PHP|cot_url('page', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')}">Unvalidate</a> unvalidate в таком виде не работает при unvalidate идёт вопрос подтверждения в запросе {PAGE_ADMIN_UNVALIDATE} |
|
This post was edited by Kabak (2023-11-25 15:27, 6 months ago) |
Kort |
|
---|---|
#47465 Kabak: Если и делать такое, то точно не на шаблонизаторе. Да и польза сомнительная: как же посты, комменты и другой контент? <a href="{PHP|cot_url('page', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')}">Unvalidate</a> Не работает для страницы с каким статусом? Это должна быть ссылка-тумблер, и кроме прав надо проверять статус страницы. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kabak |
|
---|---|
А как лучше делать и что не так с постами и комментами ? про статус не понял. Обычная новость созданная админом - мной. Ну в TPL для новостей локация page.tpl есть тег {PAGE_ADMIN_UNVALIDATE} он работает. |
Kort |
|
---|---|
Зачем пытаться объять необъятное и все пихать в хедер? Стандартные блоки под контентом разделов и страниц прекрасно работают. Чтобы их унифицировать можно перенести их в отдельные шаблоны и подключать как: <!-- IF {PHP.usr.isadmin} --> {FILE "{PHP.cfg.themes_dir}/{PHP.theme}/inc/admin-page.tpl"} <!-- ENDIF --> и <!-- IF {PHP.usr.isadmin} --> {FILE "{PHP.cfg.themes_dir}/{PHP.theme}/inc/admin-list.tpl"} <!-- ENDIF --> А сэкономленное время лучше потратить на более полезные вещи. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kabak |
|
---|---|
А если пользователь - не админ, но создал страницу и должен иметь права её изменять ?
#47468 Kort: Что этот вынос блоков в отдельный файл изменит ? Пожалуйста, прошу популярно объяснить. |
|
This post was edited by Kabak (2023-11-25 19:05, 6 months ago) |
Kort |
|
---|---|
Права пользователя надо определять, исходя из того, как надо, а не кто чего создал. По умолчанию TPL-теги правки страницы формируются исходя из того, что автор имеет право на правку. Но как оно тебе надо -- уже другой вопрос. По второму пункту: если у тебя 10 шаблонов страниц и 15 шаблонов разделов, то блоки управления разумнее вынести в отдельные шаблоны и подключать их конструкциями, которые я указал. Так, по крайней мере, проще будет их изменять. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
Kabak |
|
---|---|
Ещё вопрос, идея возможности выноса вот этого блока до кучи к админ-возможностям движка в header или footer чтобы всё это было в одном месте и можно было играться с темами для сайтов на Cotonti более просторно ? Собственно проблема с выносом касается только с "В очередь на утверждение" нужно писать плагин, чтобы это корректно работало их Header |
Kort |
|
---|---|
А что мешает играться сейчас? SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
|
This post was edited by Kort (2023-11-26 08:41, 6 months ago) |
Argont |
|
---|---|
#47473 Kabak: <a class="confirmLink" href="{PHP|cot_url('page', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')}">Unvalidate</a>
иногда поржать над задравшим подбородок разработчиком
|