| 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 ? Відредаговано: Kabak (24.11.2023 23:35, 1 рік тому) |
| Argont |
|
|---|---|
#47439 Kabak: таких аналогов для хедера нет и работать они там не будут однозначно/ потому что в хедере, в ссылке, для страницы "id=$this" находится (я своими словами) вне области видимости модуля page иногда поржать над задравшим подбородок разработчиком
Відредаговано: Argont (25.11.2023 08:43, 1 рік тому) |
|
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} Відредаговано: Kabak (25.11.2023 15:27, 1 рік тому) |
|
Kort
|
|
|---|---|
#47465 Kabak: Если и делать такое, то точно не на шаблонизаторе. Да и польза сомнительная: как же посты, комменты и другой контент?
Не работает для страницы с каким статусом? Это должна быть ссылка-тумблер, и кроме прав надо проверять статус страницы. 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: Что этот вынос блоков в отдельный файл изменит ? Пожалуйста, прошу популярно объяснить. Відредаговано: Kabak (25.11.2023 19:05, 1 рік тому) |
|
Kort
|
|
|---|---|
|
Права пользователя надо определять, исходя из того, как надо, а не кто чего создал. По умолчанию TPL-теги правки страницы формируются исходя из того, что автор имеет право на правку. Но как оно тебе надо -- уже другой вопрос. По второму пункту: если у тебя 10 шаблонов страниц и 15 шаблонов разделов, то блоки управления разумнее вынести в отдельные шаблоны и подключать их конструкциями, которые я указал. Так, по крайней мере, проще будет их изменять. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
| Kabak |
|
|---|---|
|
Ещё вопрос, идея возможности выноса вот этого блока
до кучи к админ-возможностям движка в header или footer чтобы всё это было в одном месте и можно было играться с темами для сайтов на Cotonti более просторно ? Собственно проблема с выносом касается только с "В очередь на утверждение" нужно писать плагин, чтобы это корректно работало их Header |
|
Kort
|
|
|---|---|
|
А что мешает играться сейчас?
SED.by - создание сайтов, разработка плагинов и тем для Котонти
Відредаговано: Kort (26.11.2023 08:41, 1 рік тому) |
| Argont |
|
|---|---|
#47473 Kabak:
<a class="confirmLink" href="{PHP|cot_url('page', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')}">Unvalidate</a>
иногда поржать над задравшим подбородок разработчиком
|