Админка и администрирование материалов и не только

Drupal / 1 декабря 2012
/ 823

Как и обещал, по заказу читателей, публикую статью посвященную админке drupal. Система управления Drupal (админка) не совсем похожа на админки таких известных движков как Joomla, WP и других, правильнее даже сказать — совсем не похожа. Сначала она может показаться неудобной, совершенно непонятной и нелогичной, однако, поработав с ней немного начинаешь разбираться что к чему.

У друпала есть преимущество пред другими CMS в том, что пользователь, который имеет право удалять, изменять статьи, термины и прочее на сайте может и в глаза не видеть админку как таковую и только администратор, который разбирается в системе может посещать админку. Я считаю, это логичным и удобным. На всех сайтах, которые я обслуживаю, редакторы и авторы админки в глаза не видели и в тоже время массово удаляют спамные комментарии, статьи, пользователей и т.д., прекрасно справляясь со своей работой.

В этой статье я решил поделиться собственным опытом, как сделать работу более удобной, упростить себе жизнь, в то же время, оставаясь в стандартной админке, не ломая ядра системы и прочих дров. Я считаю, администратор сайта должен легко ориентироваться в стандартной админке, однако сделать ее удобнее никто не запрещает. Как я и говорил выше, есть два варианта администрирования — через админку, ту что видит администратор, и через привычный интерфейс сайта — то, что видит автор. Соответственно и статью свою я разделю на две части.


То, что видит админстратор

То, что видит админстратор 

Прекрасный мануал по админке есть здесь. Я не буду повторять то, что написано. Лишь опишу то, чем пользуюсь, чтобы облегчить себе жизнь. В первую очередь это модуль Administration menu. Хотя честно говоря, активно используя его на 6-м друпале я полностью отказался от него на 7-ке. Но это мне и самому не совсем понятно почему, но до сих пор обхожусь без него.

Administration menu 

На втором месте Module Filter — очень удобная система для просмотра и администрирования модулей.

Module Filter 

Я его использую, но не на всех сайтах. Только на самых сложных. Есть еще пара-тройка модулей, но все они не особо облегчают жизнь. Я кое что в разное время использовал, но потом бросил.

То, что видят те, кому это разрешил администратор

Вот эта часть мне намного ближе и интереснее. Если в самой по себе админке вы не так уж часто будете бывать, то администрировать содержимое, писать и размещать статьи необходимо каждый день. Работать со списками материалов в админке по адресу /admin/content жутко неудобно. Поэтому я предпочитаю такие таблицы сделать самому. В своей работе я пользуюсь обычно тремя модулями. Само собой Views, Views Bulk Operations (VBO) и Флаги
С помощью этих модулей я администрирую содержимое. Притом вьюхи иногда создаю буквально для конкретной задачи, после решения которой ее удаляю или переделываю под другие задачи. Создадим для начала стандартную (более менее) страницу администрирования материалов. 
Устанавливаем вышеуказанные модули (будем считать что модуль views у вас уже установлен) и включаем их.

Создаем новую вьюху:

Создаем новую вьюху
Жмем "Продолжить редактирование".
В первую очередь идем по ссылке "Содержимое: Опубликовано" в Критерии фильтрации" и раскрываем этот фильтр.

Содержимое: Опубликовано 

Далее идем в "Право доступа" во второй колонке и устанавливаем кому мы хотим дать право просматривать данную вьюху.

Право доступа

Право доступа 

Теперь добавляем поля. Я добавил дату создания,

добавил дату создания

дату, когда будет опубликован материал (это у меня стоит модуль Scheduler)

дату, когда будет опубликован материал
и наконец "Bulk operations: Содержимое".

Bulk operations: Содержимое
Здесь вы уже можете включить любые какае хотите действия над материалами.

можете включить любые какае хотите действия над материалами 

Я включил "Изменить поля" — заголовок и рубрику и "Удалить пункт"

Изменить поля
После чего переместил его вверх.

После чего переместил его вверх 

Можно сразу добавить пункт меню в "Настройках страницы".

добавить пункт меню 

Сохраняем и идем на нашу страницу.

идем на нашу страницу
Вот такая страница. Фильтры кроме стандартного опубликовано/неопубликовано вы можете добавить какие угодно. Действия над материалами в принципе тоже можете производить практически любые.

Теперь немного расширим возможности нашего представления путем пометки определенных материалов для дальнейшей их обработки. Например, чтобы не путаться, я на одном из сайтов, на котором продаю ссылки помечаю материалы на которых уже продана ссылка флагом "Продано", чтобы не продать эту статью еще раз сдуру. Делается это так:

На странице флагов admin/structure/flags создаем новый флаг.

создаем новый флаг
Задаем названия ссылок

Задаем названия ссылок 

и главное — даем доступ к флагу только тому, кому положено и указываем где выводить наш флаг.

даем доступ к флагу только тому, кому положено 

Сохраняем. Теперь в любом материале у вас должен появиться новый флаг - продано. Можно, кроме того, вывести его таким кодом вписав его в шаблон.

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
 $node = node_load(arg(1));
 print flag_create_link('prodano', $node->nid);
}
?>

Я вывел внизу, под тегами.

вывел внизу, под тегами
После нажатия на флаг он меняется на ссылку для снятия.

После нажатия на флаг он меняется на ссылку для снятия

Теперь нам надо исключить проданные материалы в нашей вьюхе. Идем в редактирование нашей вьюхи и добавляем отношение (в 3-й колонке) "Флаги: Содержимое флаг".

исключить проданные материалы в нашей вьюхе
Снимаем галку с "Включить только помеченные материалы" (теперь вы знаете как вывести только помеченные флагом материалы) и включаем наш флаг "Продано".

включаем наш флаг "Продано" 

Теперь добавляем фильтр "Флаги: Помечено"

фильтр "Флаги: Помечено"
и раскрываем его.

раскрываем его 

Кроме того, помечать флагом материалы мы сможем и прямо в нашей таблице. Для этого добавляем поле "Флаги: Ссылка флага"

добавляем поле "Флаги: Ссылка флага" 

Сохраняем и идем смотреть что получилось.

идем смотреть что получилось 

Как видите, здесь можно пометить материалы, отобразить помеченные или непомеченные материалы и сделать с ними что угодно. Вот примерно так я работаю со своими материалами. И, как я говорил выше, иногда похожие вьюхи как и флаги я создаю и через день-два удаляю, после того как решу определенную задачу.

Между прочим, точно таким же образом можно администрировать не только ноды, но и пользователей, таксономию, файлы и т.д.
Просто при создании вьюхи выбираем то, что нам надо. Есть там и модули и темы, но я не пробовал за ненадобностью.

при создании вьюхи выбираем то, что нам надо 

Вот таким образом. Надеюсь статья будет полезной. Думаю птичку о выполненном задании я могу поставить.

comments powered by HyperComments