Формирование выборки объектов

Формирование выборки объектов осуществляется заданием значений полей в ФИЛЬТРЕ или "ручным" способом с помощью управляющих клавиш в строках объектов. В дереве сайта в строке каждого объекта имеется значок +, при нажатии на который данный объект добавляется в выборку фильтра (рис. 2).

Рис. 2. "Ручной" способ формирования выборки объектов.

Если объект имеет дочерние, то в строке дерева указывается их количество в квадратных скобках. При нажатии левой клавиши мыши на это число все дочерние объекты добавляются к выборке. Если нажать правую клавишу, то в выборку попадет вся ветвь данного объекта. При "ручном" способе задания выборки значение поля sql-запрос формируется автоматически.

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

sql-запрос

Является основным (хотя и не обязательным) полем, позволяющим задать произвольное условие выборки наиболее гибким образом, используя синтаксис MySQL.. Синтаксис SQL-выражений, которые можно использовать в данном поле описан в Приложении Синтаксис SQL-выражений. Если в данном поле указаны только числа через запятую, то это условие трактуется как список идентификаторов объектов. Это является аналогом SQL-запроса id in (число1, число2, число3). В выборку попадут объекты, идентификаторы которых присутствуют в списке.

текст

Позволяет производить выборку по произвольному тексту. В выборку попадут объекты, в заголовке, аннотации или тексте которых присутствует указанный текст. Текст также может присутствовать и в значениям текстовых параметров объектов.

количество

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

1. Указывается одно простое число: N. В этом случае после получения из базы данных всех объектов, соответствующих условию выборки, и выполнения сортировки этих объектов по заданному правилу в выборку фильтра попадут N первых из всех объектов, удовлетворяющих заданному условию.

2. Указываются два простых числа через запятую: M,N. При этом логика работы фильтра остается такой же, как и в первом случае, с той лишь разницей, что из общей выборки будут отобраны не первые N объектов, а N объектов, начиная с позиции M. Необходимо иметь в виду, что первый объект в списке является по счету нулевым, т.е. если необходимо выбрать в фильтр 10 объектов, начиная со 2-го, необходимо указать в поле количество: 1,10.

владелец

Позволяет выбирать объекты, владельцем которых является конкретный пользователь. В списке присутствуют все пользователи зарегистрированные на сайте, кроме тех, что входят только в одну группу "по умолчанию".

группа

Позволяет выбирать объекты, принадлежащие определенной группе пользователей. Добавить группу и включить в нее определенных пользователей можно в модуле Пользователи.

сортировка

Позволяет управлять порядком следования объектов в выборке. В настоящий момент доступны следующие варианты сортировки:

Натуральная – Порядок объектов в выборке соответствует их расположению в дереве сайта (атрибут tree_order).
По алфавиту – Объекты следуют в алфавитном порядке (атрибут mess_header).
По дате публикации – Объекты сортируются по убыванию даты публикации, введенной администратором (атрибут publish_date).
По дате ввода –  Объекты сортируются по убыванию даты ввода (атрибут enter_date).
По дате модификации – Объекты сортируются по убыванию даты последней модификации (атрибуту modify_date).
По идентификатору – Объекты сортируются по возрастанию их идентификатора (атрибут id).
Случайно – Объекты располагаются в случайном порядке.
По владельцу – Объекты сгруппированы по их владельцу (атрибут user_id).
По размеру контента – Объекты располагаются в порядке уменьшения размеров контента (атрибут mess_content).

Также для каждого варианта сортировки предусмотрено инверсное правило, т.е. "по возрастанию", или "в обратном порядке".

показать

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

не брать
из Trash

При установке данного флага в выборку не будут включаться удаленные объекты, т.е. находящиеся в ветви Trash (id=99).

только
количество

При установке данного флага будет выведено только количество объектов сайта, соответствующих условию выборки без их отображения в линейном дереве ФИЛЬТРА.

При нажатии на кнопку ввести производится выборка объектов из базы данных с заданными условиями и ограничениями. На панели ИНФОРМАЦИЯ выводится полностью сформированный SQL-запрос и указывается число выбранных объектов и общее количество, удовлетворяющих заданному условию. Кнопка сбросить очищает выборку объектов и сбрасывает все условия на панели ФИЛЬТРА. Кнопка закрыть скрывает панель фильтра, не сбрасывая выборку и заданные условия.

После формирования выборки на подпанели ВЫБРАНО выдается текстовое поле, содержащее идентификаторы всех выбранных объектов через запятую. Также указывается число выбранных объектов и (в скобках) общее количество объектов сайта, удовлетворяющих условию выборки. Под данным полем выдается линейное дерево выбранных объектов с корнем все выбранные, если не был установлен флаг только количество.

В этом дереве можно работать как с отдельными объектами, так и со всей выборкой. Порядок работы над отдельными объектами выборки не отличается от обычной работы с объектами в дереве сайта модуля JM, с той лишь разницей, что вместо символа + в строке заголовка каждого объекта расположен символ –. Этот элемент позволяет вручную исключить объект из выборки. Контекстное меню каждого объекта дополняется еще одним пунктом – в дереве, который позволяет найти данный объект в дереве сайта.

Рис. 1. Контекстное меню и контрольная панель для групповых операций в панели ФИЛЬТР.

Для совершения операций сразу над всеми объектами выборки необходимо сделать текущей строку дерева все выбранные (рис. 1). Список доступных операций для выборки незначительно отличается от набора операций над отдельным объектом. Любая групповая операция в ФИЛЬТРЕ выполняется над всеми объектами, попавшими в выборку, если это возможно (есть права на совершение операции, операция не противоречива и т.д.).

Возможные групповые операции в ФИЛЬТРЕ:

  • просмотр всех объектов (страниц) с заданным шаблоном, стилем и списком
  • удаление всех объектов
  • изменение графических параметров для всех объектов
  • создание иконок по заданным параметрам и автоматическая генерация иконок для всех объектов
  • добавление, замена и удаление заданных параметров для всех объектов
  • установка прав, владельца и группы для всех объектов
  • экспорт заданных атрибутов и параметров всех объектов в требуемом формате
  • перенос всех объектов в указанную ветвь
  • копирование и вставка всех объектов
  • вырезание и вставка всех объектов
  • вывод свойств (информации) всех объектов
Поиск по документации
Контактная информация
603000, Россия,
г. Нижний Новгород,
ул. Студеная, дом 5,
4-й этаж.
info@graphit.ru

(831) 260–16–32