Полное описание TreeGraph на одной странице

1. Общая информация

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

Более чем 8-летний опыт развития системы TreeGraph и реализованные за это время проекты позволили нам накопить огромный практический опыт, который сегодня мы можем предложить нашим клиентам.

TreeGraph - непрерывно развивающаяся система. В своих разработках мы учитываем постоянно растущие потребности и запросы наших клиентов, осваиваем новые технологии, совершенствуем и развиваем применяемые методы. Первая коммерческая версия системы была разработана в апреле 2000 года. В настоящее время более 150 наших проектов используют TreeGraph различных версий. Полный список работ, созданных с помощью системы TreeGraph можно увидеть в разделе Портфолио нашего сайта.


1.1. Функциональные возможности

Основные функциональные возможности, которые предоставляются наших клиентам на сайтах, созданных с помощью системы TreeGraph:

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

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

Импорт файлов - встроенный конвертор дает возможность публиковать материалы непосредственно в форматах MS Word, MS Excel, RTF, HTML и TXT, сохраняя при этом оформление документа.

WYSIWYG-редактор - встроенный визуальный редактор позволяет создавать и изменять любые страницы сайта. Интерфейс редактора прост и максимально приближен к MS Word.

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

Экспорт страниц - встроенный документ-генератор позволяет создавать документы в формате MS Word из любой страницы сайта, полностью сохраняя при этом оформление и стили сайта.

Регистрация и авторизация посетителей на сайте, поддержка групп пользователей, различных по назначению и привилегиям.

Управление правами доступа. Возможно разграничение прав посетителей (или групп) как на изменение, так и на просмотр информации на уровне подразделов, страниц и даже отдельных блоков на страницах сайта.

Управление настройками и внешним видом сайта, включая создание отдельных страниц и подсайтов со своим дизайном и системой навигации, с учетом прав доступа.

Применение системы XML/XSL-шаблонов. На сайте возможно как использование стандартной библиотеки шаблонов и стилей, так и создание своих собственных стилей для страниц и подразделов сайта или отдельных блоков.

Организация и управление подпиской на новости и любые другие страницы сайта в различных форматах.

Создание и ведение своих собственных баз данных, каталогов, прайс-листов, классификаторов и различных параметров, управляющих формированием динамических блоков на страницах сайта.

Экспорт-импорт - полностью симметричный алгоритм позволяет организовать вывод любой информации с сайта в различных форматах (MS Excel, XML, HTML и др.) и потоковую загрузку данных на сайт. С помощью этого модуля легко организуется синхронизация внешних баз данных (например, 1С) и информации на сайте.

Поддержка интерактивных форм - создание анкет, опросов, заказов, гостевых книг и любых произвольных интерактивных форм с полями различных типов. Интеграция форм с электронной почтой и обратная связь с менеджерами сайта.

Сбор и анализ статистики посещений всех страниц сайта за любой временной интервал, отслеживание поведения посетителя на сайте, генерация графиков и csv-таблиц со статистической информацией для дальнейшей обработки.

Дополнительные функциональные модули - настраиваемый полнотекстовый поиск по разделам сайта или объектам определенного типа, динамические карты сайта, версия сайта для печати, системы голосования, форумы и др.


1.2. Особенности и отличия

Встроенный конвертор файлов

Вы можете подготавливать информацию для загрузки на сайт в любом из следующих форматов: обычный текст с упрощенной системой тегов, HTML, RTF, Microsoft Word, Microsoft Excel. Документы могут содержать любые элементы оформления текста и абзацев, включать в себя сложные таблицы, иллюстрации, графики и т.п. Встроенный конвертор автоматически распознает тип документа, обеспечит сохранение оформления страницы, преобразует встроенные объекты в графические файлы (GIF и JPG) и загрузит все файлы на сервер (рис. 1). Возможна индивидуальная настройка конвертора для проекта. Файл, загруженный на сервер, сохраняется в архиве и у администратора всегда имеется возможность скачать его, отредактировать и загрузить обратно.

Рис. 1. Результат работы конвертора файлов

Встроенный визуальный редактор

Кроме конвертора файлов, система TreeGraph имеет и встроенный визуальный редактор, который позволяет вводить и редактировать любые страницы сайта в режиме WYSIWYG (принцип - "что вы видите, то и получаете"). С помощью него можно легко публиковать и изменять сложные документы с разнообразным оформлением текста, с иллюстрациями, диаграммами, таблицами и т.п. (рис. 2). Интерфейс редактора максимально приближен к возможностям программы MS Word. Редактор позволяет также корректировать текст в исходных HTML-кодах.

Рис. 2. Окно визуального редактора JEditor.

Встроенный графический редактор

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

Рис. 3. Работа графического редактора в режиме создания иконки.

Независимость контента и программ от дизайна

Все информационное наполнение сайта (контент) и динамическая информация, генерируемая функциональными модулями, полностью отделены от оформления страниц сайта. Все модули "занимаются" только подготовкой данных отдельных блоков, а преобразование их в HTML-код осуществляется по правилам, установленным в шаблонах и стилях сайта. Это позволяет быстро и легко изменить оформление как отдельных блоков, так и всего сайта целиком.

Конструирование страниц, шаблоны и стили

В системе TreeGraph используется шаблонно-блочный метод организации страниц. Любая страница сайта формируется по заданному шаблону, состоящему из элементов оформления и набора позиций для вывода блоков данных (рис. 4). Сайт может иметь неограниченное количество шаблонов. Компоновка страницы заключается в создании блоков (специальных служебных объектов в дереве сайта), в которых администратор задает условия выборки данных, указывает определенный стиль и позицию блока в шаблоне.

Рис. 4. Схема формирования страниц с помощью шаблонов и стилей

Сформированные с помощью стиля, коды отдельных блоков образуют готовую HTML-страницу в соответствии с установленным текущим шаблоном. Некоторые блоки могут использоваться на всех страницах сайта (например, общая шапка, главное меню), другие - на отдельных страницах или подразделах. На блоки распространяется вся система прав доступа, т.е. одна и та же страница может "выглядеть" по-разному для посетителей с различными правами. В распоряжении администратора имеется обширная общая библиотека шаблонов и стилей. Кроме этого, можно создавать свои собственные стили для отдельных блоков и шаблоны для страниц или подразделов сайта. Для разработки шаблонов используется язык XML/XSL (The Extensible Stylesheet Language) и его спецификации XSLT (XSL Transformations) и XPath (XML Path Language).

Развитая система прав доступа

В системе TreeGraph реализовано взаимодействие с посетителями, аналогичное ОС Unix. Любой посетитель сайта может быть анонимным или зарегистрированным пользователем, входящим в одну или несколько групп. Права пользователя на определенные действия (просмотр объектов, редактирование и др.) определяются его принадлежностью к группам и атрибутами объекта. Такая система позволяет организовать многопользовательское управление сайтом и создание отдельных страниц или подразделов, доступных на просмотр посетителям только определенных групп (внутрикорпоративные страницы, разделы для дилеров и т.п.).

Расширяемая база данных объектов

В системе TreeGraph используется оригинальный подход к хранению объектов в базе данных. Любое объект в базе, кроме фиксированных полей (атрибутов), может содержать произвольное количество дополнительных полей различного типа (параметров). Эти поля могут использоваться для управления логикой формирования блоков, создания различных каталогов, произвольных интерактивных форм и т.п. Значения атрибутов и параметров объектов можно использовать при разработке  шаблонов и стилей сайта. Администратор имеет возможность самостоятельно создавать новые параметры любого типа, в том числе и так называемые  "классификаторы", т.е. параметры, значения которых формируются из заголовков и идентификаторов других объектов.

Импорт и экспорт базы данных

В системе TreeGraph создан полностью симметричный алгоритм экспорта-импорта данных. Он дает возможность организовать вывод всей базы данных или указанных объектов (новостей, каталога товаров и др.) в различных форматах (MS Excel, XML, HTML и др., в том числе данные в архивах ZIP/RAR) или осуществить потоковую загрузку данных на сайт. Это позволяет значительно облегчить и ускорить ввод или редактирование большого количества объектов (фотогалерей, товаров), а также настроить синхронизацию с внешними БД.

С помощью импорта-экспорта легко осуществить интеграцию (синхронизацию) сайта с любыми внешними базами данных (например, 1С) и другими интернет-проектами. Администратор сайта может создать любое количество различных RSS-каналов для экспорта новостей, сообщений в форумах и т.п. для подключения сайта к Яндекс.Новости или программам чтения RSS-каналов. Возможно также чтение внешних RSS-каналов и отображение их на сайте различными стилями. Экспорт в формате YML позволяет легко подключить каталог товаров сайта к системе Яндекс.Марке


2. Техническая информация

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

С технологической точки зрения, система TreeGraph представляет собой набор функций и программ, написанных на языке PHP. TreeGraph работает на любых Unix- и Windows-платформах под управлением веб-сервера Apache и использует базу данных mySQL.


2.1. Архитектура TreeGraph

Система TreeGraph имеет модульную структуру и состоит из ядра и набора функциональных модулей, выполняющих различные задачи (рис. 1). Такая структура позволяет каждому проекту использовать все функциональные возможности системы, а также создавать собственные модули, удовлетворяющие потребностям клиента.

Общая схема работы системы TreeGraph

  • Получение и обработка запроса от клиента (URL)
  • Определение и проверка прав клиента на данный запрос
  • Получение запрашиваемой и связанной информации из базы данных и кэш-файлов
  • Структурирование всех полученных данных в виде XML-дерева страницы
  • Формирование HTML-страницы из XML-дерева по заданным XSLT-шаблонам и стилям
  • Передача сформированной HTML-страницы клиенту


Рис. 1. Структура системы управления сайтом TreeGraph

В ядре TreeGraph объединены функции, которые реализуют базовые возможности системы:

  • функции общего назначения
  • административные функции
  • функции работы с базой данных
  • функции управления доступом и правами
  • многоуровневая система кэширования
  • система обработки статистических данных
  • поддерка многоязычного интерфейса
  • конвертор файлов различных форматов
  • полнофункциональный визуальный редактор
  • система трассировки и отладки
  • система мониторинга проектов
  • система XML представления данных
  • XSL-парсер шаблонов

Общие модули TreeGraph реализуют определенные задачи проектов. К ним относятся:

  • организация и обработка произвольных интерактивных форм
  • модуль голосования
  • линейный и структурированный форумы
  • настраиваемый полнотекстовый поиск по сайту
  • генераторы карт сайта
  • калькулятор (конфигуратор)
  • каталог товаров и интегрированная корзина заказов
  • регистрация пользователей на сайте
  • организация подписки на различные новости сайта

Административные модули TreeGraph предназначены для контроля, управления и развития сайта. К ним относятся:

  • менеджеры (управление структурой и содержимым сайта, правами доступа, навигацией)
  • параметры (управление типами данных, масштабирование базы данных)
  • пользователи (управление группами и зарегистрированными пользователями сайта)
  • статистика (просмотр и анализ статистической информации о посетителях сайта)
  • рассылка (управление автоматической рассылкой новостей сайта)
  • стили (контроль и загрузка библиотеки XSL шаблонов и стилей)
  • экспорт (выгрузка базы данных и файлов проекта в различные форматы)
  • импорт (потоковый ввод страниц сайта в базу данных)

Крон-система автоматически выполняет следующие функции:

  • организация рассылки новостей проектов
  • создание архивных копий баз данных и файлов проектов
  • обработка статистической информации проектов

Библиотека TreeGraph включает в себя общие файлы, используемые всеми проектами:

  • базовые XSL шаблоны
  • набор общих CSS-стилей
  • набор общих JavaScript функций
  • базовый набор графических изображений (иконок)

Каждый проект состоит из главного модуля, собственной базы данных, структурированных каталогов с внешними объектами и кэш-файлами, библиотеки шаблонов. Главный модуль получает запрос от клиента и передает управление ядру TreeGraph, которое, при необходимости, поключает различные модули системы (или проекта) и возвращает клиенту готовую сформированную HTML-страницу. Для любого проекта могут быть разработаны и установлены дополнительные программные модули, решающие его специфические задачи.

TreeGraph может обеспечивать функционирование сразу нескольких проектов, использующих одно ядро, общие модули и шаблоны (рис. 2). При этом, каждый сайт будет иметь свою собственную базу данных, внешние файлы, дополнительные модули и библиотеки шаблонов.


Рис. 2. Схема взаимодействия ядра TreeGraph и различных проектов

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


2.2. Схема работы

Общая схема работы системы TreeGraph выглядит следующим образом:

1. Получение запроса клиента (посетителя) на просмотр страницы сайта (URL) главным модулем сайта.

2. Подключение ядра TreeGraph и начальная установка всех параметров сайта.

3. Подключение к базе данных сайта.

4. Определение статуса посетителя на данном сайте (по сессиям, COOKIE и др.).

5. Определение идентификатора запрашиваемой страницы в базе данных.

6. Запись в базу данных статистической информации о посетителе.

7. Получение запрашиваемой страницы из базы данных.

8. Определение прав посетителя на запрашиваемую страницу.

9. Определение параметров (характеристик) запрашиваемой страницы.

10. Проверка на допустимость доменного имени в запросе.

11. Получение из базы данных или кэш-файлов дополнительной информации (описания параметров, типов данных и др.).

12. При отсутствии у посетителя прав на просмотр данной страницы (или другое действие), формирование блока с запросом на авторизацию (ввод логина и пароля).

13. Проверка на разрешение или запрет просмотра данной страницы (или другое действие) для определенных IP-адресов.

14. Получение из базы данных связанных страниц сайта (дочерних, родительских и др.).

15. Определение типа запрашиваемой страницы, подключение и запуск, при необходимости, дополнительного модуля (обработчика).

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

17. Построение XML-дерева страницы из всех полученных данных.

18. Формирование HTML-кода для отдельных блоков из XML-дерева по заданным XSLT-шаблонам (стилям).

19. Формирование HTML-кода всей страницы из HTML-кодов отдельных блоков по заданному XSLT-шаблону.

20. Кэширование, при необходимости, HTML-кодов блоков и всей страницы.

21. Передача сформированной HTML-страницы клиенту.

Рис. 1. Схема формирования страницы в системе TreeGraph.


2.3. Системные требования

Требования к аппаратному обеспечению зависят от количества посетителей сайта и объема информации.

Программное обеспечение

Версия

Операционная система

FreeBSD или Linux (Debian, SuSe, RedHat, Gentoo и пр.)

Web сервер

Apache Web Server или nginx 

Язык программирования

PHP >=5.3 (dom, xsl, xml, session, gd, iconv, eaccelerator или xcache)

СУБД

MySQL >=5.1

Почтовый сервер

Sendmail или другой MTA для поддержки рассылки (postfix, exim)

Дополнительное ПО

cron - для запуска рассылок и обработки статистики;
wget, zip, unzip, unrar - для импорта и экспорта;
whois, host - детализация статистики;
rm, cp, du, mv, grep, chmod - файловые операции
желателен локальный кэширующий dns сервер

При выборе конфигурации сервера для установки системы TreeGraph мы рекомендуем уделить внимание всем комплектующим. Более быстрый процессор сокращает время генерации HTML страницы из объектов XML/XSL - это наиболее ресурсоемкий процесс. Несколько процессоров обеспечат работу сайта при большом наплыве посетителей. Большой объем оперативной памяти позволит запоминать результаты частых запросов к базе данных. Скоростной SCSI или SAS винчестер уменьшит задержки по всем операциям.

На что обратить внимание при установке.

  1. Рекомендуется RAID уровня 1, 5, 10.
  2. Рекомендуется отдельный диск для резервных копий.
  3. VLM не используем. Дробим разделы, чтобы сделать отдельными /var/log /tmp /www /mysql. Последние в отношении размеров 50 на 50. Это соотношение действует для большинства проектов. Основной принцип в разметке - в случае краха иметь возможность вытащить данные.
  4. FTP и Apache должны уметь создавать файлы, общие для редактирования. Для ProFTPd и Apache это возможно.
  5. Меры защиты типа jail, chroot и т.д. теоретически возможны, но могут потребовать дополнительной совместной работы в плане доступа к необходимым библиотекам php.
  6. Возможна замена Apache на другой веб сервер.
  7. Реомендован кэширующий DNS.
  8. При настройке фаервола следует учесть, что сайт может обращаться к другим серверам, зачитывая xml или rss. А так же использует сервер конвертера форматов от разработчика.

3. Административные модули

Административные модули TreeGraph предназначены для контроля, управления и развития сайта. К ним относятся:


3.1. Джей-менеджер

Джей-менеджер (далее JM) – основной инструмент администратора сайта, созданного по технологии TreeGraph. Модуль JM обладает дружественным интерфейсом и не требует специальных знаний от администраторов, кроме обычных навыков работы с интернет-броузером.

Этот инструмент позволяет администратору добавлять, удалять, редактировать, копировать или перемещать в другой раздел любую страницу или целую ветвь сайта. Возможно изменение и добавление как текстовой, так и графической информации. Встроенный конвертор позволяет публиковать как простые тексты, так и документы в форматах HTML, RTF, Microsoft Word, Microsoft Excel. Модуль JM также имеет визуальный редактор с интерфейсом, приближенным к программе Microsoft Word, который позволяет редактировать страницы со сложным оформлением в режиме WYSIWYG (принцип - "что вы видите, то и получаете"). При таком подходе пользователи могут легко публиковать сложные документы с графикой, диаграммами, таблицами, не нарушая общего оформления сайта.

Войти в модуль JM можно по адресу http://адрес_сайта/7 или через меню администратора по ссылке jmanager (после авторизации на сайте).

Внешний вид JM представлен на рис. 1. В верхней части окна расположена контрольная панель управления и настроек. Остальная часть окна разбита на несколько управляющих и информационных панелей. Каждая панель имеет свой заголовок и для наглядности обведена рамкой. Все панели можно закрывать или открывать щелчком мыши на заголовке панели (или значке +/- перед заголовком).

Рис. 1. Внешний вид модуля JM

В левой части окна расположена основная панель ДЕРЕВО САЙТА с объектами (страницами и разделами сайта), под ним - панель ФИЛЬТР (для групповых операций над объектами) и панель ИМПОРТ (для потокового ввода информации). Справа выводятся различные панели с формами для редактирования, информацией, диагностикой действий администратора и другие.

JM может работать в следующих режимах: основном, упрощенном и текстовом. Упрощенный режим предназначен для администраторов с ограниченными правами. В этом случае отдельные панели и некоторые функции JM становятся недоступными. Текстовый режим отключает графические изображения пиктограмм в дереве сайта для ускорения работы JM при низкоскоростном соединении. Текущий режим работы JM задается параметрами самого объекта JM, параметрами администратора (пользователя сайта) и опциями контрольной панели. Подробнее о режимах см. Настройки JM. Язык интерфейса JM задается параметром "язык сайта или подраздела". По умолчанию он совпадает с языком, заданным для всего сайта.

Контрольная панель JM (рис. 2) состоит из пяти  основных частей:

  • Информация о статусе JM
  • Поле для индикации и ввода идентификатора корня дерева (или ветви), отображаемой на панели.
  • Поле для индикации и ввода идентификатора текущего объекта в дереве.
  • Меню управления текущего объекта.
  • Настройки интерфейса и режимов работы JM (отсутствуют в упрощенном режиме).

Рис. 2. Контрольная панель JM для текущего объекта (текстовый режим панели)

Рис. 3. Контрольная панель JM для текущего объекта (графический режим панели)

Модуль JM во время работы может находится в одном из трех состояний: , ready (готов) , busy... (запрос…) . Статус "…" появляется только при старте JM. В этот момент производится начальная загрузка всех требуемых данных и настроек модуля. После загрузки всех данных JM переходит в состояние ready. После любой команды администратора на несколько мгновений появляется статус busy… В этом состоянии JM обрабатывает текущую команду – передает, получает и отображает различную информацию с сервера. Начинать работу с JM или давать новую команду нужно только после появления статуса ready. Внимание!. Обработка некоторых команд (особенно групповых в фильтре, импорте и др.) может занимать от нескольких секунд до нескольких минут. Если в результате какого-либо сбоя или ошибки статус JM в течении длительного времени остается в состоянии busy…, то необходимо перезагрузить всю страницу с модулем (клавиша F5 в IE).

Справа от статуса расположены два поля с идентификаторами корня дерева и текущего объекта. Стартовое значение корня дерева, как правило равно 1, т.е. на панели отображаются все ветви сайта. Для администраторов с ограниченными правами стартовое значение корня дерева может быть изменено с помощью настроек модуля JM и параметров пользователя (см. Настройки JM). В этом случае в поле указывается слово root (корень).

Для ускорения работы модуля или уменьшения размеров панели администратор может задать в качестве корня дерева идентификатор любого объекта, который находится в пределах разрешенного ему дерева. В этом случае, на панели ДЕРЕВО САЙТА будет отображаться только указанный объект и его ветвь, если она имеется. Для оперативной установки текущего корня дерева, можно можно нажать правую клавишу на пиктограмме  или  слева от заголовка объекта. Идентификатор данного объекта будет установлен в качестве временного корня дерева. Для возвращения к исходному состоянию панели, необходимо ввести в поле стартовое значение корня и нажать клавишу Enter или нажать правую клавишу мыши в данном поле. Если объект с введенным идентификатором отсутствует в разрешенных пределах, то также устанавливается стартовое значение корня. Для смены текущего корня на один уровень выше можно нажать пункт ^ () контрольной панели или нажать правую клавишу мыши для установки стартового значения корня.

Внимание! Если в модуле установлено какое-либо значение корня дерева, то ВСЕ действия JM, включая выборки в ФИЛЬТРЕ, будут производиться только над объектами, которые находятся в ветви данного корня.

Если в дереве сайта есть текущий (выделенный) объект, то его идентификатор отображается во втором поле контрольной панели. Для оперативного нахождения объекта в дереве сайта, можно ввести его идентификатор в данное поле и нажать клавишу Enter. При этом раскрываются все ветви сайта от корня до данного объекта, он становится текущим и модуль JM входит в режим редактирования. Если объект с указанным идентификатором существует, но отсутствует в отображаемом дереве сайта, то на информационной панели выдается диагностика "нет прав на редактирование". В данном поле также можно ввести несколько первых символов заголовка требуемого объекта и нажать Enter. Модуль JM найдет первое совпадение, начиная от текущего объекта вниз по дереву (или от корня), установит найденный объект текущим и войдет в режим его редактирования.

Меню управления появляется на контрольной панели, если в дереве сайта есть текущий объект. Состав пунктов меню зависит от типа объекта, его расположения в дереве и прав администратора на определенные действия над объектом. Отдельные пункты меню имеют различные действия при нажатии левой или правой клавиши мыши. Назначения пунктов отображаются во всплывающих подсказках . Слева указывается действие по нажатию левой клавиши мыши, справа от символа слеш (/) - по нажатию правой клавиши. Все пункты меню контрольной панели дублируются в контекстном меню объекта, которое можно вывести на экран нажатием правой клавиши мыши на папке или заголовке объекта.

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

Внешний вид панели ДЕРЕВО САЙТА (рис. 1) очень похож на интерфейс Проводника системы Windows (Windows Explorer). В левой части расположены папки (пиктограммы) и заголовки объектов (страниц и подразделов) сайта. Правее заголовка могут быть указаны список страниц многостраничной ветви, некоторые параметры объекта, количество дочерних объектов (в квадратных скобках) и идентификатор объекта (рис. 4).

Рис. 4. Строки объектов в дереве сайта

Раскрытие и закрытие ветвей дерева сайта производится с помощью пиктограмм  (плюс, минус), расположенных слева от папки объекта. Знак "+" () на контрольной панели раскрывает всю текущую ветвь, включая все ее подразделы. Знак "-" () на контрольной панели закрывает все подразделы текущей ветви. Во время работы JM "запоминает" состояние дерева и настройки на время сессии броузера, т.е. при повторных обращениях к модулю администратор увидит дерево сайта в том же самом состоянии.

Для всех административных модулей в системе TreeGraph созданы несколько стандартных наборов управляющих и информационных пиктограмм различных размеров. Администратор сайта может выбирать любой из этих наборов и создавать свои дополнительные пиктограммы для отображения в дереве объектов определенного типа или же для использования в качестве графических элементов оформления в различных шаблонах (стилях). Набор пиктограмм задается параметром "ресурсы по умолчанию", установленным, как правило, в корне сайта (объект с идентификатором 1). Для задания собственных пиктограмм создается специальный объект на сайте и в корне сайта устанавливается параметр "графические ресурсы", в котором указывается идентификатор этого объекта. Подробнее см. главу Настройки JM.

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

Рис. 5. Пример стандартного набора пиктограмм (размер 16х16 пикселей).

 Если у администратора нет прав на изменение и удаление какого-либо объекта, то папка этого объекта в строке дерева будет показана полупрозрачной. Если нет прав на просмотр, то данной ветви просто не будет в дереве сайта.

Обычно заголовки объектов в дереве сайта выводятся черным цветом. Заголовки объектов, закрытых от просмотра обычными посетителями сайта показаны светло-серым, удаленных объектов - светло-коричневым. Перед заголовком удаленного объекта в квадратных скобках указывается идентификатор ветви, из которой он был удален. Заголовки объектов, не опубликованных на сайте, выделяются курсивом. См. Приложение Атрибуты объектов. Если у объекта пустой заголовок, то в дереве сайта справа от папки показывается строка "заголовок отсутствует!".

Для отображения ветвей с большим количеством дочерних объектов в JM предусмотрен механизм многостраничности (рис. 6). Максимальное количество объектов на странице задается настройками JM. Подробнее см. главу Настройки JM.

Список страниц ветви (со ссылками на них) указывается в строке объекта после заголовка, текущая страница выделяется жирным шрифтом. В самой ветви на первой и последней строке указываются символы -+-, которые служат ссылками на предыдущую и следующую страницы.

Рис. 6. Многостраничная ветвь в JM

В дереве сайта расположены не только информационные разделы, но и другие объекты сайта. К ним относятся: сервисные модули (поиск, карта, регистрация, подписка), интерактивные модули (форумы, анкеты, отзывы, голосования), административные модули (сам Джей-менеджер, статистика, параметры, пользователи и др.). Кроме этого, существуют различные объекты (разделы) специального назначения (корзина, классификаторы, образцы, блоки и др.).

Все административные действия в JM производятся над текущим (выделенным) объектом. Левый щелчок мыши на папке (пиктограмме) или заголовке объекта в дереве сайта делает данный объект текущим. В этот момент на контрольной панели (во втором поле) появляется идентификатор объекта и меню управления, сама строка выделяется светло-серым фоном.

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

Правый щелчок мыши на объекте в дереве сайта делает его текущим и одновременно выдает выпадающее контекстное меню данного объекта (рис. 7).

Рис. 7. Контекстное меню и подменю JM

Контекстное меню для текущего объекта можно также вывести на экран левым щелчком мыши на пункте menu () контрольной панели или "горячей клавишей" Esc. Положение меню будет определяться текущим положением курсора мыши на экране.

В контекстном меню, как и на контрольной панели, указаны все допустимые действия администратора над текущим объектом (просмотр, изменение, добавление, удаление, копирование и др.). Набор этих действий зависит от свойств объекта и прав администратора на данный объект.

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

Отдельные пункты меню  имеют выпадающие подменю для выбора типа операции. Некоторые операции выводят дополнительные окна для подтверждения действия администратора или ввода уточняющих значений.


3.1.1. Операции редактирования


3.1.1.1. Добавление нового объекта

Для добавления нового объекта в дереве сайта нужно сделать правый щелчок мыши на родительском объекте. В полученном контекстном меню выбрать пункт добавить и в подменю - тип добавляемого объекта. (рис. 1). Список типов объектов соответствует значению параметра сайта "образец дочерних". Образцы представляют собой объекты с определенным набором параметров, расположенные в специальной ветви дерева сайта спецрубрики / database / образцы. Администратор может создавать свои типы объектов и соответствующие им образцы.

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

Рис. 1. Контекстное меню для добавления нового объекта (основной режим работы JM).

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

Рис. 2. Окно ввода идентификатора образца для нового объекта.

В упрощенном режиме работы JM администратор может добавить только объект, заданный параметром "образец дочерних" или "пустой" объект, если данный параметр не задан в родительском. Эта операция выполняется с помощью пункта контекстного меню "Добавить" или add () контрольной панели.

После выбора типа добавляемого объекта соответствующий образец копируется к указанному родителю вместе со всеми его параметрами. Новому объекту сразу же присваивается уникальный идентификатор и он становится текущим в дереве. Вместо пустого заголовка в строке дерева показывается текст "заголовок отсутствует!" (рис. 3). Если в начале заголовка образца указан ключевой тег < FULL> , то образец копируется полностью, вместе с заголовком, аннотацией и контентом. Если образец имеет дочерние объекты, то вновь создаваемый объект будет иметь аналогичную ветвь с дочерними.

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

Рис. 3. Добавление нового объекта (основной режим работы JM)

Справа от дерева сайта будут выведены панели с формами для ввода атрибутов и параметров нового объекта (рис. 3). Дата публикации объекта заполняется текущей серверной датой и временем. Владельцем объекта по умолчанию устанавливается администратор, производящий данную операцию ввода. Группа и права на объект по умолчанию устанавливается в соответствии с группой и правами родительского объекта. Если в родительском объекте заданы параметры "владелец объекта (сообщения)", "группа пользователей" или "права объектов (сообщений)", то владелец, группа или права нового объекта будут установлены в соответствии со значениями данных параметров. Права на чтение объекта сбрасываются в 0, если в настройках JM установлена опция hidden.

Ввод атрибутов и параметров, добавление и удаление установленных параметров производятся аналогично операции изменения (редактирования) объекта. Для завершения ввода нового объекта, после заполнения необходимых полей нужно нажать клавишу ввести на панели УПРАВЛЕНИЕ или под формой для ввода текста. Клавиша сбросить восстанавливает значения всех полей в соответствии с образцом добавляемого объекта. Клавиша удалить выполняет операцию удаления данного объекта.


3.1.1.2. Изменение (редактирование) объекта

Вход в режим редактирования объекта осуществляется через контекстное меню (пункт изменить) или пункт edit () контрольной панели. "Горячая клавиша" для изменения текущего объекта - Enter или двойной щелчок левой клавиши на папке (заголовке) объекта. Для оперативного нахождения объекта в дереве сайта и входа в режим редактирования, можно ввести его идентификатор (или первые буквы заголовка) в втором поле контрольной панели и нажать Enter.

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

Рис. 1. Редактирование объекта (основной режим работы JM)

В основном режиме работы JM все формы для редактирования разделены на пять панелей:

  • АТРИБУТЫ – поля для ввода основных атрибутов объекта (даты публикации, заголовка, аннотации и текста).
  • УСТАНОВЛЕННЫЕ ПАРАМЕТРЫ – поля для ввода значений установленных параметров объекта.
  • НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ – список всех параметров сайта, разделенных на группы.
  • ВЛАДЕЛЕЦ, ПРАВА – поля для задания прав доступа к данному объекту.
  • УПРАВЛЕНИЕ – управляющая панель с кнопками для завершения операции или сброса ошибочно введенных значений.

В упрощенном режиме работы JM панели НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ и ВЛАДЕЛЕЦ, ПРАВА отсутствуют (рис. 2). Т.е. администратор в этом режиме может только изменять те параметры, которые были установлены в редактируемом объекте и не может их удалять, а также изменять права доступа объекта (владельца, группу, права).

Рис. 2. Редактирование объекта (упрощенный режим работы JM)

Панель АТРИБУТЫ

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

Рис. 3. Панель АТРИБУТЫ.

Дата публикации - день и время публикации объекта на сайте в формате ДД.ММ.ГГГГ ЧЧ:ММ. Это поле задает дату, когда объект станет доступным для просмотра посетителями сайта. Объекты можно вводить "впрок", т.е. с более поздней датой, чем текущая. Такие объекты будут видны в модуле JM, но станут доступны посетителям сайта начиная с указанной даты и времени. Заголовки таких объектов в JM показываются курсивом.

Заголовок - заголовок объекта (строка до 254 символов). Эта строка используется в качестве заголовка страницы данного объекта, а также для формирования списков объектов различными стилями (блоков). Как правило, заголовок объекта также используется для формирования служебного тега < title > (окна броузера на странице этого объекта). Обязательное поле!

Аннотация - краткое описание объекта (текст до 64К). Как правило, используется вместе с заголовком при формировании различных списков (блоков).

Текст - основной текст объекта (контент). Текст может быть обычным или в стандарте HTML. В обычном тексте абзацы разделяются пустыми строками. Если в тексте встречаются символы < или >, то текст интерпретируется по стандарту HTML. В этом случае текст может содержать любые элементы оформления, ссылки (локальные и внешние) на иллюстрации (gif, jpeg) или другие файлы (архивы zip, документы excel, word, acrobat и др.). Двойной щелчок мыши в любой месте данного поля увеличивает или уменьшает в два раза высоту зоны редактирования. Это правило распространяется на редактирование всех атрибутов и параметров объекта типа textarea.

Файл (doc, rtf, txt, html) - поле, альтернативное предыдущему. Администратор может загрузить с локального компьютера файл с текстом данного объекта. В этом случае весь контент заменяется на содержимое загружаемого файла или результат работы встроенного конвертора.

В качестве контента объекта можно загружать файлы следующих форматов:

  • Текстовые файлы (*.txt) - загружаются "как есть", т.е без преобразования в HTML (кроме пустых строк и  ссылок).
  • HTML-файлы (*.html, *.htm)  - оптимизируются и требуют дополнительной подзагрузки связанных файлов.
  • Документы в формате RTF (*.rtf) - конвертируются в HTML, встроенные файлы загружаются автоматически.
  • Документы Microsoft Word (*.doc) - конвертируются в HTML, встроенные файлы загружаются автоматически.
  • Таблицы Microsoft Excel (*.xls) - конвертируются в HTML.

Слева от поля "текст" выводятся несколько ссылок для работы с буфером MS Windows, содержимым данного поля и загруженным файлом (рис. 3):

  • cut - вырезает содержимое поля "текст" в буфер MS Windows
  • copy - копирует содержимое поля "текст" в буфер MS Windows
  • clear - очищает содержимое поля "текст"
  • paste - вставляет содержимое буфера MS Windows в поле "текст"
  • exch - заменяет содержимое поля "текст" на содержимое буфера MS Windows (т.е. clear + paste)
  • edit - запускает встроенный редактор JEditor для изменения поля "текст". Описание см. в разделе Редактор JEditor.

Пиктограмма  дает ссылку на просмотр контента редактируемого объекта в отдельном окне. Рядом с ссылкой указывается дата последней модификации (изменения) объекта и размер контента в килобайтах (без графики и других внешних файлов). Если контент у редактируемого объекта пустой, то данная ссылка отсутствует.

Если в предыдущие сеансы редактирования (или ввода) данного объекта в качестве контента были загружены файлы в формате DOC, RTF или XLS, то в следующей строке указывается ссылка в виде пиктограммы  на последний загруженный файл. Рядом указывается дата последней загрузки и размер файла в килобайтах.

Последней строкой указывается ссылка в виде пиктограммы  на создание (генерацию) файла в формате MS Word из текущего контента (содержимого поля "текст").

Панель УСТАНОВЛЕННЫЕ ПАРАМЕТРЫ

Панель предназначена для редактирования и удаления установленных параметров объекта. На ней отображаются поля для ввода только тех параметров, которые присутствуют в данном объекте или добавлены администратором из панели НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ (см. описание панели ниже). Все поля параметров сгруппированы в отдельные подпанели в соответствии с их группами. В заголовке каждой подпанели указывается название группы параметров. Для удобства редактирования подпанели можно открывать и закрывать также, как и панели JM, левым щелчком мыши на заголовке. Слева указываются названия параметров и некоторая дополнительная информация, справа - поля форм для редактирования. Элементы форм показываются в соответствии с типом параметров (переключатели, текстовые поля, радио-кнопки и др.) (рис. 4).

Для графических параметров рядом с формой указывается тип файла (gif, jpg, png), и его размер в пикселях и байтах. Если изображение имеет больший размер, чем задано настройками JM, то оно показывается не масштабируемым, а обрезанным по ширине и/или высоте. Само изображение служит ссылкой для просмотра всего файла в отдельном окне. Слева от графики указываются ссылки для работы с изображением с помощью встроенного графического редактора (изменить, иконка, восстановить, bak). Описание см. в разделе Встроенный графический редактор.

Вместе с изображением предлагается ввести дополнительное поле "alt" для альтернативного текста. Если при вводе параметра данное поле оставить пустым, то оно заполняется текстом заголовка объекта.

Рис. 4. Панель УСТАНОВЛЕННЫЕ ПАРАМЕТРЫ.

Рядом с файловыми параметрами указывается имя файла, ссылка на сам файл и его размер в байтах.

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

Для удаления параметра из объекта необходимо сделать левый щелчок на имени параметра. При этом строка параметра исчезнет из текущей панели и появится в панели НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ (данная панель может быть закрыта). Внимание! Фактическое изменение или удаление параметров произойдет только после окончания процесса редактирования, т.е после нажатия кнопки ввести на панели УПРАВЛЕНИЕ. Если администратор ошибочно удалил какие-либо параметры, он может восстановить их значения, нажав кнопку сбросить на панели УПРАВЛЕНИЕ.

Панель НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ

Данная панель предназначена для добавления новых параметров к объекту, т.е. тех, которые не были установлены в нем. При входе в режим редактирования это панель закрыта (в упрощенном режиме работы JM она отсутствует). На панели отображаются имена и названия переменных всех параметров сайта, кроме тех, которые уже установлены в редактируемом объекте (рис. 5).

Рис. 5. Панель НЕУСТАНОВЛЕННЫЕ ПАРАМЕТРЫ.

Все параметры сгруппированы в отдельные подпанели в соответствии с их группами. В заголовке каждой подпанели указывается название группы параметров. Для удобства редактирования подпанели можно открывать и закрывать также, как и панели JM, левым щелчком мыши на заголовке. Для добавления параметра к объекту необходимо сделать левый щелчок на имени параметра или соответствующей переменной. Под списком параметров каждой группы указывается ссылка **ИМЯ_ГРУППЫ, при нажатии на которую к объекту добавляются все параметры данной группы.

При добавлении параметров соответствующие строки исчезают из данной панели и перемещаются в вышестоящую панель УСТАНОВЛЕННЫЕ ПАРАМЕТРЫ. После выполнения этой операции необходимо ввести нужные значения добавляемых параметров в соответствующих полях формы (рис. 6).

Рис. 6. Пример добавления неустановленного параметра.

Внимание! Фактическое добавление параметров и установка их значений произойдет только после окончания процесса редактирования, т.е после нажатия кнопки ввести на панели УПРАВЛЕНИЕ.

Панель ВЛАДЕЛЕЦ, ПРАВА

Данная панель предназначена для установки атрибутов объекта, управляющих правами доступа к нему (в упрощенном режиме работы JM эта панель отсутствует, кроме того, наличие этой панели управляется локальными настройками каждого конкретного администратора). На панели отображаются поля "владелец", "группа", "права" и показывается IP-адрес/ хост, с которого был введен данный объект (рис. 7). В списке владельцев указываются все пользователи сайта, кроме "подписчиков". В списке групп - все группы сайта. В поле "права" отображаются шесть переключателей (rg, wg, xg; ro, wo, xo), задающих права доступа для группы и остальных посетителей сайта. Назначение переключателей (слева - направо):

1. (rg) – право на чтение (просмотр) объекта для выбранной группы пользователей;

2. (wg) – право на запись, т.е. редактирование и удаление объекта для выбранной группы пользователей;

3. (xg) – право на добавление дочерних к данному объекту для выбранной группы пользователей;

4. (ro) – право на чтение (просмотр) объекта для всех посетителей, данный переключатель устанавливается у всех открытых для общего пользования объектов, объекты, у которых данный переключатель отключен отображаются в дереве сайта серым цветом (объекты с ограниченным доступом);

5. (wo) – право на запись для всех посетителей (для того, чтобы иметь возможность редактировать что-либо, кроме наличия данного права, пользователю нужно еще, как минимум, иметь права на доступ к соответствующему административному модулю);

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

Подробнее см. описание модуля Пользователи и Приложение Атрибуты.

Рис. 7. Панель ВЛАДЕЛЕЦ, ПРАВА.

Справа от каждого поля имеется переключатель ветвь. Если при редактировании объекта он включается, то значение соответствующего атрибута (владелец, группа или права) будет установлен для всех объектов данной ветви (если у администратора есть права на их редактирование).

Внимание! Фактическая установка прав доступа произойдет только после окончания процесса редактирования, т.е. после нажатия кнопки ввести на панели УПРАВЛЕНИЕ.

Панель УПРАВЛЕНИЕ

На данной панели расположены три управляющие клавиши и ссылка log на модуль watch для просмотра всех административных действий над текущим объектом (рис. 8).

Рис. 8. Панель УПРАВЛЕНИЕ.

Кнопка ввести завершает процесс редактирования объекта и загружает все графические и файловые параметры на сервер.

Кнопка сбросить восстанавливает значения всех атрибутов и параметров объекта на те, которые были в момент входа в режим редактирования. Кнопка удалить выдает окно подтверждения удаления и перемещает объект в специальный раздел дерева сайта Trash. (См. операцию Удаление и восстановление объекта).

Завершение ввода, загрузка и удаление файлов

Если в качестве контента объекта был загружен файл формате DOC, XLS или RTF, то модуль JM осуществляет конвертирование документа в стандарт HTML и автоматически загружает на сервер все встроенные иллюстрации, диаграммы и т.п. Результат операции ввода объекта и работы конвертора будет отображен на панели ИНФОРМАЦИЯ (рис. 9). Если в директории данного объекта есть "потерянные" файлы, т.е. те на которые в тексте отсутствуют локальные ссылки (без http://), то на панели выводится список этих файлов с переключателями для их удаления.

Рис. 9. Панель с информацией о результате редактирования и работы конвертора.

Если в контент был загружен HTML-файл с локальными ссылками (без http://) или в тексте контента есть ссылки на различные файлы (иллюстрации, архивы и т.п.), то после нажатия кнопки ввести в правой части окна JM будет выведена панель ФАЙЛЫ (рис. 10). На этой панели перечисляются все имена файлов, на которые есть ссылки, их статус (наличие или отсутствие в директории объекта на сервере) и кнопки Обзор… (Browse...) для загрузки файлов с локального компьютера. Кроме этого, также выводится список "потерянных" файлов с переключателями для их удаления.

Рис. 10. Панель ФАЙЛЫ.

Те файлы, которые будут введены администратором кнопками Обзор... (Browse...), загружаются на сервер под соответствующими именами и результат загрузки отображается на панели ИНФОРМАЦИЯ (рис. 11).

Рис. 11. Панель с информацией о результате загрузки и удалении файлов.

При различных сбоях работы конвертора или ошибках чтения/записи файлов на панели ИНФОРМАЦИЯ будет выведена соответствующая диагностика.


3.1.1.3. Редактирование графики

Если объект содержит какие-либо графические параметры (графика, иконка и др.), то Вы можете воспользоваться встроенным графическим редактором для модификации этих изображений (изменения размеров, обрезки, применения различных эффектов и др.). Подробно этот модуль описан в разделе Графический редактор. Для редактирования основной графики объекта (параметр "графика") можно воспользоваться пунктом графика контекстного меню или пунктом img () контрольной панели. Для модификации других графических параметров необходимо войти в режим редактирования или просмотра свойств объекта и нажать на ссылку изменить слева от соответствующего изображения нужного параметра (рис. 1).

Рис. 1. Вызов встроенного редактора для изменения различных графических параметров.

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

Для выполнения групповой операции изменения графических параметров объектов в ФИЛЬТРЕ необходимо сформировать выборку и сделать текущей строку все выбранные. Затем нажать пункт img () контрольной панели или пункт графика контекстного меню. В правой части экрана будет выведена панель ГРАФИКА со списком выбранных объектов для задания размеров, формата и других характеристик выходных файлов (рис. 2).

Рис. 2. Изменение параметра "графика" для выборки объектов.

В панели ПАРАМЕТРЫ необходимо выбрать графический параметр (или несколько), над которым будет производится данная операция.

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


3.1.1.4. Создание иконки

Если объект содержит основное графическое изображение, заданное параметром "графика" (icon), то для него можно создать иконку - уменьшенную копию, требуемого размера. Для автоматической генерации иконки нужно нажать правую клавишу мыши на пункте icon () контрольной панели. Размер и формат иконки в этом случае будет определяться текущими значениями параметра "эффекты иконки" (view_make_icon_e). Он может быть задан в любом родительском объекте.

Значение данного параметра указываются в виде отдельных строк в формате:

ключ1=значение1
ключ2=значение2

Ключи масштабирования и автоиконок:

i=ИМЯ_ПАРАМЕТРА

задает имя графического параметра, который будет служить автоиконкой для данного. Умолчанием для параметра "графика" (icon) служит параметр "иконка" (view_icon_photo). Тип и размер автоиконки задается в аналогичной параметре "эффекты иконки".

 

 

t=ЧИСЛО

задает тип (формат) выходного файла

t=0

не применять масштабирование или автоматическое создание иконки

t=1 или t=gif

выходной формат - GIF

t=2 или t=jpg

выходной формат - JPG

t=3 или t=png

выходной формат - PNG

t=4 или t=orig

выходной формат совпадает с форматом оригинала

 

 

x=ЧИСЛО

максимальная или точная ширина выходного файла

y=ЧИСЛО

максимальная или точная высота выходного файла

 

 

z=ЧИСЛО

совмещение изображений выходного файла и оригинала (по умолч. - p)

z=0 или z=с

совпадают центры изображений

z=1 или z=lt или z=tl

совпадают левые верхние углы

z=2 или z=rt или z=tr

совпадают правые верхние углы

z=3 или z=rb или z=br

совпадают правые нижние углы

z=4 или z=lb или z=bl

совпадают левые нижние углы

z=5 или z=p 

совпадают все углы, т.е. в выходном файле сохраняются пропорции оригинала 

z=6 или z=tc или z=ct

«портретный» режим: если высота оригинального изображения больше ширины – совпадают оба верхних угла, в противном случае совмещаются центры

Примечания.

1. Если один из ключей x или y не задан, то выходной файл всегда сохраняет пропорции оригинала, независимо от значения ключа z.

2. Если значение ключа z задано от 0 до 4 и указаны оба ключа x и y, то они будут задавать не максимальный, а точный размер выходного файла.

Ключи дополнительных эффектов:

ключи

умолчание

описание

e=СИМВОЛ

 

задает тип эффекта

e_XXX=СТРОКа

 

дополнительные параметры эффекта

 

 

 

e=c

 

обрезка изображения (canvas)

e_x=ЧИСЛО

ширина оригинала

ширина выходного файла

e_y=ЧИСЛО

высота оригинала

высота выходного файла

e_color=XXXXXX

FFFFFF

цвет свободного фона

 

 

 

e=b

 

рамка, бордюр (border)

e_color=XXXXXX

333333

цвет бордюра

e_x=ЧИСЛО

1

толщина бордюра

 

 

 

e=r

 

поворот (rotate)

e_x=ЧИСЛО

90

угол поворота в градусах

e_color=XXXXXX

FFFFFF

цвет свободного фона

 

 

 

e=t

 

добавление текста (text)

e_color=XXXXXX

FFFFFF

цвет текста

e_trans=ЧИСЛО

50

прозрачность текста от 0 до 100

e_x=ЧИСЛО

(ширина оригинала) - (ширина текста)

позиция левого края текста от левого края оригинала в пикселах

e_y=ЧИСЛО

(высота оригинала) - (высота текста)

позиция верхнего края текста от верхнего края оригинала в пикселах

e_text=ТЕКСТ

копирайт сайта

сам текст

e_font=ЧИСЛО

6

номер системного шрифта от 1 до 7

 

 

 

e=w

 

водяной знак (watermark) использует параметр "водяной знак"

e_trans=ЧИСЛО

30

прозрачность знака от 0 до 100

e_x=ЧИСЛО

(ширина оригинала) - (ширина знака)

позиция левого края знака от левого края оригинала в пикселах

e_y=ЧИСЛО

(высота оригинала) - (высота знака)

позиция верхнего края знака от верхнего края оригинала в пикселах

 

 

 

Для задания нескольких последовательных эффектов к ключам добавляется порядковый индекс с номером эффекта. Пример:

t=gif
x=72
y=72
z=p
e[0]=c
e_x[0]=88
e_y[0]=88
e_color[1]=FFFFFF
e[1]=b
e_x[1]=4
e_color[1]=FF3300
e[2]=w

В данном случае последовательность обработки загруженного оригинала следующая:

1. Из оригинала создается уменьшенная копия в формате GIF размером не более 72 пикселов по ширине и высоте при сохранении пропорций оригинала

2. Полученное ихображение дополняется по ширине и высоте белым фоном до размера 88х88 пикселов.

3. По краям изображения строится красная рамка (бордюр) толщиной 4 пиксела

4. В правом нижнем углу (по умолчанию) добавляется водяной знак (текущее значение параметра watermark)

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

Рис. 1. Результат выполнения генерации иконки на панели ИНФОРМАЦИЯ.

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

Для выполнения групповой операции создания иконки в ФИЛЬТРЕ необходимо сформировать выборку и сделать текущей строку все выбранные. Затем нажать пункт icon () контрольной панели или пункт иконка контекстного меню. В правой части экрана будет выведена панель ИКОНКА со списком выбранных объектов для задания размеров, формата и других характеристик выходных файлов (рис. 2).

Рис. 2. Создание иконок для выборки объектов.

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


3.1.1.5. Удаление и восстановление объекта

Для удаления текущего объекта нужно выбрать пункт удалить в контекстном меню, пункт del () контрольной панели или нажать клавишу Delete. Данная операция будет произведена только после подтверждения действия в отдельном окне (рис. 1).

Рис. 1. Окно подтверждения удаления объекта.

Если операция подтверждена, то данный объект перемещается в специальный раздел дерева сайта Trash (корзина, аналог Recycle Bin Microsoft Windows), и права на его чтение устанавливаются равными 0, т.е. страница данного объекта становится закрытой от просмотра обычными посетителями сайта.

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

Для восстановления ошибочно удаленного объекта, необходимо раскрыть ветвь спецрубрики / Trash, найти объект (или ввести его идентификатор во втором поле контрольной панели), нажать правую клавишу мыши и выбрать пункт меню восстановить (рис. 2).

Рис. 2. Восстановление удаленного объекта.

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

Рис. 3. Окно запроса на восстановление прав на чтение объекта.

Внимание!. В "корзине" запоминается только идентификатор родителя объекта, но не положение его в ветви. Поэтому, после восстановления, данный объект окажется первым (верхним) в своей ветви (или в соответствии с заданной сортировкой). Для задания требуемого положения объекта необходимо воспользоваться операциями передвижение или сортировка.


3.1.1.6. Очистка ветви

Операция очистка ветви удаляет все дочерние объекты текущего объекта. Для выполнения данной операции нужно выбрать пункт очистить в контекстном меню или правую клавишу на пункте del () контрольной панели и подтвердить выполнение в отдельном окне.

Рис. 1. Окно подтверждения очистки ветви.

Все удаляемые объекты будут перемещены в специальный раздел дерева сайта Trash ("корзина") и права на чтение для них будут установлены в 0.

Внимание! Необходимо отметить, что если удаляемые объекты имеет дочерние, то они тоже будут удалены. При этом структура каждой ветви сохранится, а права на чтение будут установлены в 0 для всех объектов удаляемых ветвей.

Если данная операция производится над объектом Trash ("корзина", id=99), то все объекты "корзины" будут удалены из базы данных сайта. Внимание! Данная операция необратима.

Результат выполнения операции очистки ветви будет выведен на панели ИНФОРМАЦИЯ.


3.1.1.7. Изменение прав доступа

Изменение прав доступа к текущему объекту или его ветви производится в режиме редактирования. Вход в этот режим осуществляется через контекстное меню (пункт изменить) или пункт edit () контрольной панели. "Горячая клавиша" для текущего объекта - Enter или двойной щелчок левой клавиши на папке (заголовке) объекта.

Права доступа текущего объекта определяются установленными значениями его атрибутов "владелец", "группа пользователей" и "права". Поля для задания этих значений располагаются в панели ВЛАДЕЛЕЦ, ПРАВА (в нижней части формы для редактирования). В упрощенном режиме работы JM эта панель отсутствует, кроме того, наличие этой панели управляется локальными настройками каждого конкретного администратора.

На панели отображаются текущие значения указанных атрибутов и показывается IP-адрес/ хост, с которого был введен данный объект (рис. 1).

В списке владельцев указываются все пользователи сайта, кроме тех, которые входят только в группу "по умолчанию" ("подписчики")[1]. Указанный в данном поле пользователь будет обладать полными правами на данный объект[2]. Пользователь с именем "root" всегда обладает полными правами для любых объектов.
В списке групп - все группы пользователей, существующие на сайте[3]. У всех пользователей, входящих в группу "root" всегда есть полные права на любые объекты.
В поле "права" отображаются шесть переключателей (rg, wg, xg; ro, wo, xo), задающих права доступа для группы и остальных посетителей сайта. Назначение переключателей (слева - направо):

1. (rg) – право на чтение (просмотр) объекта для пользователей, входящих в выбранную группу (указанную в поле "группа");

2. (wg) – право на запись, т.е. редактирование и удаление объекта для пользователей, входящих в выбранную группу;

3. (xg) – право на добавление дочерних к данному объекту для пользователей, входящих в выбранную группу;

4. (ro) – право на чтение (просмотр) объекта для всех посетителей; данный переключатель устанавливается у всех открытых для общего пользования объектов, объекты, у которых данный переключатель отключен отображаются в дереве сайта серым цветом (объекты с ограниченным доступом);

5. (wo) – право на запись для всех посетителей (для того, чтобы иметь возможность редактировать что-либо, кроме наличия данного права, пользователю нужно еще, как минимум, иметь права на доступ к соответствующему административному модулю);

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

Подробнее см. описание модуля Пользователи и Приложение Атрибуты.

Рис. 1. Панель ВЛАДЕЛЕЦ, ПРАВА.

Справа от каждого поля имеется переключатель ветвь. Если при редактировании объекта он включается, то значение соответствующего атрибута (владелец, группа или права) будет установлен для всех объектов данной ветви (если у администратора есть права на их редактирование).

Внимание! Фактическая установка прав доступа произойдет только после окончания процесса редактирования, т.е. после нажатия кнопки ввести на панели УПРАВЛЕНИЕ.

Для выполнения групповой операции по изменению прав доступа для произвольного набора объектов необходимо сформировать выборку требуемых объектов в ФИЛЬТРЕ и сделать текущей строку все выбранные. Затем нажать пункт rwx () контрольной панели или пункт права контекстного меню. В правой части экрана будет выведена панель ВЛАДЕЛЕЦ, ПРАВА для задания требуемых значений (рис. 2).

Рис. 2. Установка владельца, группы и прав для выборки объектов.

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

В примере на рис. 2 для трех объектов, выбранных в ФИЛЬТР будут произведены следующие изменения:

1. Будет установлен владелец "root" (т.е. никакой конкретный владелец, фактически, не задан).

2. Право на "чтение для группы" будет установлено в 1 (разрешено).

3. Право на "чтение для всех" будет установлено в 0 (запрещено).

4. Группа пользователей и остальные права останутся без изменений.



[1] Список пользователей в данном поле может быть задан специальным образом с помощью модификатора «user_filter», применимого к конкретному профилю пользователя или к модулю JManager.

[2] Просмотр, изменение, удаление, добавление дочерних. Для выполнения любых действий связанных с модификацией или добавлением информации, кроме прав на объект, пользователю также потребуются права на доступ к инструментам, позволяющим производить модификацию или добавление информации (например, право на доступ к странице с работающим JManager-ом, интерактивной формой, форумом и т.д.).

[3] В списке групп могут быть отображены только требуемые группы, это настраивается модификатором «group_filter» для конкретного пользователя или JManager-а, по аналогии с «user_filter».


3.1.1.8. Выборочное изменение параметров

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

Вызов данных операций осуществляется через контекстное меню - пункты параметры / добавить выборочно, параметры / добавить (зменить) выборочно и параметры / удалить выборочно или пункт par () контрольной панели (рис. 1).

Рис. 1. Контекстное меню для выборочного добавления, замены и удаления параметров.

После выбора операции в правой части JM выводится панель ДОБАВЛЯЕМЫЕ ПАРАМЕТРЫ (или другая, соответствующая операции). В панели перечисляются все параметры сайта, разбитые на группы (рис. 2). Раскрывая панели групп, нужно выбрать те параметры, которые необходимо добавить к объекту, установить их значения (в верхней части панели) и нажать клавишу ввести. Если выбрана операция удаление параметров, то вводить значения не обязательно.

 

Рис. 2. Панель для выбора и задания значений добавляемых параметров.

Операция добавить выборочно работает следующим образом:

1. Если выбранный параметр установлен в объекте, то он остается без изменений.

2. Если выбранного параметра нет в объекте, то он добавляется к него с заданным администратором значением.

Операция добавить (заменить) выборочно работает следующим образом:

1. Если выбранный параметр установлен в объекте, то он заменяется на значение, заданное администратором.

2. Если выбранного параметра нет в объекте, то он добавляется к объекту с заданным значением.

Операция удалить выборочно удаляет все выбранные администратором параметры из объекта.

Внимание! Операции замены и удаления необратимы, т.е. восстановить ранее установленные параметры и их значения можно будет только вручную.

Для выполнения групповых операций по работе с параметрами необходимо сформировать выборку требуемых объектов в ФИЛЬТРЕ и сделать текущей строку все выбранные. Затем выбрать пункт параметры контекстного меню и требуемый подпункт (добавить, заменить или удалить). Через меню контрольной панели доступны операции по добавлению параметров - левая клавиша мыши на пункте par () и замене параметров - правая клавиша мыши на пункте par (). В правой части экрана будет выведена соответствующая панель (ДОБАВЛЯЕМЫЕ, ЗАМЕНЯЕМЫЕ или УДАЛЯЕМЫЕ ПАРАМЕТРЫ).

Рис. 3. Изменение параметров для выборки объектов.

Все групповые операции по изменению параметров для выборки аналогичны соответствующим операциям для текущего объекта, описанным выше.


3.1.1.9. Изменение параметров по образцу

Операции по добавлению (замене) параметров позволяют установить параметры текущего объекта в соответствии с указанным образцом. Вызов данных операций осуществляется через контекстное меню - пункты параметры / добавить (заменить) по образцу и параметры / установить по образцу.

Рис. 1. Контекстное меню для добавления, замены и удаления параметров по образцу.

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

Рис. 2. Окно запроса образца на дабавление или замену параметров объекта.

Операция добавить (заменить) по образцу работает следующим образом:

1. Если параметр установлен и в объекте и в образце, то он заменяется на значение из образца.

2. Если параметр установлен в объекте и его нет в образце, то он остается без изменений.

3. Если параметр есть в образце и его нет в объекте, то он добавляется к объекту из образца.

Операция установить по образцу удаляет ВСЕ установленные параметры в объекте и добавляет к нему ВСЕ параметры из образца.

Операция удалить ВСЕ параметры выдает окно (рис. 3) и после подтверждения удаляет ВСЕ параметры из текущего объекта.

Рис. 3. Окно подтверждения удаления параметров объекта.

Внимание! Операции замены и удаления необратимы, т.е. восстановить ранее установленные параметры и их значения можно будет только вручную.


3.1.2. Операции перемещения


3.1.2.1. Передвижение объекта по дереву

Для передвижения текущего объекта внутри ветви нужно выбрать пункт передвинуть в контекстном меню и требуемый пункт в подменю (рис. 1).

Рис. 1 .Контекстное меню операции передвижения объекта.

Команда наверх делает текущий объект первым (верхним) в его ветви. "Горячая клавиша" Alt-PageUp или левое нажатие на пункте | () контрольной панели.

Команда вниз делает текущий объект последним (нижним) в его ветви. "Горячая клавиша" - Alt-PageDown или правое нажатие на пункте | () контрольной панели.

Команда выше передвигает объект в ветви на одну строку вверх. "Горячая клавиша" - Alt-Стрелка вверх или левое нажатие на пункте | () контрольной панели.

Команда ниже передвигает объект в ветви на одну строку вниз. "Горячая клавиша" Alt-Стрелка вниз или правое нажатие на пункте | () контрольной панели.

При выборе пунктов контекстного подменю передвинуть над и передвинуть под администратору выдается окно для ввода идентификатора объекта, над (или под) которым надо поставить текущий (рис. 2). "Горячие клавиши" для этих команд- Alt-Home и Alt-End или левое и правое нажатие на пункте -- () контрольной панели.

Рис. 2. Окно для ввода идентификатора объекта.

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

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

Результат выполнения операции будет отображен на панели ИНФОРМАЦИЯ.


3.1.2.2. Сортировка дочерних объектов

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

Для выполнения данной операции нужно выбрать пункт отсортировать в контекстном меню и пункт в подменю, соответствующий нужному критерию сортировки (рис. 1). Для пересортировки дочерних объектов в обратном порядке можно выбрать пункт sort () контрольной панели.

Рис. 1. Контекстное меню для сортировки объектов.

Основные критерии сортировки перечислены в подменю:

  • по алфавиту (по заголовку объекта)
  • по дате публикации
  • по дате модификации
  • по дате ввода
  • по идентификатору

При выборе последнего подпункта отсортировать… администратору выдается окно для ввода параметра (атрибута) сортировки (рис. 2).

Рис. 2. Окно для ввода параметра сортировки.

В нем можно указать переменную, соответствующую любому атрибуту объекта или спецпараметру. См. Приложения Атрибуты и Параметры. Если указано только имя, то сортировка производится в порядке увеличения значения параметра. Для сортировки в обратном порядке после имени параметра надо добавить пробел и ключевое слово desc.

Результат выполнения операции будет отображен на панели ИНФОРМАЦИЯ.

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


3.1.2.3. Перенос объекта или ветви

Для переноса текущего объекта или ветви в другое место дерева сайта нужно выбрать пункт перенести в контекстном меню или пункт move () контрольной панели ("горячая клавиша" - Ctrl-M). Администратору будет выдано окно для ввода идентификатора родительского объекта, в ветвь которого надо перенести текущий (рис. 1).

Рис. 1. Окно для ввода идентификатора родительского объекта.

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

Если у текущего объекта есть дочерние, то они будут перенесены вместе с ним, т.е. структура ветви полностью сохранится.

Перенос объекта в ветвь с идентификатором 99 (Trash) равносилен его удалению.

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

Результат выполнения операции будет отображен на панели ИНФОРМАЦИЯ.


3.1.2.4. Дублирование объекта

Операция дублирования создает полную копию объекта (вместе со всеми его файлами) в этой же ветви сайта. Для выполнения данной операции нужно выбрать пункт дублировать в контекстном меню или пункт dubl () контрольной панелт ("горячая клавиша" - Ctrl-U).

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

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

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

При правом нажатии на пункт dubl () копия будет располагаться в ветви сайта точно под текущим объектом.

После дублирования JM автоматически входит в режим редактирования вновь созданного объекта.


3.1.2.5. Копирование и вставка объекта

Для выполнения данной операции нужно выбрать пункт копировать в контекстном меню или copy () контрольной панели ("горячая клавиша" Ctrl-C). Текущий объект (и ветвь) в дереве сайта выделяется серой пунктирной линией, в меню управления контрольной панели появляются пункты paste () и clear (), а в контекстной меню – пункты вставить и вставить ветвь (рис. 1).

Рис. 1. Копирование объекта (ветви).

Данная операция не выполняет непосредственного копирования объекта, а только запоминает его идентификатор в буфере. Для выполнения самой операции нужно сделать правый щелчок мыши на папке объекта в ветвь которого надо скопировать текущий и выбрать в контекстном меню пункт вставить / вставить ветвь или левое / правое нажатие на пункте paste () контрольной панели. "Горячие клавиши" для данных операций - Ctrl-V и Ctrl-T соответственно. Копирование будет произведено после подтверждения действия в отдельном окне (рис. 2).

 

Рис. 2. Окна подтверждения операций копирования-вставки объекта и ветви.

Операция вставить (Ctrl-V) делает полную копию объекта (без дочерних) и добавляет ее в ветвь текущего объекта. Права на чтение для копии будут установлены равными 0, если в настройках JM включена опция hidden. Если данная опция отключена, то права копии будут полностью совпадать с правами оригинала. К заголовку нового объекта добавляется строка (copy of XXX), где XXX - идентификатор копируемого объекта.

Операция вставить ветвь (Ctrl-T) делает полную копию всей ветви объекта. Права на чтение и заголовки новых объектов будут полностью совпадать с оригинальными, независимо от настроек JM.

Нельзя скопировать ветвь к объекту, который является одним из потомков копируемой ветви. Для выполнения операции у администратора должны быть права на добавление к текущему объекту (родительскому для копии).

Левое нажатие на пункте clear () контрольной панели очищает буфер и убирает выделение объектов в дереве сайта.


3.1.2.6. Вырезание и вставка объекта

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

Для выполнения данной операции нужно выбрать пункт вырезать в контекстном меню или пункт cut () контрольной панели ("горячая клавиша" Ctrl-X). Текущая ветвь в дереве сайта выделяется красной пунктирной линией, в меню управления контрольной панели появляются пункты paste () и clear (), а в контекстной меню – пункты вставить и вставить ветвь (рис. 1).

Рис. 1. Вырезание объекта (ветви).

Данная операция только запоминает идентификатор объекта в буфере. Для выполнения вставки нужно сделать правый щелчок мыши на папке объекта в ветвь которого надо переместить текущий и выбрать в контекстном меню пункт вставить / вставить ветвь или левое/правое нажатие на пункте paste () контрольной панели. "Горячие клавиши" для данных операций - Ctrl-V и Ctrl-T соответственно. Перемещение будет произведено после подтверждения действия в отдельном окне (рис. 2).

 

Рис. 2. Окна подтверждения операций вырезания-вставки объекта и ветви.

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

Нельзя переместить ветвь к объекту, который является одним из потомков этой же ветви. Для выполнения операции у администратора должны быть права на добавление к текущему объекту (новому родительскому для перемещаемой ветви).


3.1.3. Операции информационные


3.1.3.1. Переход на страницу объекта

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

1. Левый щелчок мыши на идентификаторе объекта в строке дерева сайта.

2. Через контекстное меню:

  • правый щелчок мыши на папке или заголовке объекта
  • пункт меню - перейти

3. Клавиши Ctrl-G, если объект выделен в дереве сайта.


3.1.3.2. Просмотр объекта или страницы

Не выходя из модуля JM, администратор может просмотреть, как будет выглядеть любой объект на странице сайта. Просмотр может осуществляться с любым шаблоном, доступным на данном сайте. Один из шаблонов назначается шаблоном "по умолчанию" (это задается в настройках JM).

Для просмотра объекта (заголовка, контента и его дочерних) нужно выбрать пункт просмотр в контекстном меню и подпункт объект или сделать правый щелчок мыши на идентификаторе объекта в строке дерева. "Горячие клавиши" для просмотра объекта с шаблоном по умолчанию - Ctrl-Q.

Внешний вид объекта или страницы будет представлен на панели ИНФОРМАЦИЯ в правой части окна JM (рис. 1).

Рис. 1. Просмотр в шаблоне объекта.

Для просмотра объекта с другими шаблонами нужно выбрать соответствующий подпункт в контекстном меню просмотр (рис. 1).

Шаблоны объект (анонимно) и страница (анонимно) показывают объект с правами на просмотр обычного (анонимного) посетителя сайта, т.е. если данный объект закрыт от просмотра, то будет отображен блок для авторизации посетителя. Если просматриваемый объект еще не опубликован на сайте или имеет параметр "перенаправить", то на панели ИНФОРМАЦИЯ будет выведена диагностика "невозможно отобразить страницу". Остальные шаблоны показывают объекты с правами, соответствующими данному администратору сайта.

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

Если просматриваемый объект имеет параметр "блок", то на панели ИНФОРМАЦИЯ будет отображена текущая выборка данного блока, сформированная в соответствии его параметрами и стилями (рис. 2).

Рис. 2. Просмотр блока.

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


3.1.3.3. Экспорт объектов

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

Рис. 1. Экспорт заданных атрибутов и параметров выбранных объектов.

Поле "разделитель" задает вид разделителя полей в строке экспортного файла для текстового формата (символ ";" или табуляция). Поле "mselect" задает способ экспорта параметров типа "mselect", "mradio", "mchecks" и "mselects". Если переключатель установлен в положении "id", то в экспортный файл попадут числовые значения параметров указанных типов, если в положении "header" - то заголовки объектов, соответствующих установленным значениям данных параметров.

Атрибуты и параметры объектов, необходимые для экспортного файла выбираются в панели ПАРАМЕТРЫ или устанавливаются переключатели "ВСЕ атирибуты" и "ВСЕ параметры" для экспорта всех атрибутов (параметров) объектов.

После задания формата и выбора экспортируемых атрибутов и параметров необходимо нажать клавишу ввести. После обработки данных на панели ИНФОРМАЦИЯ будет выведена диагоностика экспорта: количество объектов, разделитель, формат и число экспортируемых полей (атрибутов и параметров) в каждом объекте (рис. 2). Если не было задано ни одного поля, то будет выдано сообщение об ошибке. При нажатии на кнопку открыть вы получите экспортный файл заданного формата в новом окне броузера.

Рис. 2. Подготовка экспортного файла.

 

Рис. 3. Пример экспортного файла в формате TXT

 

Рис. 4. Пример экспортного файла в формате HTML

 

Рис. 5. Пример экспортного файла в формате XML

 

Рис. 6. Пример экспортного файла в формате Excel

 

Рис. 7. Пример экспортного файла в формате ZIP

 

Рис. 8. Пример файла list.txt при экспорте в формате ZIP


3.1.3.4. Вывод свойств объекта

Для получения информации об объекте нужно сделать его текущим в дереве сайта левым щелчком мыши. Справа от дерева, на панели ИНФОРМАЦИЯ, будут выведены значения всех атрибутов и установленных параметров данного объекта, включая графические изображения (рис. 1). В текстовом режиме JM для вывода информации о текущем объекте надо нажать на пункт info () контрольной панели. Для вывода информации об объекте через контекстное меню, нужно выбрать пункт дополнительные->свойства.

Рис. 1. Вывод информации об объекте

В заголовке панели указывается идентификатор объекта. Сама панель состоит из четырх секций (АТРИБУТЫ, ПАРАМЕТРЫ, ВЛАДЕЛЕЦ-ПРАВА и ФАЙЛЫ). Информация в каждой секции выводится в четыре колонки: название атрибута  или параметра, соответствующая переменная, тип и значение.

Для контента (основного содержимого объекта) на панели ИНФОРМАЦИЯ выводятся четыре строки:

  • текст (mess_content) - ссылка на просмотр HTML-кода, введенного администратором или сформированного конвертором (указывается размер кода в Кб)
  • файл (mess_content_file) - ссылка на последний загруженный через конвертор файл (указывается размер файла в Кб)
  • дата загрузки (file_modify_date) - дата загрузки последнего файла в конвертор
  • создать doc-документ (createdoc) - ссылка на генерацию (создание) документа в формате MS Word из текущего контента

В секции ПАРАМЕТРЫ указываются установленные параметры объекта. Для параметров некоторых типов указываются числовые (списковые) и текстовые значения. Для графических и файловых параметров указывается тип файла, его размер и ссылка на сам файл. Если изображение имеет больший размер, чем задано настройками JM, то оно показывается не масштабируемым, а обрезанным по ширине и/или высоте. Само изображение служит ссылкой для просмотра всего файла в отдельном окне. Рядом с изображением выводится ссылка "изменить" для вызова встроенного графического редактора. Для параметра "графика" указывается еще и дополнительная ссылка "иконка" для вызова редактора в режиме создания иконки.

Примечание. В данном режиме показываются только СОБСТВЕННЫЕ параметры объекта, т.е. те, которые установлены в нем. Для вывода ПОЛНОЙ информации об объекте, включая наследуемые параметры (установленные в родительских объектах), необходимо нажать правую клавишу на пункте info () контрольной панели или выбрать пункт контекстного меню дополнительные->свойства (родители). В этом режиме в секции собственные параметры объекта будут отображены на белом фоне, а наследуемые - на сером. В колонке "установлен" будет указан идентификатор ближайшего родителя, где задан данный параметр (рис. 2).

Рис. 2. Вывод собственных и наследуемых параметров объекта

В секции ВЛАДЕЛЕЦ, ПРАВА указываются:

  • идентификатор и имя владельца объекта
  • идентификатор и название группы, которой принадлежит объект
  • права на объект для группы и остальных пользователей
  • ip-адрес и хост, с которого был введен данный объект

Если в директории данного объекта есть какие-либо файлы, то на панели выводится дополнительная секция ФАЙЛЫ. В ней перечисляются все файлы данного объекта с указанием статуса, типа и размера. Возможные статусы файлов:

  • image - файл установленного параметра типа image
  • file - файл установленного параметра типа file
  • LINK - ссылка на файл параметра "внешний файл"
  • BAK - архивная копия параметра типа image
  • DOC - последний загруженный через конвертор файл
  • MANUAL - файл, загруженный конвертором или администратором "вручную" и на который есть ссылка в HTML-коде объекта (href, src и др.)
  • LOST - загруженный файл, на который нет  ссылок в HTML-коде объекта

Для всех файлов, кроме image и file в первой колонке указывается ссылка на удаление данного файла. В последней строке секции указывается общий размер файлов текущего объекта в байтах и ссылка на удаление всех файлов типа LOST.


3.1.3.5. Вывод логов объекта

В системе TreeGraph ведется полный учет логов (действий администраторов) над каждым объектом. Для вывода логов текущего объекта через контекстное меню, нужно выбрать пункт дополнительные->логи. На правой панели JM будет выведена таблица с логами данного объекта (рис. 1).

Рис. 1. Вывод логов объекта (действий администратора)

В заголовке панели указывается идентификатор объекта и временной интервал (число дней), за который выводятся логи. Интервал задается настройкой модуля JM days_log и по умолчанию равен 365 дней. Информация в панели выводится в несколько колонок:

логи - уникальный номер записи лога (одного действия администратора)
дата модификации - день и время, когда произошла данная операция (серверное)
пользователи - идентификатор и логин пользователя, выполнившего данную операцию (для анонимных и неавторизованных пользователей не заполняется)
ip-адрес - IP адрес, с которого была произведена данная операция
действие - краткое обозначение операции
стр - идентификатор страницы (объекта), на которой находился пользователь, при выполнении данной операции (как правило, идентификатор модуля JM)
информация - комментарии к операции: список редактируемых (удаляемых) параметров, имена загружаемых (удаляемых) файлов и пр.

Необходимо отметить, что некоторые действия администратора приводят к записи нескольких подряд идущих логов. Например добавление нового объекта создает следующие логи: clone, sort, update, update params.

Для просмотра логов проекта (т.е. всех объектов, в том числе и удаленных) в системе TreeGraph имеется специальный модуль Наблюдатель (Watch).


3.1.3.6. Вывод статистики объекта (ветви)

В системе TreeGraph ведется полный учет статистических данных о посетителях всех страниц сайта. Ежедневно собранная за прошедшие сутки информация обрабатывается и сохраняется в базе данных проекта. Полная (необработанная) статистика хранится еще примерно 7 дней. Большинство статотчетов доступны только для обработанных данных, т.е. только после окончания текущих суток. Некоторые виды отчетов (например, путь по сайту) возможно получить только из полных (необработанных) данных. Для просмотра всех видов статистических отчетов в системе TreeGraph имеется специальный модуль Статистика (Stats).

Получение некоторых отчетов для объектов или ветвей возможно непосредственно в модуле JM. Для вывода статистики текущего объекта через контекстное меню, нужно выбрать пункт дополнительные->статистика или пункт stat () контрольной панели. На правой панели JM будет выведена таблица со статистикой по дням для данного объекта (рис. 1).

Рис. 1. Вывод статистики объектов и ветвей

В заголовке панели указывается идентификатор объекта и временной интервал (число дней), за который выводится статистика. Интервал задается настройкой модуля JM days_stat и по умолчанию равен 30 дней. Информация в панели выводится в несколько колонок:

дни - день, за который отображается статистика
хиты - количество хитов (просмотров) данной страницы за указанный день
хосты - количество хостов (уникальных IP-адресов) при просмотре данной страницы за указанный день
хиты (в) - количество хитов (просмотров) всех объектов в данной ветви за указанный день (подсчитывается только для некоторых разделов сайта)
хосты (в) - количество хостов при просмотре всех объектов в данной ветви за указанный день (подсчитывается только для некоторых разделов сайта)

У тех дней, для которых сохранена полная (необработанная) статистика дата служит ссылкой для просмотра списка хитов за этот день (рис. 2)

Рис. 2. Вывод списка хитов для объекта

В заголовке панели указывается идентификатор объекта и день, за который показывается статистика. В колонках таблицы выводится время каждого хита (захода на данныю страницу), IP-адрес посетителя, идентификатор пользователя (для авторизованных посетителей) и внешняя ссылка на данную страницу (если был заход с другого сайта).

Для просмотра других статистических отчетов (по странам, городам, поисковикам и др.) или вывода статистики за другие интервалы в системе TreeGraph имеется специальный модуль Статистика (Stats).


3.1.3.7. Вывод суммарной статистики ветви

Для вывода суммарной статистики ветви текущего объекта надо нажать правую клавишу на пункте stat () контрольной панели или в контекстном меню выбрать пункт дополнительные->статистика суммарная. На правой панели JM будет выведена ветвь текущего объекта с суммарными статистическими данными (рис. 1).

Рис. 1. Вывод суммарной статистики ветви

В заголовке панели указывается временной интервал (число дней), за который выводится статистика. Интервал задается настройкой модуля JM days_stat и по умолчанию равен 30 дней. Информация в панели выводится в несколько колонок:

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

Для просмотра других статистических отчетов (по странам, городам, поисковикам и др.) или вывода статистики за другие интервалы в системе TreeGraph имеется специальный модуль Статистика (Stats).


3.1.3.8. Вывод количества файлов ветви

Для получения сводной информации о количестве и размерах файлов для ветви текущего объекта нужно выбрать пункт дополнительные->файлы. На правой панели JM будет выведена ветвь текущего объекта с указанием количества и суммарного размера (в байтах) внешних файлов каждого объекта (рис. 1).

Рис. 1. Вывод количества и размеров внешних файлов для ветви текущего объекта.

В колонке файлы указывается общее число файлов каждого объекта всех типов. В колонках LOST и BAK указывается число файлов соответствующего типа. Файлы BAK - это архивные копии параметров типа image. Файлы LOST - это загруженные администратором файлы, на которые нет  ссылок в HTML-коде объекта. Число является ссылкой для операции удаления файлов объекта соответствующего типа. Перед удалением администратору выдается окно для подтверждение операции (рис. 2).

Рис. 2. Подтверждение операции удаления всех LOST файлов объекта 1105.

В колонке размер указывается общей размер всех файлов объекта в байтах. В последней строке ветви отображается суммарное количество файлов файлов и их размер для всей ветви.

Если данная операция применяется для объектов, выбранных в фильтр, то в последней строке ветви число файлов типа LOST и ВАК служат ссылкой для операции удаления файлов соответствующего типа для ВСЕХ объектов выборки (рис. 3).

Рис. 3. Вывод количества и размеров внешних файлов для выборки фильтра.

Для просмотра более подробной информации о файлах каждого объекта можно нажать на ссылку с его идентификатором. При этом данный объект становится текущим, а в правой панели будет выведена таблица с информацией об объекте и полным списком его файлов. См. Вывод свойств объекта.


3.1.3.9. Вывод сессии администратора

Вся информация, которая выводится администратору на правую панель модуля JM (редактирование, удаление, загрузка файлов, работа с фильтром и др.) запоминается на время сессии броузера. Для повторного вывода этой информации нужно выбрать пункт контекстного меню дополнительные->сессия. На правой панели JM будет выведен список всех действий администратора в текущей сессии броузера с указанием времени и идентификаторов объектов (рис. 1).

Рис. 1. Вывод информации в текущей сессии администратора.

Большая часть действий администратора записывается в дополнительную базу данных в виде логов проекта. Для просмотра логов текущего объекта можно выбрать пункт дополнительные->логи или воспользоваться модулем Наблюдатель.


3.1.3.10. Трассировка страницы объекта

Для получения трассировки страницы текущего объекта нужно выбрать пункт дополнительные->timepoint. На правой панели JM будет выведена страница объекта с соответствующим шаблоном и под ней - таблица с трассировкой (рис. 1).

Рис. 1. Страница текущего объекта с трассировкой.

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

В основном, данная информация предназначена разработчикам системы для контроля и оптимизации работы TreeGraph. Однако и администратор сайта может изменять время формирования страницы, отключая отдельные блоки или изменяя их параметры (условие выбора, количество и др.).


3.1.4. Фильтр (групповое редактирование)

Панель ФИЛЬТР модуля JM предназначена для поиска и выборки объектов из дерева сайта, удовлетворяющих заданным условиям, а также для выполнения групповых операций над ними. Панель расположена под основной панелью ДЕРЕВО САЙТА и по умолчанию свернута. В упрощенном режиме работы панель ФИЛЬТР отсутствует. Панель состоит из трех подпанелей: ФИЛЬТР (основная), ДОПОЛНИТЕЛЬНЫЕ (для задания дополнительных условий выбора и показа) и ВЫБРАНО (со списком и деревом выбранных объектов) (рис. 1).

Рис. 1. Внешний вид панели ФИЛЬТР модуля JM.


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

Формирование выборки объектов осуществляется заданием значений полей в ФИЛЬТРЕ или "ручным" способом с помощью управляющих клавиш в строках объектов. В дереве сайта в строке каждого объекта имеется значок +, при нажатии на который данный объект добавляется в выборку фильтра (рис. 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). Список доступных операций для выборки незначительно отличается от набора операций над отдельным объектом. Любая групповая операция в ФИЛЬТРЕ выполняется над всеми объектами, попавшими в выборку, если это возможно (есть права на совершение операции, операция не противоречива и т.д.).

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

  • просмотр всех объектов (страниц) с заданным шаблоном, стилем и списком
  • удаление всех объектов
  • изменение графических параметров для всех объектов
  • создание иконок по заданным параметрам и автоматическая генерация иконок для всех объектов
  • добавление, замена и удаление заданных параметров для всех объектов
  • установка прав, владельца и группы для всех объектов
  • экспорт заданных атрибутов и параметров всех объектов в требуемом формате
  • перенос всех объектов в указанную ветвь
  • копирование и вставка всех объектов
  • вырезание и вставка всех объектов
  • вывод свойств (информации) всех объектов

3.1.4.2. Групповое редактирование объектов

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

Рис.1

Доступные операции редактирования выбранных объектов ( Рис.2 ):

  • обновить все атрибуты
  • применить типограф в выбранных параметрах
  • поиск и замена текста в выбранных параметрах
  • добавить (заменить) выбранные параметры
  • удалить выбранные параметры

 

Рис.2

Обновить все атрибуты

Рис.3

Этот режим не изменяет параметров кроме «даты модификации» (Рис.4 пункт 2), обновление выделенных объектов равносильно нажатию кнопки «Применить» (Рис.4 пункт 1) для каждого объекта в отдельности.

Рис.4

Применить типограф в выбранных параметрах

Рис.5

Типограф – это удобное средство онлайн подготовки русского текста к веб-изданию. Он помогает избежать монотонной корректировки, расстановки кавычек, неразрывных пробелов, специальных символов, исправляет некоторые ошибки ввода (опечатки), проверяет орфографию и так далее.

Список параметров доступных для выбора (Рис.5) включает в себя все параметры, которые есть в выбранных объектах. Чтобы выбрать параметр или атрибут для обработки его содержимого типографом необходимо кликнуть по названию параметра (Рис. 6).
Внимание! В поля выбранных параметров ничего вводить не нужно!

Рис.6

Удалить выбранные параметры

Рис.7

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

Поиск и замена текста в выбранных параметрах

Рис.8

Алгоритм работы с режимом «Поиск и замена текста в выбранных параметрах» (Рис.9):

  1. выберите параметр(ы), где нужно произвести поиск и замену текста
  2. заполните поля «найти» и «заменить»
  3. ввести изменения

Рис.9

Поиск и замена текста в выбранных параметрах допускает использования дополнительных настроек (можно выбирать сразу несколько):

  • учитывать регистр (по умолчанию регистр не учитывается)
  • регулярные выражения
  • обрабатывать в полях «найти» и «заменить на»
  • тестовый режим

Учитывать регистр (по умолчанию регистр не учитывается)

Если нужно учитывать регистр при поиске фразы, то выберите эту настройку и выполните замену.

 

Регулярные выражения

Выбор этой настройки позволит вводить в поле «найти» регулярные выражения, для более сложного поиска в строке, подробнее о регулярных выражениях по ссылке http://php.net/manual/ru/reference.pcre.pattern.syntax.php

 

Обрабатывать $PARAMS в полях «найти» и «заменить на»

Выбор этой настройки позволит вводить в поля «найти» и «заменить на» выражения типа $PARAMS[] подробнее по ссылке http://graphit.ru/?id=2514 .

 

Тестовый режим

Выбор этой настройки позволит сымитировать замену не внося изменения в сами объекты. Результат имитации доступен в текстовом отчете в модуле «Информации» (он появится после нажатия кнопки «Ввести»)

Рис.10

Добавить (заменить) выбранные параметры

Рис.11

Алгоритм работы с режимом «Добавить (заменить) выбранные параметры» по умолчанию добавляет и заменяет (удаляя старое значение) (Рис.11):

  1. выберите параметр(ы) которые нужно добавить (заменить)
  2. укажите значение параметров
  3. введите изменения

Для данного режима предусмотрены дополнительные настройки:

  • сохранять установленные параметры
  • удалять невыбранные параметры
  • обрабатывать в значениях параметров

Сохранять установленные параметры

Эта настройка позволит сохранить старое значение параметра, если оно уже есть в объекте.

 

Удалять невыбранные параметры

Применение этой настройки удалит ВСЕ старые параметры и добавит ТОЛЬКО новые.

 

Обрабатывать $PARAMS в значениях параметров

Позволяет добавлять в поля атрибутов и параметров выражения типа $PARAMS.

 

Тестовый режим

Выбор этой настройки позволит сымитировать добавление (замену) параметров не внося изменения в сами объекты. Результат имитации доступен в текстовом отчете в модуле «Информации» (он появится после нажатия кнопки «Ввести»)


3.1.5. Импорт

Панель ИМПОРТ модуля JM предназначена для потокового ввода и редактирования информации на сайте.

Интерфейсная панель ИМПОРТ расположена под основной панелью ФИЛЬТР и по умолчанию свернута. В упрощенном режиме работы JM панель ИМПОРТ отсутствует.

Рис. 1. Внешний вид панели ИМПОРТ модуля JM.


3.1.5.1. Описание полей формы импорта и режимов работы

Чтобы выполнить нужную пакетную операцию с использованием данного модуля необходимо заполнить форму на панели ИМПОРТ. Обязательным является только поле файл или список, значения остальных полей не обязательны.

Значения полей выделенных [квадратными скобками] могут содержаться в операционном файле и отличаться для разных строк файла.

[Куда загружать] - id объекта, дочерними которого становятся загружаемые объекты (если в загружаемом операционном файле есть столбец parent_id и в строках данных указаны соответствующие значения, то данное поле игнорируется).

Файл - операционный файл для ввода или редактирования информации (текстовый файл или архив RAR/ZIP, содержащий операционный файл с именем list.txt).

[Владелец сообщений] (user_id) – id пользователя: кто будет владельцем загружаемых объектов. Если параметр не установлен, то владельцем будет тот, кто загружает.

[Группа пользователей] (group_id) - группа для загружаемых объектов (id группы пользователей). Если параметр не установлен, группа будет такая же, как у родительских объектов.

[Права сообщений] (rg,wg,xg,ro,wo,xo) - задает права загружаемых объектов.

Параметры для заголовка - список параметров, из которых будет создаваться заголовок, если отсутствует столбец mess_header. Если данное поле не заполнено и отсутствует mess_header, то заголовок формируется из номера строки операционного файла.

Образец дочерних - загружаемые объекты формируются из этого объекта, с приоритетным добавлением параметров и атрибутов из загружаемого файла. Например, если загрузчику установить образец дочерних "блок" и произвести импорт, то у созданных сообщений будут установлены параметры сообщения-образца "блок" вне зависимости от того, будут ли указаны такие параметры в операционном файле (если будут, то их значения для вводимых объектов будут такие, какие указаны в операционном файле).

Управление - шаблон заголовка при загрузке архива RAR/ZIP с отсутствующим файлом list.txt (перечень полей в автогенерируемом list.txt).

Данные - шаблон строки данных при загрузке архива RAR/ZIP с отсутствующим файлом list.txt (шаблон для автогенерации list.txt).

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

Импорт (объект | параметры ) - режим работы импорта - загрузка объектов или параметров и их групп.

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

Будьте внимательны при использовании данного модуля! Результаты операции пакетного редактирования не обратимы.

Допустимы следующие способы импорта объектов:

  1. Используется поле "Файл": загружается текстовый операционный файл (list.txt)

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

  1. Используется поле "Список"

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

Пример.

Задача: создать пять новых разделов внутри каталога с id 12345.

Вместо того, чтобы создавать объекты руками – используем импорт. В поле "список" достаточно вставить один столбец с заголовками, если нужны другие параметры (с общими для всех новых объектов значениями) выбираем при импорте нужный образец или устанавливаем образец для раздела в которой производится импорт (с помощью параметра "образец дочерних" из группы "МЕНЕДЖЕР").

Куда загружать: 12345

Список:
mess_header
Первый раздел
Второй раздел
Третий раздел
Четвертый раздел
Последний раздел

  1. Используется поле "Файл": ZIP/RAR c list.txt внутри

В поле файл загружен архив ZIP/RAR. В этом случае загружаемый архив обязательно должен содержать операционный файл, названный list.txt. Формат list.txt аналогичен варианту (А): но при этом можно также работать и со значениями параметров типа file и image. В качестве значения такого параметра в list.txt необходимо просто указать имя загружаемого файла с расширением.

Например:

mess_header;

icon;

mess_content_file;

mess_content_doc

Заголовок 1;

foto1.jpg;

1.html;

 

Заголовок 2;

foto2.gif;

;

1.doc

Из файлов, указанных в столбце mess_content_file будет извлечено содержимое без каких-либо изменений - только для текстовых и html файлов; файлы, указанные в mess_content_doc - будут пропущены через конвертор (допустимые форматы файлоы: doc, rtf, xls) перед вставкой текста на сайт.

И сам файл list.txt, и все упомянутые в нем файлы, должны находиться в загружаемом архиве. В именах файлов, находящихся в архиве, русские буквы следует использовать с особой осторожностью: обязательно сначала нужно произвести импорт в режиме "Тест" и убедиться что русские имена корректно отображаются, а ошибки при импорте отсутствуют. Возможность, либо невозможность использования русских букв в именах файлах целиком зависит от настроек сервера. Если имеются проблемы, и при тестировании вы видите русские буквы в неправильной кодировке, попробуйте другой формат архива, например RAR вместо ZIP и наоборот.

  1. Используется поле "Файл": ZIP/RAR без list.txt (фотогалереи)

Существует упрощенный режим импорта объектов, предназначенный для наиболее распространенной операции – загрузки фотографий на сайт. Данный режим "включается" в случае, если в загруженном архиве нет операционного файла, а поля "список", "управление" и "данные" (см. ниже) пустые.

Все что нужно сделать чтобы загрузить на сайт фотографии (или иную графику) – запаковать в zip или rar архив графические файлы (gif / jpg / png), затем отправить такой архив в модуль импорта.

В этом случае:

  • обязательно нужно заполнить поле "куда загружать" (указать id галереи);
  • создастся столько объектов, сколько графических файлов будет в архиве;
  • картинки будут загружены в параметр "графика", если нужно загружать их в другой параметр – используйте автогенерацию операционного файла (см. ниже);
  • если в самой галерее нет параметра "образец дочерних", а в каждой фотографии требуются какие-то специальные параметры – нужно выбрать образец с этими специальными параметрами в поле формы импорта "образец дочерних";
  • если нужно автоматически создавать иконки для фотографий – можно это сделать "по требованию" после импорта используя фильтр или же заранее (до импорта) настроить параметр "эффекты иконки".
  1. Используются поля "Управление" / "Данные", "Файл": ZIP/RAR без list.txt (автогенерация операционного файла)

В данном режиме (когда заполнены поля "Управление" и "Данные") операционный файл создается "на лету" при переборе файлов, содержащихся в архиве. Если в архиве содержится также list.txt, то в качестве операционного файла будет использован он.

Данный режим позволяет быстро решать самые разнообразные типовые задачи. Он аналогичен предыдущему, однако позволяет задать собственную логику обработки файлов в архиве, например, объединять по 2 графических файла в один объект, загружать файлы в произвольный параметр, обрабатывать текстовые (txt, doc, xsl) файлы и т.д.

Особенно удобно пользоваться этим режимом при настройке модуля импорта в отдельно стоящем объекте. В этом случае можно ввести настройки "данные"/"управление" для конкретной задачи в параметр объекта "настройки менеджера", а ряд данных, используемых в операционном файле, запрашивать через интерактивную форму.

В поле "Управление" нужно указать первую строку операционного файла (см. формат операционного файла)

В поле "Данные" нужно записать специально составленный шаблон для конкретной операции.
Операционный файл будет составлен в процессе перебора файлов внутри полученного архива.

В шаблоне допустимо использовать следующие обозначения:
$PARAMS [file] – полное имя текущего файла обработанное (в формате файловой системы – кириллица предобазована в трнаслит, нет заглавных букв)
$PARAMS [filename] – имя текущего файла без расширения, обработанное
$PARAMS [fileext] – расширение текущего файла
$PARAMS [fileorig] – оригинальное имя файла текущего без расширения (предусмотрена поддержка кириллицы, заглавных и сточный букв, пробелов)
NB: после $PARAMS, перед квадратными скобками (здесь и далее по тексту) нет пробела.

Если используется вариант отдельно стоящего импорта (не интегрированного в JM) c интерактивной формой, то можно использовать конструкции вида $_REQUEST[p__имя_параметра].

Пример 1:

Управление: mess_header;icon;view_icon_photo;mess_content
Данные: $PARAMS [fileorig];$PARAMS [file];$PARAMS [filename]_ico.$PARAMS [fileext];< p >Текст под фото.< br > © 2008 Имя автора< /p >

В данном случае, в загружаемом архиве должны быть фотографии и вручную изготовленные иконки к ним. Если фотографий называются "abc.jpg", "zxc.gif", то иконки к ним должны называться "abc_ico.jpg", "zxc_ico.gif". Это определено строкой $PARAMS [filename]_ico.$PARAMS [fileext] (имя иконки такое же как у оригинального файла – $PARAMS [filename]) с окончанием "_ico" и расширение такое же как у оригинального файла).

Заголовком объекта стане оригинальное имя файла.

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

Пример 2:

Тоже, что и в примере 1, однако с получением данных через интерактивную форму (для отдельно стоящего импорта):

import_ctrl=mess_header;icon;view_icon_photo;art_author;art_keywords;mess_content
import_data=$PARAMS [fileorig] - $_REQUEST[p__uni_topic_ic];$PARAMS [file];$PARAMS [filename]_ico.$PARAMS [fileext];$_REQUEST[p__art_author];$_REQUEST[p__art_keywords]; © 2008 "$_REQUEST[p__site_copyright]".

Значения параметров uni_topic_ic (тема фотогалереи), art_keywords (ключевые слова), art_author (автор) и site_copyright (авторские права) одинаковы для всех загружаемых в данный момент объектов и передаются вместе с архивом через интерактивную форму.

Пример 3:

Управление: id;icon;
Данные: $PARAMS [filename]; $PARAMS [file]

Загрузка графики происходит в уже существующий объект, id которого строго совпадает с именем файла без расширения, при условии существования такого объекта.

В остальном, данный способ импорта работает аналогично предыдущим.


3.1.5.2. Формат операционного файла

Первая строка операционного файла представляет собой описание структуры загружаемых данных, все последующие строки - сами данные для загрузки (одна строка - один объект):

ИМЯ_ПОЛЯ_1 РАЗДЕЛИТЕЛЬ ИМЯ_ПОЛЯ_2 РАЗДЕЛИТЕЛЬ ... ИМЯ_ПОЛЯ_N
ПОЛЕ_1 РАЗДЕЛИТЕЛЬ ПОЛЕ_2 РАЗДЕЛИТЕЛЬ ... ПОЛЕ_N
...
ПОЛЕ_1 РАЗДЕЛИТЕЛЬ ПОЛЕ_2 РАЗДЕЛИТЕЛЬ ... ПОЛЕ_N

Разделителем может являться символ табуляции или символ ";" (точка с запятой). Используемый в файле символ - разделитель полей при загрузке определяется автоматически.

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

значение предыдущего поля;"аннотация; аннотация";значение следующего поля

В противном случае, такая строка обработана не будет.

Разделитель полей должен быть одним и тем же во всем операционном файле.

ВАЖНО: каждый объект внутри файла должен занимать строго одну строку. Символы переноса строки недопустимы! Если необходимо ввести данные, содержащие симполы переноса строк, необходимо использовать последоватьельность "\n" (без кавычек) для обозначения новой строки.
Пример

значение предыдущего поля;"аннотация\nаннотация";значение следующего поля

Пример операционного файла:

mess_header;mess_short;art_is
новость 1;это аннотация первой новости;1
новость 2;аннотация второй новости здесь;1
статья;;0

Пример операционного файла для варианта (Б):

mess_header;mess_short;mess_content_file;icon;need_comments
привет 1;аннотация 1;test.doc;01.gif;1
привет 2;аннотация 2;info.html;02.gif;0
привет 3;аннотация 3;info.html;pic.jpg;NaN

Замечания: если у текстового параметра не должно быть значения, следует пропустить этот столбец, оставив два разделителя полей подряд, если какой-либо параметр не должен добавляться к объекту, то в данной столбце соответствующей строки необходимо ввести ключевое слово NaN.

Именами полей могут быть имена параметров любого типа, а также атрибуты (mess_header, mess_short, p_date, p_time...). Именем поля также может являться вспомогательный виртуальный параметр virt_id – поле текстового типа с произвольной нумерацией. Значения virt_id обрабатываются только в процессе загрузки операционного файла и используются для создания с помощью импорта нелинейных структур объектов в дереве сайте.

Чтобы посмотреть полный список атрибутов кликните один раз по имени любого объекта в JM (если JM работает в текстовом режиме - выберите пункт свойства из контекстного меню объекта).

Если в операционном файле присутствует столбец с именем поля id и в соответствующем поле какой-либо строки указано число, то данные в этой строке будут использованы не для создания нового объекта, а для правки существующего - того, id которого указан.

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

Если в одной и той же строке операционного файла указаны одновременно поля id и parent_id, приоритетным является поле id, т.е. в этом случае значение parent_id будет проигнорировано, и будет осуществлена правка указанного в id объекта, вне зависимости от того, совпадает его parent_id с указанным или нет.

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

В этом случае для операционного файла предусмотрено вспомогательное поле virt_id. В этом поле вводятся произвольные числовые значения, которые будут являться вспомогательными идентификаторами строк. Значения, указанные в поле (столбце) virt_id можно использовать в поле parent_id для других строк того же операционного файла.

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

Порядок столбцов в операционном файле значения не имеет.

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

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


3.1.6. Текстовый редактор JEditor

Визуальный HTML-редактор JEditor (далее редактор) предназначен для оформления основного текста объекта (контента) в режиме WYSIWYG (принцип - "что вы видите, то и получаете"). С помощью него можно легко публиковать и изменять сложные документы с разнообразным оформлением текста, с иллюстрациями, диаграммами, таблицами и т.п. Интерфейс редактора максимально приближен к возможностям программы MS Word. Редактор позволяет также корректировать контент в исходных HTML-кодах (рис. 9).

Запуск редактора происходит по ссылке edit, расположенной слева от основного окна ввода текста в режиме редактирования объекта. Внешний вид редактора представлен на рис. 1.

Рис. 1. Внешний вид редактора JEditor


3.1.6.1. Основные возможности редактора

Редактор JEditor предоставляет следующие основные возможности:

  • Разнообразное шрифтовое оформление текста (применение стилей, шрифтов, размеров, различных выделений).
  • Работа с цветом текста и фона.
  • Оформление абзацев текста (применение стилей, выравнивание, различные списки, отступы).
  • Установка и редактирование ссылок и якорей, в том числе и графических.
  • Загрузка на сервер и вставка в документ графических элементов.
  • Вставка и редактирование таблиц, в том числе и вложенных.
  • Вставка различных спецсимволов и отбивок.
  • Работа с буфером MS Windows (копирование, вставка текста, вставка с полным или оптимизированным оформлением).
  • Поиск и замена текста по всему контенту.
  • Предварительный просмотр страницы на экране броузера.
  • Работа с шаблонами (для создания новых документов).
  • Редактирование текста в исходных HTML-кодах.

3.1.6.2. Элементы панели управления

На панели управления расположены пиктограммы основных операций и выпадающие меню для оформления текста определенным стилем, форматом, шрифтом и размером (рис. 2). Список стилей и их оформление соответствует CSS-классам данного сайта, заданным в файловом параметре "CSS-стиль" в корне сайта.

Рис. 2. Меню для оформления текста стилями и различными шрифтами.

Правый щелчок мыши в любом месте поля редактора вызывает появление соответствующего контекстного меню (рис. 3). Список пунктов меню зависит от положения курсора в тексте.

Рис. 3. Контекстное меню редактора.

Пиктограммы панели управления в режиме WYSIWYG:

Переключение режимов работы Источник-WYSIWYG

Вырезание выделенного текста в буфер MS Windows

Сохранение текста и возврат в Джей-менеджер

Копирование выделенного текста в буфер MS Windows

Очистка всего текста и создание новой страницы

Вставка текста из буфера MS Windows

Очистка всего текста и создание страницы по шаблону

Вставка текста из буфера без оформления

Предварительный просмотр текста в отдельном окне

Вставка текста с оптимизированным оформлением

Печать текста на принтере

Отмена последней операции

 

 

Восстановление последней отмененной операции

Поиск текста в окне редактора (рис. 4)

Выделение всего текста

Поиск и замена текста в окне редактора (рис. 4)

Очистка форматирования выделенного текста

Оформление текста жирным

Оформление нумерованного списка

Оформление текста курсивом

Оформление ненумерованного списка

Оформление подчеркнутого текста

Уменьшение отступа и вложенные списки

Оформление перечеркнутого текста

Увеличение отступа и вложенные списки

Оформление нижнего индекса

Оформление выравнивания влево

Оформление верхнего индекса

Оформление выравнивания по центру

Вставка и редактирование ссылки (рис. 5)

Оформление выравнивания вправо

Удаление ссылки

Оформление выравнивания по ширине

Вставка и редактирование якоря (рис. 5)

 

 

Вставка и редактирование изображения (рис. 6)

 

 

Вставка и редактирование таблицы (рис. 7)

 

 

Вставка горизонтальной линии

Задание цвета текста (рис. 8)

Вставка специального символа (рис. 8)

Задание цвета фона (рис. 8)

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


3.1.6.3. Поиск и замена текста

Диалоговые окна редактора для поиска и замены текста в окне:

Рис. 4. Поиск и замена текста в окне редактора.


3.1.6.4. Редактирование ссылок и якорей

Ссылкой может служить любой выделенный текст или изображение, загруженное на сервер (см. ниже).

    

Рис. 5. Диалоговое окно для вставки и редактирования ссылки

Для ссылки можно задать ее тип (URL, якорь, почта) и протокол (http://, ftp://, news:// и др.). В закладке Цель и Расширенный можно указать тип окна и фрейма, а также CSS-классы и стили ссылки.

Рис. 6. Диалоговое окно для вставки и редактирования якоря


3.1.6.5. Работа с изображениями и файлами

Диалоговое окно для вставки изображения и редактирования его свойств:

 

Рис. 7. Диалоговое окно для редактирования свойств изображения.

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

Рис. 8. Диалоговое окно для загрузки файлов на сервер.

В окне отображается список всех файлов данного объекта с указанием их имен и размеров. Для графических изображений показываются уменьшенные копии со ссылкой на просмотр полного изображения и размер в пикселях. Ссылка del позволяет удалить лишние файлы с сервера. Поле Обзор… (Browse…) дает возможность загрузить требуемые файлы на сервер с локального компьютера. Для вставки файла (т.е. соответствующего HTML-кода) в текст, необходимо нажать на ссылку с именем нужного файла.


3.1.6.6. Работа с таблицами

Редактор позволяет вставлять в текст сложные таблицы (в том числе и вложенные) и редактировать их свойства. Для таблиц допустимы следующие операции: вставка и удаление строки, вставка и удаление колонки, вставка и удаление ячейки, соединение и разбиение ячеек.

Для редактирования свойств таблицы и ее ячеек необходимо использовать контекстное меню (рис. 3).

Рис. 9. Диалоговое окно для вставки и редактирования таблицы.


3.1.6.7. Дополнительные возможности

Рис. 10. Диалоговое окно для вставки в текст специальных символов.

Рис. 11. Диалоговое окна для выбора цвета текста/ фона.


3.1.6.8. Работа в режиме Источник

При переключении в режим Источник редактор позволяет изменять текст непосредственно в HTML-кодах.

Рис. 12. Внешний вид редактора в режиме работы Источник.

После переключения режимов редактор проверяет корректность HTML-кода и исправляет его при необходимости.

Внимание! Для записи введенного текста, после нажатия пиктограммы  и возврата в JM, необходимо нажать кнопку ввести на панели УПРАВЛЕНИЕ JM.


3.1.7. Графический редактор Resizer

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

Редактор работает в двух режимах: изменения (редактирования) текущего изображения (параметра) и создание иконки (view_icon_photo) для параметра "графика" (icon). Запуск редактора производится с контрольной панели JM или из режимов редактирования и просмотра свойств объекта (ссылки изменить и иконка слева от соответствующего изображения).

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

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

Поле оригинал задает масштаб просмотра редактируемого изображения. Справа от него показывается ширина и высота оригинального изображения в пикселях.

В полях обрезка отображаются размеры выделенной зоны обрезки в пикселях и масштаб зоны по отношению к результирующему файлу. Если числа в данных полях отображаются красным цветом, то это означает, что результирующее изображение больше оригинала, т.е. это приведет к ухудшению качества изображения. Максимальное качество изображения будет достигнуто, если масштаб обрезки равен 100%. Поля начало показывают координаты левого верхнего угла зоны обрезки относительно оригинала.

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

Возможные выходные форматы изображения: формат оригинала, GIF, JPG, PNG

Возможные эффекты:

Водяной знак. Добавляет поверх изображения значение текущего параметра "водяной знак" (view_watermark). В поле прозрачность можно указать процент прозрачности знака (по умолчанию - 30%). В полях x и y можно задать координаты левого верхнего угла знака (по умолчанию знак располагается в правом нижнем углу изображения).

Бордюр. Добавляет рамку вокруг изображения. В поле цвет можно задать цвет рамки в шестнадцатеричном формате от 000000 до FFFFFF (по умолчанию - серая рамка 333333). В поле x задается толщина рамки в пикселях (по умолчанию - 1 пиксель).

Текст. Добавляет произвольный текст поверх изображения. В поле цвет задается цвет текста в шестнадцатеричном формате от 000000 до FFFFFF (по умолчанию - белый FFFFFF). В поле прозрачность можно указать процент прозрачности текста (по умолчанию - 50%). В полях x и y можно задать координаты левого верхнего угла текста (по умолчанию текст располагается в правом нижнем углу изображения). В поле текст вводится требуемый текст (по умолчанию - текущее значение параметра "копирайт" site_copyright). В следующем поле указывается число от 1 до 7, задающее шрифт для текста. Шрифты с 1 по 5 содержат только латинские буквы. Шрифт 6 (fixedsys) и  7 (courier) имеют полный набор знаков (по умолчанию - шрифт 6 fixedsys).

Поворот. Осуществляет поворот изображения на заданный угол. В поле x задается величина поворота в градусах против часовой стрелки (по умолчанию - 90 градусов). В поле цвет можно задать цвет свободного фона изображения в шестнадцатеричном формате от 000000 до FFFFFF (по умолчанию - белый FFFFFF).

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

Действия при нажатии на кнопку применить аналогичны предыдущим, но при этом процесс редактирования не завершается. Это дает возможность за один сеанс редактирования применить несколько эффектов.

Кнопка восстановить заменяет редактируемый файл на предыдущую сохраненную архивную копию. Внимание! Сохраняется только одна (последняя) копия изображения. Все более ранние файлы удаляются!

Кнопка сбросить восстанавливает начальные значения в полях форм на контрольной панели и размер области обрезки.


3.1.7.1. Режим редактирования изображения

Если текущий объект содержит какие-либо графические параметры (графика, иконка и др.), то Вы можете воспользоваться встроенным графическим редактором для модификации этих изображений Для редактирования основной графики объекта (параметр "графика") можно воспользоваться пунктом "графика" контекстного меню или пунктом img контрольной панели. Для модификации других графических параметров необходимо войти в режим редактирования или просмотра свойств объекта и нажать на ссылку изменить слева от соответствующего изображения нужного параметра.

Рис. 1. Работа в режиме изменения (редактирования) текущего изображения.

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

Рис. 2. Применение одновременно нескольких эффектов при редактировании.

Для завершения работы редактора с сохранением полученного изображения, нужно нажать кнопку ввести. Если Вы хотите задать несколько эффектов одновременно, например добавить рамку и водяной знак, то после задания каждого эффекта необходимо нажимать кнопку применить, а затем закрыть окно редактора (рис. 2).


3.1.7.2. Режим создания иконки

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

При запуске редактора в данном режиме справа от оригинала будет отображаться результирующий файл (иконка) в реальном масштабе. Под ней показывается предыдущая архивная копия, если она была создана. Стартовые значения выходных размеров и зоны обрезки в этом режиме соответствуют текущим значениям параметров "max ширина автоиконки" (view_make_icon_x) и "max высота автоиконки". Начальное расположение зоны обрезки - в левом верхнем углу оригинала.

Рис. 1. Работа графического редактора в режиме создания иконки.

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

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

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

Рис. 2. Запуск редактора из режима просмотра свойств объекта.

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


3.1.8. Настройки

Внешний вид модуля JM и режимы его работы задаются тремя типами настроек:


3.1.8.1. Опции контрольной панели

Опции контрольной панели (в правой части рис. 1 и 2) управляют некоторыми текущими настройками интерфейса модуля JM.

Рис. 1. Контрольная панель JM для текущего объекта (текстовый режим панели)

Рис. 2. Контрольная панель JM для текущего объекта (графический режим панели)

Опция hidden (скрытно) () задает значение атрибута "права на чтение для остальных" при вводе нового объекта и копировании. Если данная опция включена, то новые объекты будут добавляться в дереве сайта "скрытно", т.е с отключенным правом на чтение. Стартовое значение данной опции задается настройкой JM nohidden=.

Опция text (текст) () переключает текстовый и основной режимы работы модуля JM. В текстовом режиме отключены графические изображения пиктограмм в дереве сайта для ускорения работы JM при низкоскоростном соединении. Стартовое значение данной опции задается настройкой JM text=.

Поле ввода высота (левое) устанавливает или отменяет режим работы модуля JM с фиксированной высотой. Число, введенное в данном поле задает высоту панелей JM в пикселях (рис. 2). При этом, для каждой панели JM отображаются независимые полосы прокрутки. Введенное значение 0 отменяет данный режим работы и отключает полосы прокрутки. Нажатие правой клавиши в данном поле производит переключение между двумя режимами работы. Стартовое значение данной опции задается настройками JM height_start= и height=.

Поле ввода ширина (правое) задает ширину левой панели в процентах к общей ширине модуля JM (рис. 2). Нажатие правой клавиши в данном поле восстанавливает начальное значение. Стартовое значение данной опции задается настройкой JM width=.

Рис. 3. Внешний вид модуля JM с фиксированной высотой.

Все стартовые значения опций контрольной панели можно задать в конфигурации JM параметром "настройки менеджера" (См. ниже).


3.1.8.2. Параметры объекта JM

Все основные настройки модуля Джей-менеджер задаются параметрами самого объекта JM (id=7).

Параметр "настройки менеджера" представляет собой текстовое поле, каждая строка которого задает одну опцию и имеет следующий синтаксис:

ОПЦИЯ1=ЗНАЧЕНИЕ1
ОПЦИЯ2=ЗНАЧЕНИЕ2

Возможны следующие опции и их значения:

Опция

Умолчание

Описание

rootid=ЧИСЛО

1

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

rootid=SQL

нет

Задает SQL-выражение для указания нескольких корней дерева сайта. Альтернатива предыдущей опции.

filter=SQL

нет

Задает SQL-выражение для указания фильтра объектов, показываемых в дереве сайта. Т.е. все объекты которые может видеть администратор в дереве сайта должны удовлетворять заданному условию.

text=0/1

0

Устанавливает при старте текстовый режим работы модуля (по умолч. - графический). Опция контрольной панели  - text.

simple=0/1

0

Устанавливает упрощенный режим работы JM. Аналог: nocontentext noparamsadd nouser nogroup norights nofilter noimport noadd noadmin.

width=ЧИСЛО

50

Задает ширину левой панели в процентах к общей ширине модуля JM. Можно изменить в правом поле на контрольной панели иодуля.

height=ЧИСЛО

500

Задает высоту окна JM в режиме работы с фиксированной высотой. Можно изменить в поле на контрольной панели иодуля.

height_start=0/1

0

Устанавливает режим работы с фиксированной высотой.

nohidden=0/1

0

Выключает при старте модуля опцию контрольной панели hidden.

nologin=0/1

0

Задает режим просмотра объекта по умолчанию с анонимными правами.

template=ШАБЛОН

main_content

Задает имя шаблона для просмотра объекта по умолчанию.

open=СПИСОК

1,100

Задает список раскрытых объектов в дереве сайта при старте модуля.

max_childs=ЧИСЛО

100

Задает максимальное число дочерних на одной странице при просмотре ветви.

flimit=ЧИСЛО

99

Задает лимит (максимальное число дочерних) в выборке ФИЛЬТРА по умолчанию.

icon_x=ЧИСЛО

100

Задает максимальную ширину при показе графических параметров в ФИЛЬТРЕ.

icon_y=ЧИСЛО

100

Задает максимальную высоту при показе графических параметров в ФИЛЬТРЕ и редактировании объекта.

textareas_h=ЧИСЛО

50

Задает высоту в пикселях текстового поля "аннотация" при редактировании объекта.

textareac_h=ЧИСЛО

100

Задает высоту в пикселях поля "текст" (контент) при редактировании объекта.

textareap_h=ЧИСЛО

50

Задает высоту в пикселях остальных текстовых полей при редактировании параметров объекта.

confirm=0/1

0

Задает режим подтверждения операции удаления параметров редактируемого объекта.

keyleft=info / view / edit / menu / none

info

Задает действие с объектом по левому щелчку мыши на папке или заголовке (свойства, просмотр, редактирование, контекстное меню или ничего).

afterapply=edit / info / view / none

edit

Задает действие с объектом после его ввода при нажатии клавиши "применить" (повторное редактирование, вывод свойств, просмотр объекта или ничего).

user_filter=SQL

нет

Задает фильтр для списка владельцев при редактировании объекта.

group_filter=SQL

нет

Задает фильтр для списка групп при редактировании объекта.

noimg=0/1

0

Выключает отображение графики при работе модуля.

nodate=0/1

0

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

noshort=0/1

0

Отключает возможность редактирования аннотации объекта.

nocontent=0/1

0

Отключает возможность редактирования контента (основного текста) объекта.

nocontentext=0/1

0

Отключает возможность расширенного редактирования контента (JEditor и т.п.).

nodoc=0/1

0

Отключает возможность загрузки документа (doc) в качестве контента.

nohtml=0/1

0

Отключает возможность ввода HTML-тегов в заголовке, аннотации, тексте и любых параметрах.

noparams=0/1

0

Отключает возможность редактирования параметров объекта.

noparamsadd=0/1

0

Отключает возможность добавления параметров при редактировании объекта.

nogroup=0/1

0

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

norights=0/1

0

Отключает возможность редактирования прав на объект.

nofilter=0/1

0

Отключает показ панели ФИЛЬТР при работе модуля.

noimport=0/1

0

Отключает показ панели ИМПОРТ при работе модуля.

nojparams=0/1

0

Отключает показ панели ПАРАМЕТРЫ при работе модуля.

noadd=0/1

0

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

noadddef=0/1

0

Отключает возможность добавления любых объектов.

noadmin=0/1

0

Отключает показ подменю "администратор".

ctrl_text=0/1

1

Задает текстовый или графический режим работы контрольной панели.

ctrl_lang=ru / en / de

en

Задает язык пунктов меню контрольной панели в текстовом режиме.

piconsize=16/32

16

Задает размер пиктрограмм контрольной панели в пикселах.

iconsize=16/32

16

Задает размер пиктрограмм дерева в пикселах.

iconsown[16]=ЧИСЛО
iconsown[32]=ЧИСЛО

18
22

Задает идентификаторы объектов с собственными графическими ресурсами для соответствующего набора пиктрограмм.

fontsize=12/14

12

Задает размер системного шрифта в пикселах для работы модуля.

days_log=ЧИСЛО

365

Задает число дней для показа логов объекта.

days_stat=ЧИСЛО

30

Задает число дней для показа статистики объекта.

paramsedit=СПИСОК

нет

Задает список параметров (или групп параметров) допустимых для редактирования.

addfields[]=СТРОКА1
addfields[]=СТРОКА2

p_date,60,art_is=1
block_pos,80,block_is=1

Задает список дополнительных параметров для показа в дереве сайта. Форматы:
ПАРАМЕТР, ШИРИНА, ПРОВЕРКА УСЛОВИЕ ЧИСЛО
ПАРАМЕТР, ШИРИНА, КЛЮЧ
id,  КЛАСС, ПРОВЕРКА УСЛОВИЕ ЧИСЛО
id,  КЛАСС, КЛЮЧ

ПАРАМЕТР - имя параметра (атрибута) для показа в строке
ПРОВЕРКА - имя параметра (атрибута) для выполнения проверки
УСЛОВИЕ - один символ (= ! < >) - равно, не равно, меньше, больше
ЧИСЛО - число для выполнения проверки
КЛЮЧ - параметр для функции cond_check класса jmanager_local (sitemap_local)
КЛАСС - css-класс для выделения строки объекта в дереве
ШИРИНА - ширина поля для показа значения параметра в пикселах

Параметр будет показываться в строке объекта справа от заголовка (в поле заданной ширины), если для объекта выполняется заданное условие проверки. Если в качестве параметра указан id, то при выполнении условия вся строка будет выделена заданным css-классом

Примеры:

addfields[]=block_pos,80,block_is=1

В строке объекта с установленным параметром block_is (checkbox) будет отведено 80 пикселов для показа значения параметра block_pos.

addfields[]=p_date,60,art_type=140

В строке объекта с параметром art_type равным 140 будет отведено 60 пикселов для показа даты публикации объекта (дня).

addfields[]=prod_price,100,prod_price!''

В строках объектов с установленным и непустым параметром prod_price будет показываться значение этого параметра.

addfields[]=id,tuser1,group_id=4

Строки объектов, принадлежащих группе 4 будут выделены css-классом tuser1

addfields[]=id,tuser2,user_id>10

Строки объектов, принадлежащих пользователям с идентификаторами больше 10 будут выделены css-классом tuser2

addfields[]=p_date,60,check2

В строке объектов для которых выполняется условие с ключом check2 будет указано значение, возвращаемое функцией cond_check класса jmanager_local. Примечание. Требуется наличие данной функции и класса в главном модуле проекта index.phtml.

qsql[]=SQL1
qsql[]=SQL2

block_is

Задает список "любимых" sql-запросов для выборок в панели ФИЛЬТР. Данный список выдается при нажатии на клавишу "history" в панели ФИЛЬТР.

import_ctrls[]=СТРОКА1
import_ctrls[]=СТРОКА2

нет

Задает список "любимых" строк управления (шаблонов заголовка) для панели ИМПОРТ. Данный список выдается при нажатии на клавишу "history" в панели ИМПОРТ. Формат строк см. в "Описание полей импорта".

import_datas[]=СТРОКА1
import_datas[]=СТРОКА2

нет

Задает список "любимых" строк данных (шаблонов данных) для панели ИМПОРТ. Данный список выдается при нажатии на клавишу "history" в панели ИМПОРТ. Формат строк см. в "Описание полей импорта".

manager_example=SQL

нет

Задает SQL-выражение для задания списка "образцов дочерних" для отдельных администраторов. Задается только в параметре пользователя user_jmanager_conf

manager_example_def=ЧИСЛО

нет

Задает "образец по умолчанию" для отдельных администраторов. Задается только в параметре пользователя user_jmanager_conf

Для отдельных администраторов с ограниченными правами параметр "настройки менеджера" может быть переопределен с помощью аналогичного парамера из группы "ПОЛЬЗОВАТЕЛЬ СЛУЖЕБНЫЕ" (user_jmanager_conf). Задать значение этого параметра можно с помощью модуля "Пользователи" (users).

Возможные опции и их значения аналогичны перечисленным выше. Те опции, которые не указаны для конкретного администратора берутся из общих настроек модуля или устанавливаются по умолчанию (если они нигде на заданы).

К настройками JM можно отнести еще ряд параметров, влияющих на его интерфейс и функциональность. Среди них:

Параметр "образец дочерних" задает SQL-условие для формирования списка объектов, которые будут служить образцами (прототипами) для ввода всех новых объектов на сайте. По умолчанию SQL-условие имеет значение parent_id=95, т.е. образцами служат все объекты у которых идентификатор родителя равен 95 (ветвь спецрубрики/database/образцы). К списку, формируемым заданным условием, первым (верхним) пунктом всегда добавляется "пустой" образец, т.е. объект без каких-либо параметров.

Если заданное условие формирует список объектов из разных ветвей сайта, то контекстное меню для добавления объектов в JM автоматически становится двухуровневым (рис. 3).

Рис. 3. Двухуровневое контекстное меню для добавления дочерних объектов

Для отдельных администраторов с ограниченными правами параметр "образец дочерних" может быть переопределен с помощью параметра "настройки менеджера" из группы "ПОЛЬЗОВАТЕЛЬ СЛУЖЕБНЫЕ" (опция manager_example). Т.е. у каждого администратора может быть свой набор образцов для ввода.

Параметр "сортировка дочерних" задает список всех возможных сортировок для ветвей сайта. Каждая строка списка может иметь следующий формат:

АТРИБУТ=ТЕКСТ - сортировка по указанному атрибуту в порядке возрастания его значения.
АТРИБУТ desc=ТЕКСТ - сортировка по указанному атрибуту в порядке убывания его значения.
ПАРАМЕТР=ТЕКСТ - сортировка по указанному параметру в порядке возрастания его значения
ПАРАМЕТР desc=ТЕКСТ - сортировка по указанному параметру в порядке убывания его значения

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

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

treegraph_icons16.html=16x16
treegraph_icons32.html=32x32

В системе TreeGraph созданы несколько стандартных наборов пиктограмм различных размеров (рис. 4).

http://адрес_сайта/comm/images/treegraph_icons16.html (16х16)

http://адрес_сайта/comm/images/treegraph_icons32.html (32х32)

Рис. 4. Стандартные наборы пиктограмм для административных модулей и шаблонов сайта.

Рис. 5. Стандартный набор "смайликов" и пиктограмм BB-тегов для модуля Форум

Данный параметр устанавливается, как правило, в корневом объекте сайта (id=1).

Параметр "графические ресурсы" задает идентификатор (или список) объекта, с котором заданы дополнительные пиктограммы или другие графические изображения, использующиеся в административных модулях или шаблонах (стилях) сайта. Контент (основной текст) данного объекта аналогичен формату файлов treegraph_iconsXX.html и состоит из HTML-строк с описанием графических изображений (пиктограмм):

< img src="ИМЯ_ФАЙЛА1" lowsrc="ИМЯ_ФАЙЛА2" ПРИВЯЗКА="ЗНАЧЕНИЕ" alt="" width="ЧИСЛО" height=" ЧИСЛО" border="0">

ИМЯ_ФАЙЛА1 - Имя файла для основного изображения пиктограммы объекта.
ИМЯ_ФАЙЛА2 - Имя файла для изображения пиктограммы "текущего" объекта (можно не задавать).
ПРИВЯЗКА="ЗНАЧЕНИЕ" - Задает способ привязки пиктограммы к объектам дерева сайта.

Все пиктограммы "привязываются" к определенному параметру (свойству) объекта с помощью HTML-атрибута ПРИВЯЗКА="ЗНАЧЕНИЕ", который может иметь следующий формат:

Тип привязки

Описание

id="ЧИСЛО"

Данная пиктограмма будет отображаться в дереве сайта для объекта с указанным идентификатором.

parent_id="ЧИСЛО"

Данная пиктограмма будет отображаться для дочерних объектов указанного.

parents="СПИСОК"

Данная пиктограмма будет отображаться для всех объектов указанной ветви.

handler="СТРОКА"

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

param="ИМЯ" value="ЗНАЧЕНИЕ"

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

param="ИМЯ" value="*"

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

param="ИМЯ"

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

parambg="ИМЯ" value="ЗНАЧЕНИЕ"

Дополнительная (фоновая) пиктограмма для объектов с установленным указанным параметром. Обработка значения value аналогична описанной выше.

file="РАСШИРЕНИЕ"

Данная пиктограмма будет отображаться для объектов с установленным параметром "внешний файл" и загруженным файлом с указанным расширением.

action="СТРОКА"

Задание вспомогательных пиктограмм для использования в различных шаблонах (стилях).

smile="ИМЯ" alt="КОД"

Пиктограмма для смайликов форума. ИМЯ – уникальное название смайлика (smile, wink, happy и др.), КОД - текст для вставки смайлика ( :) ;) и др.)

Если для объекта выполняется несколько условий привязки, то текущая пиктограмма выбирается в следующем порядке: id, handler, file, param, parambg, parent_id, parents.

Все стандартные и собственные пиктограммы попадают в XML-дерево сайта в секцию icon (подсекция соответствует типу привязки). Для вывода какой-либо пиктограммы в шаблоне можно использовать следующий XSL-тег:

В объекте с ресурсами можно переопределить любую стандартную пиктограмму, задав собственному графическому изображению соответствующую привязку. Если свойства какого-либо объекта удовлетворяют одновременно нескольким условиям привязки, то его пиктограмма будет отображаться исходя из следующего приоритета: id, handler, file, param, parent_id, parents. Секция icon кэшируется, поэтому после добавления или изменения собственных пиктограмм, необходимо сбросить кэш, командой экранного менеджера "clearcahe".

Параметр "графические ресурсы" устанавливается, как правило, в корневом объекте сайта (id=1).


3.1.8.3. Пользовательские настройки JM

В группе "ПОЛЬЗОВАТЕЛЬ СЛУЖЕБНЫЕ" есть параметр "настройки менеджера" (user_jmanager_conf), значения которого влияют на режим работы администраторов в модуле JM. Этот параметр устанавливается с помощью модуля Пользователи главным администратором сайта в профиле остальных администраторов с ограниченными правами. Сами администраторы изменить значения параметров из этой группы не могут.

Параметр "настройки менеджера" представляет собой текстовое поле, каждая строка которого задает одну опцию и имеет следующий синтаксис:

ОПЦИЯ1=ЗНАЧЕНИЕ1
ОПЦИЯ2=ЗНАЧЕНИЕ2

Возможные опции и их значения аналогичны тем, которые описаны в Параметрах объекта JM. Опции manager_example и manager_example_def можно задавать только в параметре пользователя user_jmanager_conf.

Те опции, которые не указаны для конкретного администратора берутся из общих настроек модуля JM (jmanager_conf) или устанавливаются по умолчанию (если они не заданы ни в одном из параметров).


3.2. Джей-параметры

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

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

Войти в модуль JP можно по адресу http://адрес_сайта/4 или через меню администратора по ссылке jparams (после авторизации на сайте).

Внешний вид и интерфейс модуля JP аналогичен модулю Джей-менеждер (рис. 1). В верхней части окна расположена контрольная панель управления и настроек. Остальная часть окна разбита на несколько управляющих и информационных панелей. Каждая панель имеет свой заголовок и для наглядности обведена рамкой. Все панели можно закрывать или открывать щелчком мыши на заголовке панели (или значке +/- перед заголовком).

Рис. 1. Внешний вид модуля JP

В левой части окна расположена основная панель ПАРАМЕТРЫ с группами и параметрами сайта. Справа выводятся различные панели с формами для редактирования, информацией, диагностикой действий администратора.

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

Язык интерфейса JP задается параметром "язык сайта или подраздела". По умолчанию он совпадает с языком, заданным для всего сайта.

В левой части контрольной панели всегда выводится статус (состояние) JP (, ready или busy…) и меню управления текущего (выделенного) параметра (группы) в дереве (рис. 2). В правой части – настройки JP (в упрощенном режиме они отключены). Статус появляется только при старте JP. В этот момент производится начальная загрузка всех требуемых данных и настроек модуля. В состоянии busy… JP обрабатывает очередную команду администратора – передает, получает и отображает различную информацию с сервера. Начинать работу с JP или давать новую команду нужно только после появления статуса ready.

Рис. 2. Контрольная панель JP для текущего параметра (группы)

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

Рис. 3. Строка группы и параметров в дереве

Раскрытие и закрытие ветвей групп параметров производится с помощью пиктограмм  (плюс, минус), расположенных слева от папки группы. Пиктограмма  на контрольной панели раскрывает все группы параметров. Пиктограмма  на контрольной панели закрывает все группы. Во время работы JP "запоминает" состояние дерева и настройки на время сессии броузера, т.е. при повторных обращениях к модулю администратор увидит дерево параметров в том же самом состоянии.

Все административные действия в JP производятся над текущим (выделенным) параметром или группой. Левый щелчок мыши на папке (пиктограмме) или заголовке параметра (группы) в дереве делает его текущим. В этот момент на контрольной панели появляется идентификатор (переменная) параметра и меню управления, сама строка выделяется светло-серым фоном. Правый щелчок мыши на параметре (группе) делает его текущим и одновременно выдает выпадающее контекстное меню (рис. 4).

Рис. 4. Контекстное меню и подменю JP

В контекстном меню указаны все допустимые действия администратора над текущим параметром (просмотр, изменение, удаление и др.). Большинство операций над текущим объектом доступны с помощью так называемых "горячих клавиш". Их комбинации указаны на панели контекстного меню. Все "горячие клавиши" действуют только в том случае, если в дереве есть текущий параметр и в правой части окна JP нет панелей с формами, т.е. "горячие клавиши" отключаются в момент добавления или редактирования параметра (группы). Отдельные пункты меню  имеют выпадающие подменю для выбора типа операции. Некоторые операции выводят дополнительные окна для подтверждения действия администратора или ввода уточняющих значений.


3.2.1. Назначение параметров

Все параметры сайта разбиты на группы по назначению и в модуле Параметры показываются в виде дерева (рис. 1). Любой параметр сайта имеет следующие характеристики:

Характеристика

 

Описание

description

название

Текст с названием параметра, который используется в модуле JM при добавлении параметра к объекту и редактировании его значений. Этот же текст используется при создании ФОРМ с данным параметром, если не заданы дополнительные его характеристики description и description_ЯЗЫК (см. ниже)

name

переменная

Уникальный текстовый идентификатор параметра. При создании нового параметра он генерируется автоматически из имени (переменной) группы, в которой он создается и числа.

type

Тип

Тип параметра - его основная характеристика (см. ниже)

longdescription

модификаторы

Текстовое поле для задания модификаторов (дополнительных характеристик) параметра. Каждая строка поля задает один модификатор и имеет следующий синтаксис МОДИФИКАТОР=ЗНАЧЕНИЕ (см. ниже)

value

значение

Текстовое поле для задания возможных значений параметров некоторых типов (select, radio, mselect и др.)

required

проверять при вводе

Устанавливает обязательность ввода данного параметра в поле интерактивной формы (для типов text, textarea, number).

storage

отдельное поле

Задает способ хранения данного параметра в базе данных.

priority

приоритет

Число, задающее положение параметра внутри группы. Любой новый параметр создается с высшим приоритетом, т.е. располагается верхним (первым) в группе. Изменить приоритет параметра можно с помощью пункта контекстного меню передвинуть или соответствующими "горячими клавишами".


3.2.2. Типы параметров

Тип параметра - это основная характеристика, определяющая вид поля для ввода (редактирования) параметра в форме и способ его хранения в базе данных.

Характеристика

Внешний вид в формах и JM

Описание

text

Поле для ввода произвольной строки текста (до 256 символов)

textarea

Поле для ввода больших объемов текста (до 64К)

number

Поле для ввода чисел (до 256 символов)

password

Поле для ввода паролей (до 256 символов)

checkbox

Переключатель да/нет (1/0)

image

Поле для загрузки графического файла (GIF, JPG, PNG)

file

Поле для загрузки файла произвольного типа

date



Поля для ввода текста в формате даты. Внешний вид, количество и тип отдельных полей задаются дополнительными характеристиками параметра fedateformat и fedatecal (см. ниже).

select

Выбор одной альтернативы в виде выпадающего меню. Варианты для выбора задаются в характеристике value в виде списка не менее чем из двух строк:
значение 1=вариант 1
значение 2=вариант 2
значение 3=вариант 3

mselect

Выбор одной альтернативы в виде выпадающего меню. Варианты для выбора задаются в характеристике value в виде строки SQL-запроса. Данный запрос должен вернуть не менее одного объекта из базы данных.

radio

Выбор одной альтернативы в виде радио-кнопки. Варианты для выбора задаются в характеристике value в виде списка не менее чем из двух строк
значение 1=вариант 1
значение 2=вариант 2
значение 3=вариант 3

mradio

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

checks

Выбор нескольких значений из заданных альтернатив. Варианты для выбора задаются в характеристике value в виде списка:
значение 1=вариант 1
значение 2=вариант 2
значение 3=вариант 3

mchecks

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

selects

Выбор нескольких значений из заданных альтернатив в виде списка с множественным выделением. Варианты для выбора задаются в характеристике value в виде списка:
значение 1=вариант 1
значение 2=вариант 2
значение 3=вариант 3

mselects

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

const

 

Подзаголовок для группы параметров в форме.

hidden

 

Организация скрытого поля в форме.

custom

 

Пользовательский тип параметра.

Описания и назначения параметров типового проекта приведены в Приложении.


3.2.3. Модификаторы параметров

Модификаторы предназначены в основном для задания внешнего вида параметров в интерактивных формах и различных служебных функций. Значение модификаторов задаются при вводе или редактировании параметров в поле "дополнительные" (longdescription) в виде отдельных строк в формате:

МОДИФИКАТОР1=ЗНАЧЕНИЕ1
МОДИФИКАТОР2=ЗНАЧЕНИЕ2

Модификатор

Используется

Описание

description=ТЕКСТ

description[ЯЗЫК]=ТЕКСТ

для параметров интерактивных форм

Текст, который будет отображаться в интерактивной форме перед полем для ввода данного параметра. На многоязычных сайтах можно указать различный текст для соответствующих ветвей сайта. Если данная характеристика не указана, то в форме отображается название параметра. Пример:
description=Ваше имя
description[ru]=Ваше имя
descriptionn[en]=Your Name

tdescription=ТЕКСТ

tdescription[ЯЗЫК]=ТЕКСТ

для параметров интерактивных форм

Текст, который будет отображаться при показе результатов введенной интерактивной формы перед значением данного параметра. На многоязычных сайтах можно указать различный текст для соответствующих ветвей сайта. Если данная характеристика не указана, то в форме отображается название параметра. Пример:
tdescription=Вы ввели имя
tdescription[ru]=Вы ввели имя
tdescription[en]=You enter name

desctext=ТЕКСТ

desctext[ЯЗЫК]=ТЕКСТ

для параметров интерактивных форм

Дополнительный текст, который будет отображаться в интерактивной форме рядом с названием параметра или характеристикой description

fdstyle=CSS_СТРОКА

для параметров интерактивных форм

Строка текста в формате CSS, задающая стиль показа описания параметра в интерактивной форме. Пример:
fdstyle=width:200px; font-weight:bold;

festyle=CSS_СТРОКА

для параметров интерактивных форм

Строка текста в формате CSS, задающая стиль показа поля для ввода параметра в интерактивной форме. Пример:
festyle=width:300px; border:1px solid #999;

onclick=ИМЯ_ФУНКЦИИ()

для параметров интерактивных форм

Указывает имя JavaScript функции, которая будет запускаться на событии onclick в поле ввода данного параметра в интерактивной форме.

onchange=ИМЯ_ФУНКЦИИ()

для параметров интерактивных форм

Указывает имя JavaScript функции, которая будет запускаться на событии onchange в поле ввода данного параметра в интерактивной форме.

onsubmitfunc=ИМЯ_ФУНКЦИИ

для параметров интерактивных форм

Указывает имя JavaScript функции, которая будет запускаться при вводе интерактивной формы с данным параметром. Как правило, используется для проверки корректности значений введенных параметров формы.

readonly=yes

для параметров интерактивных форм

Устанавливает атрибут readonly (запрещение редактирования) в поле ввода данного параметра в форме.

disabled=yes

для параметров интерактивных форм

Устанавливает атрибут disabled (запрещение) в поле ввода данного параметра в форме.

strip_tags=no

для параметров интерактивных форм типа text, textarea

Разрешает ввод HTML-тегов в поле данного параметра в форме. По-умолчанию, все HTML-теги из полей типа text и textarea в введенной форме удаляются. Используется в модулях form и forumx.

strip_tags=yes

strip_tags=1

для параметров типа text, textarea, number

Удаляет все HTML-теги из значений данного параметра при вводе, импорте и редактировании.

safe=yes

safe=1

для параметров типа text, textarea, number

При показе (выводе) значений данного параметра все HTML-теги преобразуются в HTML-мнемоники (текст)

femaxlength=ЧИСЛО

для параметров интерактивных форм типа text, textarea

Устанавливает значение атрибута maxlength (максимальная длина вводимого текста) в поле ввода данного параметра в интерактивной форме.

fesize=ЧИСЛО

для параметров интерактивных форм типа select, mselect

Устанавливает значение атрибута size (максимальное число строк) в поле ввода данного параметра в интерактивной форме.

fedateformat=ВИД_ДАТЫ

для параметров интерактивных форм типа date

Задает формат ввода даты (дня, месяца, года) и времени в виде списков или текстовых полей. Примеры:
fedateformat=dsmsys - ввод даты с помощью списков
fedateformat=dimiyiti - ввод даты и времени с помощью текстовых полей
fedateformat=t - ввод только времени в формате ЧЧ:ММ

fedstyle=CSS_СТРОКА

femstyle=CSS_СТРОКА

feystyle=CSS_СТРОКА

fetstyle=CSS_СТРОКА

для параметров интерактивных форм типа date

Строки текста в формате CSS, задающие стиль показа полей для ввода дня, месяца, года и времени в интерактивной форме. Указываются вместе с характеристикой fedateformat.

fedatecal=ФОРМАТ_ДАТЫ

для параметров интерактивных форм типа date

Задает формат ввода даты и времени с использованием календаря. Примеры:
fedatecal=%d.%m.%Y - ввод даты в формате ДД.ММ.ГГГГ
fedatecal=%d.%m.%Y %H:%M - ввод даты и времени

selected=ТЕКСТ

selected=$ PARAMS[имя]

selected=$ USER[имя]

для параметров интерактивных форм

Задает начальное значение поля формы. Поле заполняется указанным текстом или значением указанного параметра текущего объекта или пользователя (для авторизованных посетителей). Примеры:
selected=01.01.2005
selected=$ PARAMS[today]
selected=$ USER[name]

y_start=ГОД

для параметров интерактивных форм типа date

Задает начальное значение списка годов для ввода даты в формате fedateformat=dsmsys. Указывается четырехзначное число или ключевое слово today - текущий год.

y_end=ГОД

для параметров интерактивных форм типа date

Задает конечное значение списка годов для ввода даты в формате fedateformat=dsmsys. Указывается четырехзначное число или ключевое слово today - текущий год.

y_order=desc

для параметров интерактивных форм типа date

Задает обратный порядок для списка годов (от более позднего к раннему).

search=ИМЯ_ПАРАМЕТРА

для параметров, используемых в форме поиска

Указывает модулю поиска (search), с каким параметром (атрибутом) объекта надо сравнивать значение, введенное в поле данного параметра в форме посика. Примеры:
search=mess_header
search=art_type

searchcond=УСЛОВИЕ

для параметров, используемых в форме поиска

Указывает модулю поиска (search) условие сравнения значения параметра (атрибута) и числа, введенного в поле формы поиска. УСЛОВИЕ может быть следующим:
lt - параметр меньше введенного числа
le - параметр меньше или равен введенному числу
gt - параметр больше введенного числа
ge - параметр больше или равен введенному числу
eq - параметр равен введенному числу
like - параметр содержит введенную строку
bool - параметр содержит введенные слова (аналог расширенного запроса)
nl - искать пустые значения параметров, если в они не заданы в форме (для параметров list, checks, mselects, selects)

searchlist=УСЛОВИЕ

для параметров в форме поиска типа list, checks, mselects, selects

Указывает модулю поиска (search) условие проверки "многозначных" параметров и полей, заданных в форме (по умолчанию - and). УСЛОВИЕ может быть следующим:
or - параметр содержит любое указанное в форме значение
and - параметр содержит все указанные в форме значения
Для поиска "пустых" значений используется модификатор searchcond=nl (см. выше)

dependmaster=ИМЯ_ПАРАМЕТРА

для параметров типа mselect, mradio, list и mselects

Указывает имя "управляемого" параметра. Значения списка указанного параметра будут зависеть от выбранного значения данного параметра.

dependslave=ИМЯ_ПАРАМЕТРА

для параметров типа mselect, mradio, list и mselects

Указывает имя "управляющего" параметра. Значения списка данного параметра будут зависеть от выбранного значения указанного параметра.

limit=X,XX

для параметров типа mselect, mradio, list и mselects

Задает limit для создания списка значенией данного параметра.

order=SQL

для параметров типа mselect, mradio, list и mselects

Задает order для создания списка значенией данного параметра (по умолчанию - tree_order).

edit=no

для служебных параметров

Запрещает всем Пользователям изменение значений данного параметра в объектах с помощью модуля JM

edit_groups=СПИСОК

для служебных параметров

Задает список групп пользователей, которым разрешено редактирование данного параметра в объектах с помощью модуля JM

parse=1
parse=yes

для параметров типа textarea

Значения данного параметра в объектах задаются в виде отдельных строк в форматах:
КЛЮЧ1=ЗНАЧЕНИЕ1
КЛЮЧ2=ЗНАЧЕНИЕ2
КЛЮЧ3[]=ЗНАЧЕНИЕ31
КЛЮЧ3[]=ЗНАЧЕНИЕ32
КЛЮЧ4[индекс1]=ЗНАЧЕНИЕ41
КЛЮЧ4[индекс2]=ЗНАЧЕНИЕ42


В результирующие XML данные этот параметр попадет в виде набора узлов

  < ПАРАМЕТР>
      < КЛЮЧ1>ЗНАЧЕНИЕ1< /КЛЮЧ1>
      < КЛЮЧ2>ЗНАЧЕНИЕ2< /КЛЮЧ2>
      < КЛЮЧ3>
        < item id="0">ЗНАЧЕНИЕ31< /item >
        < item id="1">ЗНАЧЕНИЕ32< /item >
      < /КЛЮЧ3>
      < КЛЮЧ4>
        < item id="индекс1">ЗНАЧЕНИЕ41< /item>
        < item id="индекс2">ЗНАЧЕНИЕ42< /item>
      < КЛЮЧ4> 
  < /ПАРАМЕТР>

 

modekey=ЧИСЛО

для параметра imagekey

Задает режим генерации защитного кода.
modekey=1 - генерируется одно число для ввода
modekey=2 - генерируется два числа для ввода суммы

keywidth=ЧИСЛО

keyheight=ЧИСЛО

для параметра imagekey

Задают ширину и высоту изображения защитного кода в пикселах. Если модификаторы не заданы, то код выводится размером 66х29.

max_file_size=ЧИСЛО

для параметров типа file, image

Задает максимальный размер загружаемых файлов в байтах

filename=ИМЯ_ФАЙЛА

для параметров типа file

Задает имя загружаемого файла, под которым он будет храниться на сервере

fileext=РАСШИРЕНИЕ_ФАЙЛА

для параметров типа file

Задает расширение загружаемого файла, под которым он будет храниться на сервере

allowext=xxx,yyy,zzz

для параметров типа file

Задает список допустимых расширений загружаемых файлов

textsize=mediumtext
textsize=longtext

для параметров textarea

Установка модификатора изменит размер поля params в базе данных. Обычно поле params имеет тип TEXT и размер 65535 байт. С применением двухбайтной кодировки UTF-8 и русских букв допустимый размер поля уменьшается до 32768 символов.

Типы полей mysql и их лимиты:

TEXT  - 65 535 байт
MEDIUMTEXT  - 16 777 215 байт.
LONGTEXT - 4 294 967 295 байт.


3.2.4. Основные операции

  • просмотр характеристик параметра (группы)
  • просмотр списка объектов, где установлен параметр
  • изменение (редактирование) параметра (группы)
  • добавление новой группы
  • добавление нового параметра
  • удаление параметра (группы)
  • передвижение параметра в группе
  • сортировка параметров (групп)
  • перенос параметра
  • дублирование параметра
  • копирование и вставка параметра
  • вырезание и вставка параметра

3.3. Статистика

Административный модуль Статистика (stat), предназначен для просмотра и анализа статистической информации о посетителях сайта. Возможно предоставление информации в различных формах - отдельно по конкретной странице, по всем страницам, по любому посетителю. Модуль включает в себя генератор статистических таблиц в формате CSV.


3.4. Пользователи

Административный модуль Пользователи (users) предназначен для управления пользователями, зарегистрированными на сайте. Модуль позволяет заводить новые группы пользователей, новых пользователей, изменять параметры зарегистрированных пользователей, включать их в различные группы.


3.5. Стили

Административный модуль Стили (styles) предназначен для проверки синтаксиса, контроля и загрузки библиотеки XSL шаблонов сайта и отдельных блоков. Модуль позволяет управлять установленными шаблонами и стилями отдельных объектов или ветвей сайта.

Рис. 1. Внешний вид модуля Стили


3.6. Экранный менеджер

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

Рис. 1. Контрольная панель экранного менеджера.

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

 

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

Выход администратора из режима управления сайтом

Переход на список всех административных модулей

Переход в модуль Джей-менеджер

Переход в модуль Параметры

Переход в модуль Статистика

Переход в модуль Пользователи

Переход в модуль Стили

Переход в модуль Наблюдатель

Переход в модуль Просмотра поисков

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

 

Пиктограммы управления текущим объектом

Переход в режим редактирования текущего объекта в модуле JM

Редактирование текущего объекта

Удаление текущего объекта

Просмотр в отдельном окне контента (основного текста) текущего объекта

Генерация (создание) документа из контента текущего объекта в формате MS Word

Ссылка на скачивание последнего документа, загруженного в данный объект через конвертор

 

Пиктограммы дополнительных служебных операций

Перезагрузка XSL-стилей сайта (reloadstyles)

Включение/выключение режима трассировки (timepoint)

Удаление всех временных и кэш-файлов сайта (clearcache)

Включение режима отладки шаблона страницы (debug)

Включение режима отображения позиций текущего шаблона (showposition)

Просмотр в отдельном окне XML-данных текущей страницы (showxml)

В правой части панели расположен ее фиксатор. В выключенном состоянии панель находится в стандартной позиции текущего шаблона (как правило, в нижней части страницы в позиции TAIL). Во включенном состоянии панель всегда находится в верхней части экрана, под меню броузера. Положение переключателя для каждого сайта запоминается в cookie.

Режим трассировки

Режим трассировки включается и выключается нажатием на пункт "трассировка" () экранного менеджера. При включенном режиме внизу каждой страницы сайта будет выводится таблица трассировки с временными интервалам ее формирования (рис. 2).

Рис. 2. Вывод страницы в режиме трассировки (timepoint)

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

В основном, данная информация предназначена разработчикам системы для контроля и оптимизации работы TreeGraph. Однако и администратор сайта может изменять время формирования страницы, отключая отдельные блоки или изменяя их параметры (условие выбора, количество и др.).

Режим отладки

Режим отладки включается нажатием на пункт "отладка" () экранного менеджера. В этом режиме на странице над каждым сформированным блоком будет выведена панель с отладочной информацией (рис. 3).

Рис. 3. Вывод страницы в режиме отладки (debug).

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

В основной позиции шаблона (main) перед заголовком выводится отладочная панель для объекта текущей страницы. В верхней части панели перечисляются все установленные параметры объекта со значениями и выдается список идентификаторов дочерних (или выбранных) объектов. Ниже выдается таблица с атрибутами объекта, его собственными и наследуемыми параметрами.

Режим отображения позиций

Режим отображения позиций включается нажатием на пункт "показать позиции" () экранного менеджера. В этом режиме на странице выдается структура шаблона, где вместо сформированных блоков будет выведены панели с названием позиций каждого блока (рис. 4).

Рис. 4. Вывод страницы в режиме отображения позиций шаблона.

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

Режим просмотра XML данных

XML данные текущей страницы можно получить, нажав на пункт "показать XML" () экранного менеджера. Броузер откроет отдельное окно с XML-структурой данной страницы (рис. 5).

Рис. 5. Вывод страницы в режиме просмотра XML данных.

Структура XML данных описана в Приложении Структура XML-дерева страницы.


3.7. Наблюдатель

В системе TreeGraph ведется полный учет логов (действий администраторов) над каждым объектом. Для просмотра логов проекта (в том числе и для удаленных объектов) в системе TreeGraph имеется специальный модуль Наблюдатель (Watch).

В верхней форме модуля задается требуемый интервал времени и различные уточняющие данные для ограничения списка логов:

дата от - задает начальные день и время для вывода списка логов
дата до - задает конечные день и время для вывода списка логов
ip-адрес - выводит логи операций, произведенных только с указанного IP адреса
пользователи (id) - выводит логи операций, произведенных пользователем с указанным идентификатором
пользователи (login) - выводит логи операций, произведенных пользователем с указанным логином
действие - выводит логи операций с указанным действием
объект - выводит логи операций, произведенных над указанным объектом
информация - выводит логи с информацией, содержащей указанный текст

Поля формы количество и сортировка задают ограничение для списка логов и порядок вывода.

Рис. 1. Вывод логов проекта за указанный интервал

Информация о логах выводится в несколько колонок:

логи - уникальный номер записи лога (одного действия администратора)
дата модификации - день и время, когда произошла данная операция (серверное)
пользователи - идентификатор и логин пользователя, выполнившего данную операцию (для анонимных и неавторизованных пользователей не заполняется)
ip-адрес - IP адрес, с которого была произведена данная операция
действие - краткое обозначение операции
объект - идентификатор объекта, над которым производилась данная операция
заголовок - заголовок объекта, над которым производилась данная операция (до его изменения).
стр - идентификатор страницы (объекта), на которой находился пользователь, при выполнении данной операции (как правило, идентификатор модуля JM)
информация - комментарии к операции: список редактируемых (удаляемых) параметров, имена загружаемых (удаляемых) файлов и пр.

Необходимо отметить, что некоторые действия администратора приводят к записи нескольких подряд идущих логов. Например добавление нового объекта создает следующие логи: clone, sort, update, update params.


4. Стандартные модули

Общие модули TreeGraph реализуют стандартные (базовые) задачи проектов. К ним относятся:


4.1. Интерактивные формы

В состав системы TreeGraph входит модуль Форма (form), позволяющий организовывать произвольные интерактивные формы для связи с посетителями сайта (анкеты, отзывы, гостевые книги, опросы и т.п.)


4.2. Форум

В состав системы TreeGraph входит модуль Форум, позволяющий организовывать различные дискуссии (с участием как анонимных, так и привилегированных посетителей) и оперативно управлять процессом обсуждения


4.3. Голосования

Для организации упрощенных форм анкетирования посетителей, в состав системы TreeGraph включен стандартный модуль Голосование (votesimple). Данный модуль создает форму с вариантами ответа, подсчитывает число проголосовавших по каждому и сохраняет IP-адреса (или COOKIE) посетителей, принявших участие в данном голосовании (рис. 1).

Рис. 1. Пример оформления голосования на сайте

Для создания нового голосования на сайте нужно ввести объект с темой голосования в заголовке и установить в нем параметр "обработчик" - votesimple и дополнительные параметры из группы "ГОЛОСОВАНИЕ".

Для задания вариантов ответов к объекту, которое является голосованием, добавляются дочерние с вариантами ответов в заголовках. После каждого голосования в этих объектах автоматически создаются и изменяются параметры с количеством проголосовавших и IP-адресами (или COOKIE) посетителей. Модуль не позволяет принять участие в голосовании более одного раза посетителям с одного IP-адреса.

Оформление внешнего вида таблицы с результатами и гистограммы заключено в стандартном XSL-стиле "голосование" из библиотеки, который, при желании, можно модифицировать или заменить на другой.

Рис. 2. Пример голосования в отдельном окне

Модуль может работать и в отдельном окне (рис. 2). Для этого необходимо в объекте с голосованием добавить параметры из группы "ОКНО", задать высоту, ширину, тип окна и установить параметр "шаблон сообщения" - пустой или аналогичный.


4.4. Поиск по сайту

В состав системы TreeGraph входит общих модуль Поиск (search), позволяющий организовать различные вида поиска по страницам сайта. В модуле возможна настройка поиска по отдельным разделам сайта (с выбором этих разделов и без), по объектам определенного типа, с учетом атрибутов и параметров (например, по дате публикации) и др.


4.5. Карта сайта

В состав общих модулей системы TreeGraph входит генератор карты сайта (sitemap). Данный модуль создает структурированный перечень требуемых подразделов и страниц сайта и оформляет его в виде многоуровневых вложенных списков (рис. 1) или раскрывающегося дерева (рис. 2).

В объекте "Карта сайта" должен быть установлен параметр "обработчик" - sitemap. Для настройки карты в данный объект можно добавить параметр "настройки менеджера". Данный параметр представляет собой текстовое поле, каждая строка которого задает одну опцию и имеет следующий синтаксис:

ОПЦИЯ1=ЗНАЧЕНИЕ1
ОПЦИЯ2=ЗНАЧЕНИЕ2

Возможны следующие опции и их значения:

Опция

Умолчние

Описание

style=show_list / show_tree

show_list

Задает стиль карты в виде многоуровневых списков или раскрывающегося дерева.

rootid=ЧИСЛО

1

Задает идентификатор начала карты сайта. Если параметр не задан, то карта отображает все дерево сайта.

rootid=SQL

нет

Задает SQL-выражение для указания нескольких корней карты сайта (Альтернатива предыдущей).

filter=SQL

нет

Задает SQL-выражение для указания фильтра объектов, показываемых в карте сайта. Т.е. все объекты которые можно увидеть в карте сайта должны удовлетворять заданному условию.

open=СПИСОК

нет

Задает список раскрытых объектов в карте сайта (для стиля show_tree).

maxlev=ЧИСЛО

4

Задает максимально число уровней в карте сайта

text=0/1

0

Задает текстовый режим работы карты сайта (для стиля show_tree).

max_childs=ЧИСЛО

50

Задает максимальное число дочерних на одной странице при просмотре ветви карты сайта (для стиля show_tree).

addfields[]=СТРОКА1
addfields[]=СТРОКА2

нет

Задает список дополнительных параметров для показа в карте сайта. (для стиля show_tree). (См. Настройки JM).

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

Карта сайта может функционировать и как дополнительная панель навигации в отдельном окне (рис. 3).

Для этого необходимо в объекте "Карта сайта" добавить параметры из группы "ОКНО" и задать высоту, ширину и тип окна - "в новом фиксированном окне (resize)". Дополнительно можно установить параметры "стиль сообщения" - контент и "шаблон сообщения" - пустой из общей библиотеки шаблонов, или аналогичные собственные.

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

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


4.6. Печатная версия сайта

В состав общих модулей системы TreeGraph включена функция, позволяющая организовать полноценную работу сайта в режиме, максимально приспособленном для печати на принтере. Данная функция использует XSL-шаблон с именем print из библиотеки шаблонов.

Администратор может применить на сайте шаблон печатной версии из общей библиотеки или создать свой собственный с таким же именем print, указав в нем требуемый набор позиций для вывода информации. Общий шаблон print выводит заголовок сайта, заголовок и содержимое текущей страницы, стандартный список дочерних объектов, главное меню и переключатель на обычную версию сайта (рис. 2).

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


4.7. Регистрация и подписка

В системе TreeGraph, кроме административной регистрации (с помощью модуля Пользователи), предусмотрена возможность on-line регистрации пользователей на сайте и оформления подписки на новости. Для этой цели служит общий модуль Регистрация (register).


4.8. Калькулятор

Модуль Калькулятор позволяет рассчитать характеристики (цена, сроки, количество и т.д.) любой сложной модели, состоящей из нескольких компонентов.


4.9. Каталог и корзина заказов

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


4.10. Экспорт в форматах RSS и XML

Модуль RSS предназначен для генерации RSS-файла (XML) с заданными объектами сайта.


5. Приложения


5.1. Глоссарий

База данных сайта. SQL-база, состоящая из нескольких связанных таблиц с записями, в которых хранится вся информация сайта. База включает в себя таблицы данных (объектов), типов данных, пользователей, групп, статистической информации и др.

Дерево сайта. Таблица объектов в базе данных сайта, организованная в виде связанного однонаправленного графа с одной корневой вершиной. Вершинами дерева являются информационные и служебные объекты сайта, а ребрами (дугами) - связи между ними.

Объект (сообщение). Любая вершина (узел) в дереве сайта. Ей соответствует одна запись в таблице объектов базы данных сайта. Объект может представлять собой какую-либо информацию (раздел/страницу сайта) или служебную запись. Каждый объект имеет уникальный номер (идентификатор), определенный уровень в дереве сайта и набор прямых связей (общих ребер) с другими объектами. Объект состоит из фиксированного набора основных полей (атрибутов), возможных дополнительных полей (параметров) и внешних файлов.

Идентификатор объекта. Уникальный номер (id), соответствующий объекту в дереве сайта. Идентификатор корневого объекта равен 1. Доступ к любому объекту на сайте можно получить (если есть права на просмотр) с помощью строки:

http://адрес_сайта/?id=XXXX или http:/адрес_сайта/XXXX

где XXXX - идентификатор объекта.

Строка http://адрес_сайта/ или с несуществующим идентификатором равносильна строке: http://адрес_сайта/?id=1

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

Уровень. Число связей (количество ребер в дереве сайта), соединяющее данный объект с корневым. Для корневого объекта уровень равен нулю.

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

Родитель. Объект, имеющее прямую связь с данным (общее ребро в дереве сайта) и уровень на единицу меньший, чем у данного. Любой объект на сайте, кроме корневого, имеет одного и только одного родителя.

Корень (корневой объект). Единственный объект (вершина) в дереве сайта, которое не имеет родителя (уровень равен нулю). Идентификатор корневого объекта равен 1. От корня "строится" все дерево сайта.

Дочерний объект. Объект, имеющее прямую связь с данным (общее ребро в дереве сайта) и уровень на единицу больший, чем у данного. Любой объект на сайте может иметь любое количество дочерних объектов.

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

Ветвь (поддерево). Какой-либо объект в дереве сайта и все его потомки.

Братья. Все объекты, имеющие одного и того же родителя. Все объекты-братья имеют одинаковый уровень и располагаются в дереве сайта соответственно их приоритетам.

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


Рис. 1.

На рис. 1. изображен пример дерева сайта.
Пронумерованные прямоугольники - это вершины дерева или объекты, а линии, связывающие их - ребра (дуги).
Прямоугольник 1 - корень дерева или корневой объект сайта.
Объекты 2, 3 и 4 являются братьями и дочерними для объекта 1.
Объект 2 является родительским для объектов 5 и 6.
Объекты 5, 6 и 8 - потомки объекта 2.
Объекты 2, 5, 6 и 8 представляют собой ветвь дерева с вершиной 2.
Уровень для объекта 1 равен 0; для объектов 2, 3 и 4 - равен 1; для объектов 5, 6 и 7 - равен 2; для объекта 8 - равен 3.
Маршрут от объекта 8 до корня представляет собой последовательность ребер 8-6-2-1.
Среди братьев 2, 3 и 4 объект 2 имеет максимальный приоритет, а объект 4 -минимальный.

Атрибуты. Основные поля каждой записи в таблице объектов. Часть атрибутов вводится администратором при добавлении (редактировании) объекта, остальные заполняются и изменяются автоматически. Имена переменных любых атрибутов можно использовать для формирования различных SQL-выборок. Назначение атрибутов будет описано ниже.

Параметры. Дополнительные поля записи в таблице объектов. Параметры имеют определенный тип данных (текст, число, дата, да/нет, перечисление, графика, файл и пр.) и могут добавляться к любому объекту сайта. Некоторые параметры  могут использоваться в качестве классификаторов для задания значений других параметров. Все параметры объекта хранятся в "свернутом" виде в поле params. Отдельные параметры (те, у которых отмечен признак "отдельное поле") хранятся так же, как и атрибуты объекта, т.е. в отдельных полях каждой записи в таблице объектов. Имена таких параметров можно использовать для формирования различных SQL-выборок, так же как и атрибутов. Назначение отдельных параметров будет описано ниже.

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

Установкой и вводом параметров типа "графика" или "файл"

Указанием ссылки на локальный файл в основном тексте объекта

Вставкой в конвертируемый документ (MS Word, MS Excel, RTF) графических иллюстрации.

Образцы. Специальные объекты-прототипы, в которых установлен определенный набор параметров (и их значения по умолчанию), необходимый для ввода новых объектов в ветви сайта. Образцы создаются и устанавливаются администраторами сайта.

Классификаторы. Специальные объекты, заголовки и идентификаторы которых используются в качестве значений других параметров объектов. Например: тематики, рубрики, приоритеты и т.п.

Пользователь. Любой посетитель сайта может быть анонимным или зарегистрированным пользователем. Если пользователь зарегистрирован на сайте (т.е. его профиль занесен в базу данных), то после ввода им логина и пароля на какой-либо странице сайта, он становится авторизованным посетителем в данной сессии броузера. Каждый зарегистрированный пользователь может входить в одну или несколько групп пользователей (это задают администраторы сайта). Права пользователя на определенные действия (просмотр страниц, редактирование объектов и др.) определяются его принадлежностью к группам и правами, установленными в объектах.

Группа пользователей. Набор (группа) пользователей, зарегистрированных на сайте, имеющих одинаковые права на какие-либо действия (подписка, просмотр, редактирование, добавление) в определенных разделах сайта.

Группа on-line. Группа, в которую автоматически включается пользователь, зарегистрировавшийся на сайте в режиме on-line. Как правило, данная группа используется для организации подписки и автоматической рассылки новостей сайта. Сменить группу или включить пользователя в другие группы могут только администраторы сайта.

Владелец. Зарегистрированный пользователь, который ввел данной объект в дерево сайта. Сменить владельца могут только администраторы сайта. Если объект введен на сайт неавторизованным пользователем (например, с помощью интерактивной формы), то владельцем его становится администратор сайта.

Права. Атрибуты объекта, которые разрешают или запрещают отдельные операции над данным объектом. К таким операциям относятся: чтение (r - просмотр страницы объекта на сайте), изменение (w - редактирование и удаление объекта с помощью модуля JM), добавление (x - ввод объектов, дочерних к данному, с помощью JM или интерактивных форм). Права (rwx) устанавливаются отдельно для группы и для остальных пользователей. Под остальными пользователями подразумеваются зарегистрированные и авторизованные посетители, не входящие в группу, которой принадлежит данный объект, а также все неавторизованные посетители сайта (т.е. анонимные пользователи).

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

владелец: Русаков Олег

группа: Дилеры

права (rwx rwx): 101 100

В этом случае, на данной объект устанавливаются следующие права:

Администраторы и пользователь Русаков - полные права;

Дилеры (пользователи, входящие в группу Дилеры) - права на просмотр и добавление новых объектов к данному (r=1, w=0, x=1);

остальные - только права на просмотр (r=1, w=0, x=0).

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

Библиотека шаблонов. Файл, содержащий набор шаблонов и стилей всех страниц сайта и отдельных блоков страниц.

Шаблон. Код, описывающий структуру всей страницы сайта. Шаблон представляет собой XML/XSL-код с указанием позиций для вставки отдельных блоков. Сайт может иметь несколько шаблонов для вывода отдельных страниц и ветвей.

Позиция. Место в шаблоне для вставки отдельных блоков. Для разных шаблонов могут быть созданы различные наборы позиций.

Блок. Логическое структура, представляющая собой один или несколько объектов сайта, скомпонованных с помощью заданного стиля в HTML-код, который выводятся в указанной позиции шаблона. Для блока задаются условия выборки объектов, условия показа блока на определенных страницах (разделах) сайта, количественные ограничения, порядок показа объектов в блоке и различные дополнительные параметры. Для организации блока создается специальной объект с требуемыми параметрами.

Стиль. Код, описывающий внешний вид блока (на странице сайта) и логику его формирования. Стиль представляет собой XML/XSL-код с указанием выводимых атрибутов и параметров объекта. Результат применения стиля к блоку представляет собой сформированный HTML-код, который выводится в указанную позицию шаблона.

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

Модуль (обработчик). Программный код, обеспечивающий необходимую функциональность какому-либо объекту (странице или разделу) сайта. Все обработчики разбиты на несколько групп: главный модуль проекта, общие административные модули, общие дополнительные модули и специфические модули проекта.


5.2. Атрибуты объектов


название

переменная

тип

описание

идентификатор

id

number

Уникальный числовой идентификатор объекта. Создается автоматически при вводе (создании) объекта.

идентификатор родителя

parent_id

number

Идентификатор родительского объекта. Устанавливается автоматически при вводе и перемещении объекта.

день публикации

p_date

text

День публикации объекта, указанный администратором при вводе или редактировании. Формат ввода: ДД.ММ.ГГГГ

время публикации

p_time

text

Время публикации объекта, указанное администратором при вводе или редактировании. Формат ввода: ЧЧ:ММ

заголовок

mess_header

text

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

аннотация

mess_short

textarea

Аннотация объекта. Вводится администратором сайта. Используется в стилях при формировании различных списков объектов (блоков).

текст

mess_content

textarea

Основной текст объекта. Вводится администратором или формируется конвертором.

дата публикации

publish_date

date

Дата и время публикации объекта в формате DATE. Формируется автоматически из значений введенных полей p_date и p_time.

дата ввода

enter_date

date

Дата и время ввода объекта. Устанавливается автоматически при вводе (создании) объекта (серверное время).

дата модификации

modify_date

date

Дата и время последнего изменения объекта. Устанавливается и изменяется автоматически при любых операциях с объектом (серверное время).

родители

parents

text

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

приоритет

priority

number

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

приоритет в дереве

tree_order

text

Суммарный приоритет объекта, определяющий его позицию в дереве сайта.

счетчик

counter

number

Число просмотров страницы объекта на сайте (в настоящий момент не используется).

число дочерних

cnt

number

Общее количество дочерних объектов у данного. Изменяется автоматически при любых операциях с объектом и его дочерними.

владелец

user_id

number

Идентификатор пользователя - владельца объекта. При удалении пользователя устанавливается в 1 (root).

группа

group_id

number

Идентификатор группы пользователей, которой принадлежит данный объект. При удалении группы устанавливается в 1 (root).

права группы на чтение

rg

number

Права для пользователей установленной группы group_id на чтение данного объекта (0/1).

права группы на изменение (удаление)

wg

number

Права для пользователей установленной группы group_id на изменение (удаление) данного объекта (0/1).

права группы на добавление

xg

number

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

права остальных на чтение

ro

number

Права для остальных пользователей на чтение данного объекта (0/1).

права остальных на изменение (удаление)

wo

number

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

права остальных на добавление

xo

number

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

IP адрес

ip

text

IP-адрес, с которого был введен объект. Устанавливается автоматически при вводе.

хост

host

text

Хост, с которого был введен объект. Устанавливается автоматически при вводе объекта.

параметры

params

text

Дополнительные параметры объекта, "свернутые" в виде текстовой строки (описаны в Приложении Параметры объектов).


5.3. Типовые параметры объектов

группа / параметр

переменная

тип

назначение

ОБЩИЕ

site

 

параметры общего назначения

e-mail общий

site_email_admin

text

E-mail администратора сайта. На этот адрес отправляются сообщения о регистрации пользователей и об изменении их параметров  (если не задан e-mail разработчиков). Также этот адрес показывается на сайте в качестве контактного, если это предусмотрено дизайном. Наследуется.

e-mail подраздела

site_email_local

text

E-mail администратора раздела. На этот адрес отправляются копии форм, заполненных посетителями. Можно указывать несколько адресов через запятую. Если параметр не установлен, то копии пересылаются на e-mail администратора сайта. Данный адрес не показывается на сайте. Наследуется.

e-mail post-мастера

site_email_post

text

Задает поле Return Path при генерации писем с сайта. Параметр должен содержать только (!) один адрес. Этот адрес должен в обязательном порядке быть рабочим и регулярно проверяться. На этот адрес высылаются оповещения почтовых служб о невозможности доставки писем подписчикам и администраторам разделов форумов, отзывов, заказов. Наследуется.

язык подраздела

site_lang

select

Задает язык интерфейса административных модулей и оформление страниц сайта (если это предусмотрено при разработке). По умолчанию - (ru) русский. Наследуется.

имя сайта

site_name

text

Краткое название сайта. Используется при формировании title страницы и при почтовой рассылке. Наследуется.

заголовок броузера

site_title

text

 

описание сайта

site_description

textarea

Краткое описание сайта или раздела для поисковых машин (META description). Обратите внимание на комментарии по SEO оптимизации. Наследуется.

ключевые слова

site_keywords

textarea

Набор ключевых слов сайта или раздела для поисковых машин (META keywords). Наследуется.

адрес

site_address

textarea

 

телефоны

site_phone

text

 

copyright сайта

site_copyright

text

Строка для шаблона с авторскими правами на информацию сайта. Наследуется.

дизайн сайта

site_design

text

Строка для шаблона авторскими правами на дизайн сайта. Наследуется.

тексты

site_txt

textarea

Позволяет создать произвольные текстовые константы или переопределить стандартные тексты в стилях и названия параметров в интерактивных формах. Формат:
ключ1=значение1
ключ2=значение2
где ключ - идентификатор текстовой строки или имя параметра. Подробнее здесь. Наследуется. По умолчанию установка ниже по дереву отменяет наследование всех ключей, не только установленных ниже по дереву. Чаще всего задается в корне языковой версии сайта (в id 1 для основной версии).

URL сайта

site_url

text

Адрес сайта в формате: http://www.xxx.yyy/
Используется при почтовой рассылке и в служебных целях. Наследуется.

домашняя страница

site_home_page

text

Задает синоним для адреса данного объекта в виде http://www.xxx.yyy/text
Установленные значения данного параметра должны быть уникальны для всех объектов сайта. Может иметь сложный вид, например news/first/index.html. Используется для отдачи данных при обращении к адресам вида /robots.txt и т.д. Если параметр установлен, то при обращении по старому адресу страницы (вида http://www.xxx.yyy/?id=12345) автоматически создается 301 редирект на новый адрес. Внимание! С осторожностью изменяйте значение данного параметра для уже существующих страниц. После такой операции без специальных действий страница станет недоступна по старому адресу, это может привести к временному исключению ее из индекса поисковиков и даже временной потери сайтом своих позиций в выдаче. НЕ наследуется.

перенаправить

redirect

text

При показе данного объекта броузер автоматически перенаправляется на указанный адрес или другой объект на этом сайте. Формат:
http://www.xxx.yyy
##идентификатор## НЕ наследуется.

ссылка

url

text

Данный параметр используется отдельными стилями для формирования ссылки при показе данного объекта. Формат:
http://www.xxx.yyy
##идентификатор## НЕ наследуется.

onclick

onclick

text

Используется аналогично параметру "ссылка". Формируется "onclick=" в теге "a" НЕ наследуется.

обработчик

handler

select

Программный код для обработки данного объекта при его показе. Наследуется.

onload

site_onload

text

 

подключить JS файлы

site_js_files

checks

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

В свойствах данного параметра, в формате «путь=значение» перечислены пути js файлов, которые нужно использовать на проекте. Например:
/comm/js/jquery/jquery.js=jquery.js
/comm/js/jquery/jquery.tg.js=jquery.tg.js
/comm/js/jquery/jquery.autocomplete.js=jquery.autocomplete.js
/comm/js/jquery/jquery.cookie.js=jquery.cookie.js
В разделах сайта, блоках, которые требуют подключения определенных скриптов, устанавливается данный параметр, отмечаются скрипты требуемые для конкретного раздела или блока. При формировании страницы система анализирует какие файлы нужно подключить и подключает их в правильном порядке (порядок подключения соответствует порядку перечисления файлов в свойствах параметра). Данная система позволяет исключить повторное подключение js файлов, подключение не нужных файлов на странице, подключение файлов в неправильном порядке. Порядок добавления своих js файлов:
1) в служебном разделе (например там где у вас находится robots.txt и favicon.icо создайте объект, загрузите в него ваш js используя параметр site_js_file
2) скопируйте прямой путь файла, которой получился, например /_data/objects/0000/0450/site_js_file.js
3) откройте на редактирование параметр и добавьте ваш файл в формате путь=название. Выберите правильное место, файлы подключаются в порядке перечисления.
4) установите параметр «подключить JS файлы» в нужном блоке/разделе. Вы увидите ваш файл среди возможных опций для подключения.
Наследуется.

дополнительные META-тэги

site_meta

textarea

Позволяет создать любое количество любых мета-тегов. Например для подтверждения владения сайтом в сервисе Яндекс Вебмастер, сервисах Google и т.д.

Формат:
name[индекс]=значение
content[индекс]=значение

Пример:
name[0]=robots
content[0]=index,follow
name[1]=yandex-verification
content[1]=85d0f992cf484c6
На сайте создаюся два мета тега: robots и yandex-verification.
Количество записей не ограничено. Наследуется. Обычно устанавливается в корне сайта.

пользовательский JS файл

site_js_file

file

 

ШАБЛОНЫ И СТИЛИ

template

 

шаблоны и стили страниц и блоков

шаблон ветви

view_page

select

Задает шаблон всех страниц сайта или данной ветви. Значения для списка генерируются автоматически после загрузки библиотеки шаблонов. Наследуется.

шаблон сообщения

view_page_alt

select

Задает шаблон данной страницы сайта. Значения для списка генерируются автоматически после загрузки библиотеки шаблонов. НЕ наследуется.

стиль ветви

view_block

select

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

стиль сообщения

view_block_alt

select

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

список ветви

view_list

select

Задает вид списка дочерних для данной ветви сайта или блока. Значения для списка генерируются автоматически после загрузки библиотеки шаблонов. Используется совместно со стилями, отмеченными как "управляемый список" Наследуется.

список сообщения

view_list_alt

select

Задает вид списка дочерних для данной страницы сайта. Значения для списка генерируются автоматически после загрузки библиотеки шаблонов. Используется совместно со стилями, отмеченными как "управляемый список" НЕ наследуется.

ПРОСМОТР

view

 

просмотр страниц и блоков

внешний файл

view_file

file

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

имя внешнего файла

view_file_name

text

Имя, под которым внешний файл, заданный параметром view_file, будет скачиваться с сайта. НЕ наследуется.

получение братьев

view_get_brothers

select

Задает способ получения братьев для данного объекта и ветви (по умолчанию - нет). Наследуется.

получение братьев (сообщение)

view_get_br_alt

select

Задает способ получения братьев только для данного объекта (по умолчанию - нет). НЕ наследуется.

получение дочерних

view_get_childs

select

Задает способ получения дочерних для данного объекта и ветви (по умолчанию - список). Наследуется.

получение дочерних (сообщение)

view_get_childs_alt

select

Задает способ получения дочерних только для данного объекта (по умолчанию - список). НЕ наследуется.

сообщений на странице

view_max_childs

number

Максимальное число выводимых дочерних объектов на странице. Если не задан, то выводятся все объекты. Наследуется.

число страниц в списке

view_max_pages

number

Задает максимальное число страниц для многостраничных списков.

число колонок

view_cols

number

Число колонок для некоторых стилей (фотогалерея и др.). Наследуется.

не вкл. в меню

view_menu_item_no

check

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

не вкл. дочерние в меню

view_menu_child_no

check

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

не делать ссылку

view_nolink

check

Отменяет создание ссылки на объект в списке (для некоторых стилей). НЕ наследуется.

обрабатывать ссылку

view_link_url

check

Устанавливает замену в списке ссылок на объекты на значения параметра "ссылка" этих объектов (для некоторых стилей).

заголовок раздела

view_title

text

Текстовый заголовок раздела сайта. Наследуется.

заголовок меню

view_title_menu

text

Заголовок пункта меню (используется в стилях некоторых меню). НЕ наследуется.

показ параметров

view_params

checks

Управляет показом отдельных параметров в некоторых видах списков (например, "стандарт с иконкой управляемый") Наследуется.

настройки отображения

view_conf

textarea

 

ссылка на видео

view_video

text

 

добавить rel nofollow

view_nofollow

check

 

ОФОРМЛЕНИЕ

css

 

CSS оформление элементов стилей

css файл

site_css_file

file

CSS-файл с каскадными стилями сайта. Наследуется.

класс блока

view_class_block

text

Основной параметр, используемый при верстке. Каждый создаваемый в системе блок будет отображен на странице как div. Данный параметр задает CSS класс для этого div. Не наследуется.

класс ссылки

view_class_link

text

Название css-класса для формирования основной ссылки в списке некоторыми стилями. Наследуется. Используется редко. Для оформления ссылок предпочтительно использовать класс блока или класс body с каскадированием.

класс списка

view_class_cell

text

Название css-класса для контейнера с дочерними. Обрабатывается стилем «стандарт [управляемый список]» Не наследуется (зависит от используемого стиля).

класс концовки

view_class_tail

text

Название css-класса для контейнера концовки

класс заголовка

view_class_header

text

Название css-класса для контейнера заголовка

класс даты

view_class_date

text

Название css-класса для даты

класс архива

view_class_arch

text

Название css-класса для контейнера постраничной навигации

класс аннотации

view_class_short

text

Название css-класса для аннотации

класс body

view_class_body

text

Класс, который будет добавлен к body на странице (и в разделе), где данный параметр задан. Используется для задания специального оформления для отдельных разделов или страниц при верстке сайта. Наследуется.

cellspacing таблицы

view_table_spacing

text

Атрибут cellspacing для формирования таблиц некоторыми стилями. Устарел. Используйте CSS классы. Если нужно определить для раздела или блока используйте параметры «класс body» и «класс блока».

css таблицы

view_table_style

text

Атрибут style для формирования таблиц некоторыми стилями. Устарел.

css ячейки

view_td_style

text

Атрибут style для формирования ячеек таблиц некоторыми стилями. Устарел.

css первой ячейки

view_td1_style

text

Атрибут style для формирования первой ячейки таблицы (верхней - для вертикальной таблицы, или левой - для горизонтальной). Если не установлен - используется параметр view_td_style. Устарел.

css последней ячейки

view_td2_style

text

Атрибут style для формирования последней ячейки таблицы (нижней - для вертикальной таблицы, или правой - для горизонтальной). Если не установлен - используется параметр view_td_style. Устарел.

css ячейки маркера

view_td_list_style

text

Атрибут style для формирования ячейки таблицы  с маркером для списоков "заголовок и марке" Устарел.

css графики

icon_style

text

Атрибут style для основного графического изображения объекта. Устарел.

css иконки

view_icon_style

text

Атрибут style для основного иконки объекта (view_icon_photo). Устарел.

css формы

form_table_style

text

Атрибут style для таблиц с интерактивными формами. Устарел.

css элементов форм

form_festyle_css

text

Атрибут style для полей интерактивных форм (типа input). Устарел.

css кнопок

form_submit_css

text

Атрибут style для "кнопок" интерактивных форм. Устарел.

css блока

block_css

text

Атрибут style для всего блока (заголовок, контент, список, концовка). Устарел.

css заголовка

block_header_css

text

Атрибут style для заголовка блока (страницы). Устарел.

css контента

block_mess_css

text

Атрибут style для контента блока (страницы). Устарел.

css списка

block_cell_css

text

Атрибут style для списка дочерних блока (страницы). Устарел.

css архива

block_arch_css

text

Атрибут style для постраничной разбивки списка блока (страницы). Устарел.

css концовки

block_tail_css

text

Атрибут style для концовки блока (страницы). Устарел.

css элемента

view_elem_css

text

 

css страницы

view_body_css

text

 

css id блока

block_css_id

text

 

max ширина графики

view_max_icon

number

Максимальная ширина (в пикселях) основной графики (параметр icon) при показе объектов. Наследуется.

max ширина иконки

view_max_icon_list

number

Максимальная ширина иконки (параметр view_icon_photo) при показе списка объектов. Наследуется.

max высота иконки

view_max_icony_list

number

Максимальная высота иконки (параметр view_icon_photo) при показе списка объектов. Наследуется.

ширина шаблона

view_template_width

text

Задает общую ширину (в пикселях или процентах) шаблона страницы. Устарел.

css файлы

site_css_files

cheks

Позволяет управлять подключаемыми на странице CSS файлами в зависимости от раздела и наличии определенных блоках на странице. Полностью аналогичен параметру «подключить JS файлы» (site_js_files). См. описание site_js_files в данном документе. Наследуется.

БЛОК

block/blockadd

 

управляющие блоки

это оверкит?

overkit_is

check

 

это блок?

block_is

check

Устанавливает признак для данного объекта, что оно является блоком. Обязательно (если не задан фиксированный блок) требует наличия в объекте параметров: условие выбора, условие показа, сортировка, сколько, позиция, стиль ветви. Блок – основной строительный элемент сайта. Это правило, которое указывает что какие-то элементы сайта (условие выбора, сколько, сортировка) нужно показать на каких-то страницах (условие показа), в каком-то месте шаблона (позиция), с помощью какого-то стиля шаблонизатора (стиль ветви, [+ список ветви]).
Например, нужно показать два случайных баннера из папки id 300 в левой колонке на всех новостях типа «новость сайта».
Создаем блок:
это блок: 1
позиция: левая колонка
условие выбора:  parent_id=300
сколько: 2
сортировка: случайная
условие показа: art_is=1 and art_type=”новость сайта”
стиль ветви: стандарт
список ветви: иконка/графика/флеш/контент

Не наследуется. Если вы создали блок, а он не виден на странице, следуйте этой инструкции, чтобы разобраться почему.

фиксированный блок?

block_fix

check

Указывает, что данный блок не требуется формировать динамически из данных сайта. Если установлен в блоке, то в таком блоке не нужны параметры: условие выбора, сортировка, сколько (а также не обязательные: общее количество, список ветви, получение дочерних).
Подходит для статических элементов: показа номеров телефона в шапке сайта, вставки кодов счетчиков и т.д. Все данные фиксированного (статического) блока указываются в контенте этого блока. Также разумно применять к таким блокам параметр «css класс» если нужно определить оформление. Не наследуется. Старые версии XSL стилей могут не понимать этот параметр. Для исправления нужно модифицировать mess_standart.

позиция

block_pos

select

Задает позицию данного блока в шаблоне. Значения для списка генерируются автоматически после загрузки библиотеки шаблонов. Не наследуется.

сортировка

block_order

select

Задает порядок показа объектов при выводе блока. Не наследуется.

сколько (start,limit)

block_limit

text

Если указано одно число, то оно задает максимальное количество объектов в блоке. Если указано два числа, первое задает начальный объект, второе - максимальное количество объектов в блоке. Не наследуется.

общее количество?

block_countall

check

Устанавливает признак для подсчета общего количества объектов, удовлетворяющих условию выбора. Используется для организации постраничной разбивки списка выбранных (дочерних). Не наследуется.

условие выбора

block_where

text

SQL-условие для выбора объектов в данный блок (см. примеры). Данный параметр можно установить в блоке или на любой странице сайта. Во втором случае на странице вместо вложенных разделов покажутся разделы, соответствующие заданному условию. Проверять условия можно с помощью инструмента «фильтр» в JManager. Всегда задается вместе с параметрами «сортировка», «сколько». Не наследуется.

условие показа

block_check

text

SQL-условие для показа данного блока на сайте. (см. примеры). Не наследуется.

заголовок

block_header

text

Текст для заголовка блока. Выводится перед списком объектов блока после графического заголовка. Не наследуется.

заголовок графический

block_header_image

image

Графика для заголовка блока. Выводится перед списком объектов. Не наследуется. Как правило, не используется. Более современный способ – CSS.

ссылка заголовка

block_header_link

text

Ссылка для заголовка блока. Не наследуется.

концовка

block_tail

text

Текст для концовки блока. Выводится после списка. Не наследуется.

концовка графическая

block_tail_image

image

Графика для концовки блока. Выводится под текстовой концовкой, после списка. Не наследуется. Как правило, не используется.

ссылка концовки

block_tail_link

text

Ссылка для концовки блока. Не наследуется.

функция выбора

block_where_func

select

Программный код, заменяющий условие выбора объектов в блок. Не наследуется.

функция показа

block_check_func

select

Программный код, заменяющий условие показа блока на странице сайта. Не наследуется.

функция дополнительная

block_add_func

select

Программный код, вызывающийся после формирования блока. Не наследуется.

интервал кэширования

block_cache

select

Задает временной интервал кэширования блока в секундах. Не наследуется.

дополнение выбора

block_what

text

Задает дополнение WHAT в SQL-операторе SELECT при формировании выборки блока. Например:
mess_short as mess_header - заменит заголовок на аннотацию. Не наследуется.

группировка выбора

block_group

text

 

таблица выбора

block_table

select

Задает имя таблицы для условия выбора Не наследуется.

подгружаемый блок

block_ajax

checkbox

Докачивает блок через ajax после отображения страницы в браузере.

путь для подгрузки блока

block_ajax_path

checkbox

Указывает использовать site_home_page как путь считывания блока, используется при соседстве сайта с другим движком.

МЕНЮ

menu

 

параметры для различных меню

смещение меню

block_menuonoff_add

text

Дополнительное смещение графического меню. Устарел.

x меню с подсветкой

block_menuonoff_x

text

Позиция по горизонтали для выпадающего графического меню. Устарел.

y меню с подсветкой

block_menuonoff_y

text

Позиция по вертикали для выпадающего графического меню. Устарел.

направление меню

block_menu_dir

select

Направление графического меню (вертикальное / горизонтальное). Устарел.

начальный уровень меню

block_menu_start

number

Начальный уровень подразделов для многоуровневого меню Устарел.

конечный уровень меню

block_menu_stop

number

Конечный уровень подразделов для многоуровневого меню Устарел.

ГРАФИКА

img

 

основные графические файлы

графика

icon

image

Основное графическое изображение объекта. Не наследуется.

эффекты графики

icon_e

Textarea

Задает режимы обработки загружаемого файла в параметр "графика". Значения указываются в виде отдельных строк в формате
ключ1=значение1
ключ2=значение2
(Описание ключей см. Создание иконки объекта).

Аналогичный параметр с именем XXX_e можно создать для любого параметра типа "image", где XXX - имя переменной обрабатываемого графического параметра. Наследуется.

иконка

view_icon_photo

image

Уменьшенное графическое изображение для показа данного объекта в списках. Используется по умолчанию для генерации автоиконки параметра "графика". Не наследуется.

эффекты иконки

view_icon_photo_e

textarea

Задает режимы обработки загружаемого файла в параметр "иконка" или режимы создания автоиконки, если загружается параметр "графика". Значения данного параметра задаются аналогично параметру "эффекты графики". Наследуется.

заголовок раздела

view_icon_title

image

Графический заголовок раздела сайта.  Наследуется.

фон раздела

view_background

image

Графический фон раздела сайта. Устарел.

графика меню

view_icon_menu

image

Основная (неактивная) "кнопка" графического меню. Устарел. Не наследуется.

графика меню on

view_icon_menu_on

image

Активная (текущая) "кнопка" графического меню. Устарел. Не наследуется.

графика дополнительная

view_icon_add

image

 

графика меню hover

view_icon_menu_hover

image

Накрытая "кнопка" графического меню. Устарел. Не наследуется.

графика списка

view_icon_list

image

Дополнительная графика, используемая некоторыми стилями. Устарел. Не наследуется.

пиктограмма в дереве

tree_folder

image

Пиктограмма объекта при показе в дереве сайта. Не наследуется.

imagemap

imagemap

textarea

Атрибут area для параметра "графика", задающий форму активных областей на изображении и ссылки. Не наследуется.

создавать автоиконки

view_make_icon

select

Устаревший. Заменен на параметр "эффекты иконки".

max ширина автоиконки

view_make_icon_x

text

Устаревший. Заменен на параметр "эффекты иконки".

max высота автоиконки

view_make_icon_y

text

Устаревший. Заменен на параметр "эффекты иконки".

начало автоиконки

view_make_icon_z

text

Устаревший. Заменен на параметр "эффекты иконки".

водяной знак

view_watermark

image

Графика для создания "водяных знаков" с помощью модуля resizer и эффектов графики. Наследуется.

флэш-файл

view_flash

file

Флэш-файл объекта. Не наследуется.

флэш-параметры

view_flash_params

textarea

Параметры для флэш-файла. Формат:
ключ1=значение1
ключ2=значение2

Пример:
menu=true
FlashVars=key1=123456&key2=qwerty
width=100%
height=600
bgcolor=#86B2CD

Если данный параметр не задан, то флэш объект выводится со следующими значениями:

quality=best
wmode=transparent
menu=false
allowFullScreen=false
allowScriptAccess=sameDomain
FlashVars=url=URL&start=VIEW_FLASH_START
width=WINDOW_WIDTH
height=WINDOW_HEIGHT

где WINDOW_WIDTH, WINDOW_HEIGHT, URL и VIEW_FLASH_START - установленные значения соответствующих параметров

защитный код

imagekey

text

Специальный параметр, генерирующий числовой код для защиты интерактивных форм. Данный код выдается неавторизованным посетителям сайта и только в том случает, если imagekey указан в списке параметров для заполнения формы (параметр "имя формы или параметра").
Модификаторы параметра:
modekey=1 - одно число для ввода (по умолчанию)
modekey=2 - два числа для ввода суммы
keywidth=ЧИСЛО - ширина изображения кода в пикселах (умолч. - 66)
keyheight=ЧИСЛО - высота изображения кода в пикселах (умолч. - 29)

эффекты user фото

user_photo_e

textarea

 

Классификаторы

cl

 

объект типа "Новость"

спецкод?

cl_code_is

check

 

новость?

art_is

check

Устанавливает признак объекта, что он является новостью. Не наследуется.

тип новости

art_type

mselect

Тип новости (произвольный список) Не наследуется.

важность новости

art_prior

mselect

Важность новости (произвольный список) Не наследуется.

ФОРМА

form

 

интерактивные формы

имя формы или параметра

form_name

text

Строка, задающая имя группы параметров или список параметров через запятую для организации интерактивной формы. Возможно указание защитного кода для неавторизованных посетителей (параметр imagekey). Наследуется.

заголовок формы

form_header

text

Заголовок интерактивной формы

подвал формы

form_footer

text

Концовка интерактивной формы

комментарий submit

form_submit_text

text

 

кнопка submit

form_submit

text

Текст на кнопке submit формы. Наследуется.

кнопка submit графика

form_submit_img

text

Графическое изображение кнопки submit формы. Наследуется.

кнопка cancel

form_cancel

text

Текст на кнопке cancel (сброс формы).

кнопка cancel графика

form_cancel_img

text

Графическое изображение кнопки cancel (сброс формы).

функция cancel

form_cancel_func

text

JavaScript функция для сброса формы (по умолчанию - reset()).

текст при записи

form_text_ok

text

Текст, выдающийся при записи заполненной формы в базу.

текст при ошибке

form_text_error

text

Текст, выдающийся при неправильном заполнении формы.

текст при ошибке ключа

form_text_error_key

text

Текст, выдающийся при неверном ключе формы (обработчик forumx)

права дочерних объектов

form_rights

select

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

владелец дочерних объектов

form_user_id

number

Идентификатор владельца новых объектов, создаваемых интерактивной формой.

группа дочерних объектов

form_group_id

number

Идентификатор группы для новых объектов, создаваемых интерактивной формой.

параметры для заголовка дочерних

form_mess_header_p

text

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

кнопка календаря графика

form_cal_img

image

Графическое изображение кнопки вызова календаря для параметров типа "date".

вид формы

form_view

select

Задает вид интерактивной формы: стандартная (2 колонки), компактная (1 колонка) или упрощенная (в одну строку)

параметры профиля

form_name_user

text

Строка, задающая имя группы параметров или список параметров через запятую для показа профиля пользователя стилем show_user.

ОКНО

window

 

параметры управления окнами

тип окна

window_type

select

Тип и характеристики нового окна. Не наследуется.

ширина окна

window_width

text

Ширина нового окна в пикселях. Не наследуется.

высота окна

window_height

text

Высота нового окна в пикселях. Не наследуется.

доп. ширина окна

window_width_add

text

Дополнительная ширина окна (добавляется к ширине графики). Не наследуется.

доп. высота окна

window_height_add

text

Дополнительная высота окна (добавляется к высоте графики). Не наследуется.

КАРТА САЙТА

sitemap

 

параметры модуля Карта сайта

стиль карты

sitemap_style

select

Устаревший. Заменен на "настройки менеджера".

глубина карты

sitemap_deep

number

Устаревший. Заменен на "настройки менеджера".

начало карты сайта

sitemap_root

number

Устаревший. Заменен на "настройки менеджера".

открытые разделы

sitemap_open

text

Устаревший. Заменен на "настройки менеджера".

не включать в карту

sitemap_no

check

Отменяет включение данного объекта (раздела) в карту сайта Не наследуется.

не включать дочерние в карту

sitemap_no_childs

check

Отменяет включение дочерних объектов в карту сайта Не наследуется.

не делать ссылку на карте

sitemap_nolink

check

Отменяет ссылку на данный объект в карте сайта (выводится только заголовок объекта) Не наследуется.

ГОЛОСОВАНИЕ-РЕЙТИНГ

rate

 

параметра модуля Голосование

активно

rate_active

check

 

вид рейтинга

rate_type

mselect

 

вес оценки

rate_val

number

 

голосование

vote_is

check

Данный объект является голосованием. Все параметры данной группы (vote) устарели в связи с вводом модуля rate (голосования и рейтинги).

активно?

vote_active

check

Признак того, что данное голосование еще активно. Стиль выводит форму для голосования.

благодарность

vote_thanks

text

Текст для проголосовавших посетителей.

уже голосовал

vote_already

text

Текст для проголосовавших посетителей.

режим голосование

vote_mode

radio

Задает режим уникальности голосования (по IP-адресам или cookies)

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

vote_cnt

number

Количество проголосовавших за данный вариант ответа.

ip или cookies

vote_data area

textarea

IP-адреса или cookies проголосовавших за данный вариант ответа (в зависимости от режима).

цвета для голосования

view_vote_colors

select

Задает набор цветов для рисования гистограммы с результатами

ИМПОРТ ЭКСПОРТ

impex

 

параметры импорта и экспорта

куда загружать

loader_to

number

Идентификатор родительского объекта для импорта

файл

loader_file

file

Тестовый файл для импорта с описанием полей (атрибутов и параметров) или архив (zip, rar) с файлом-описанием (list.txt) и другими внешними файлами.

xml канал для импорта

import_xml

text

 

разделитель записей

export_delimline

text

Разделитель записей для экспорта (по умолчанию - новая строка).

разделитель полей

export_delim

text

Разделитель полей для текстового формата (по умолчанию ;).

формат

export_format

select

Задает формат экспортного файла

кодировка

export_encode

select

 

атрибуты и параметры

export_params

text

Список параметров и атрибутов, которые необходимых экспортировать или * (все)

RSS ЭКСПОРТ

rss

 

параметры RSS экспорта

заголовок канала

rss_title

text

Задает заголовок RSS-канала (узел channel/title)

описание канала

rss_description

text

Задает описание RSS-канала (узел channel/description)

язык канала

rss_language

text

Задает язык RSS-канала (узел channel/language)

ttl канала (в минутах)

rss_ttl

text

Задает интервал в минутах канала (узел channel/ttl)

параметры категории

rss_cat

text

Задает имя параметра, значение которого необходимо использовать для категории объектов (узел item/category)

категории фиксированные

rss_category

text

 

Использовать yandex: fulltext

rss_yandex

check

Устанавливает наличие дополнительного узла объекта с его полным содержимым (узел item/yandex:full-text)

каналы для подписки

rss_links

textarea

 

жанр материала

rss_genre

select

 

МЕНЕДЖЕР

manager

 

параметры модуля JM

образец дочерних

manager_example

mselect

SQL-условие, задающее объекты, являющиеся "образцами" для ввода типовых объектов (по умолчанию - parent_id=95). Не наследуется.

сортировка дочерних

manager_childs_sort

select

Устанавливает тип сортировки для вновь введенных объектов. По умолчанию - по дате ввода (последние наверху). Не наследуется.

графические ресурсы

manager_icons

text

Идентификатор объекта с собственными пиктограммами для работы административных модулей. Наследуется.

ресурсы по умолчанию

manager_deficons

select

Задает стандартный набор пиктограмм для работы административных модулей.

настройки менеджера

jmanager_conf

textarea

Настройки модулей: 

JManager  

cм. Настройки JM

Корзина заказов (указаны умолчания)

ajax=0 — использовать ajax при обновлении корзины / добавлении товаров

compare=0 — добавить колонку сравнения товаров

updateblocks[]=1234 

updateblocks[]=5555 — в таком формате указываются id блоков, которые система должна обновить после обновления корзины ajax-ом количество блоков не ограничено

compare=0 — добавить колонку для добавления товаров в сравнение

pos=1 — показывать порядковый номер товара или позицию (параметр prod_pos)

cnt=1 — позволить пользователю выбирать в корзине количество заказанных товаров

cntint=0 —число товаров может быть только целым

ut=1 — показывать единицы измерения (работает вместе с параметром prod_ut)

price=1 —  показывать цену товара (работает вместе с параметрами prod_price или prod_price_XX )

inwords=1 — показывать сумму прописью 

kop=1 — показывать копейки

print=1 — показывать печать заказа

pay=1 — включить оплату на сайте (требует хотя бы одну интегрированную платежную систему)

rating=1 — подсчитывать рейтинг товара (добавляет в момент создания заказа в каждый заказанный товар, в параметр prod_rating количество заказанных товаров, т.о. если включено в каждом товаре указано сколько раз его заказали). Параметр prod_rating должен существовать.

xml=0 — создавать xml-файл с заказом (должен существовать параметр order_file)

xmlname=order.xml — имя xml-файла с заказом

email=1 — отправлять копию заказа на e-mail заказчика (используется параметр order_email в заказе)

xmlpars= prod_art,prod_brand,prod_discount — (с версии 4.3.088) список параметров товара, которые записываются в заказе (в order_prod и order_file). По умолчанию пустой.

wherepromo — (с версии 4.3.084) sql-условие для выборки промокодов

для подключения Робокассы:

mrh0=логин в roboxchange 

mrh1=password 1 

mrh2=password 2 

curr=предлагаемая валюта платежа PCR

Карта сайта

style='show_list' — вид карты show_list или show_tree (раньше - sitemap_style) 

rootid=1 — корень менеджера (число или sql) (раньше - sitemap_root) 

open=1 — список раскрытых ветвей (show_tree) (раньше - sitemap_open) 

maxlev=4 — максимально число уровней(раньше - sitemap_deep) 

filter=' ' — фильтр карты (sql) 

text=0 — текстовый режим (show_tree) 

max_childs=50 — число дочерних в ветви (show_tree)

iconsize=16 — размер иконок дерева по умолчанию 16/32 

addfields=array() — [] - массив для показа дополнительных параметров, атрибутов, формат как для JManager

СЛУЖЕБНЫЕ

internal

 

служебные параметры

спецкод?

cl_code_is

check

Служебный признак классификаторов базы данных (спецобъектов).

текущая локаль

site_locale

text

Задает текущую локаль (национальные и языковые настройки) для правильного отображения дат, денежных единиц и пр. Устанавливается вместе с параметром "язык подраздела". По умолчанию - 'ru_RU.cp1251'

дополнение ссылки

block_addurl

text

Строка,. добавляемая ко всем ссылкам на дочерние объекты блока.

фильтр выборки блоков

filter_blocks

text

Дополнительное условие, ограничивающее условие выборки блоков.

фильтр выборки дочерних

filter_childs

text

Дополнительное условие, ограничивающее выборку дочерних объектов.

внешняя база данных

block_altbase

text

Имя альтернативной базы данных для обмена объектами разных сайтов на одном ядре.

внешний сайт

block_alturl

text

Имя альтернативного сайта на этом же ядре для обмена объектами.

формат полной даты

view_dateformat

text

Задает формат полной даты публикации (атрибут p_datetime). Использует текущую локаль (параметр site_locale). Синтаксис функции strftime(). По умолчанию: '%x %H:%M' (ДД.ММ.ГГГГ ЧЧ:ММ)

%a

сокращенное название дня недели в текущей локали

%A

полное название дня недели в текущей локали

%b

сокращенное название месяца недели в текущей локали

%B

полное название месяца недели в текущей локали

%c

предпочтительный формат даты и времени в текущей локали

%C

столетие (год/100 и огругленный до целого) от 00 до 99

%d

день месяца в виде десятичного числа от 01 до 31

%D

аналогично %m/%d/%y

%e

день месяца в виде десятичного числа от 1 до 31

%h

аналогично %b

%H

час от 00 до 23

%I

час от 01 до 12

%j

номер дня в году от 001 до 366

%m

номер месяца от 01 до 12

%M

минуты от 00 до 59

%n

символ "новой строки"

%p

"am" или "pm", или соответствующие строки в текущей локали

%r

время в формате a.m. или p.m.

%R

время в 24-часовом формате

%S

секунды от 00 до 59

%t

символ табуляции

%T

текущее время, аналогично %H:%M:%S

%u

номер дня недели от 1 до 7 (1 соответствует понедельнику)

%U

номер недели (1-й день 1-й недели - 1-е воскресенье года).

%W

номер недели (1-й день 1-й недели - 1-й понедельник года).

%w

номер дня недели от 0 до 6 (0 соответствует воскресенью)

%x

основной формат даты без времени (от настроек сервера)

%X

основной формат времени без даты (от настроек сервера)

%y

год без столетия от 00 до 99

%Y

год, включая столетие от 0000 до 9999

%Z

временная зона в виде смещения, аббривеатуры или  имени

%%

символ "%"

 Наследуется.

домен

site_domain

textarea

Назначение отдельного домена (или нескольких) для определенной ветви сайта Не наследуется.

функция

site_function

select

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

функция блока

site_function_block

select

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

библиотека шаблонов

site_templates

file

XSL-файл с шаблонами сайта и отдельных блоков. Не наследуется. Основной файл шаблонизатора можно загрузить только через модуль styles.

статистика по разделам

stat_branch

text

Задает "разделы" сайта для формирования статистики (SQL-условие)

запретить зеркала

site_one_domain

check

 

СЕКЬЮРИТИ

secur

 

управление IP-доступом

разрешенные IP

secur_ena_ip

text

Список IP-адресов, с которых разрешен просмотр данной страницы (ветви) сайта Наследуется.

разрешенные IP для записи

secur_ena_ip_post

text

Список IP-адресов, с которых разрешена отправка форм на данной странице (ветви) сайта Наследуется.

запрещенные IP

secur_dis_ip

text

Список IP-адресов, с которых запрещен  просмотр данной страницы (ветви) сайта Наследуется.

запрещенные IP для записи

secur_dis_ip_post

text

Список IP-адресов, с которых запрещена отправка форм на данной странице (ветви) сайта Наследуется.

текст запрета

secur_dis_text

text

Текст, выдаваемый при запрете захода или записи на данной странице (ветви) сайта Наследуется.

запрещенные выражения

secur_dis_regexp

textarea

Запрещает ввод форм с определенными словами (выражениями). На каждой строке в значении параметра указывается слово или регулярное выражение, задающие запрещенные слова для ввода во все текстовые поля форм. В слове можно примерять знаки подстановки для обозначения любых букв (%*) или одной буквы (._). Регулярное выражение синтаксиса PCRE regex нужно заключать в /слеши/. (только forumx,form) Наследуется.

запрещенные данные посетителя

secur_dis_userdata

textarea

Запрещает ввод форм определенным посетителям сайта. Синтаксис аналогичен secur_dis_regex. Поиск ведется в полях, записываемых в параметр forum_userdata (только forumx,form) Наследуется.

ЗАПРОС HTTP

gethttp

 

получение данных по HTTP

host

gethttp_host

text

Адрес хоста для получения запроса. Пример: www.nic.ru

dir

gethttp_dir

text

Адрес директории для запроса. Пример: /whois/

query

gethttp_query

text

Строка GET-запроса. Пример: ?ip=212.67.0.83

timeinterval

gethttp_timeinterval

number

Интервал кэширование запроса в секундах.

process

gethttp_process area

textarea

Программный код для обработки результата запроса.

РАССЫЛКА

mailing

 

параметры рассылки новостей

раздел для подписки

site_subscribe

check

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

группа подписчиков

mail_group

number

Идентификатор группы пользователей-подписчиков сайта

проверять e-mail

mail_check

check

Формирует письмо для подтверждения подписки при регистрации пользователя на сайте или изменении профиля

текст подтверждения

mail_check_body

text

Текст письма для подтверждения подписки

заголовок подтверждения

mail_check_header

text

Заголовок письма для подтверждения подписки

From: для рассылки

mail_from

text

Поле From письма с рассылкой

Subject: для рассылки

mail_subject

text

Поле Subject письма с рассылкой

заголовок в рассылке

mail_header

textarea

Текст в начале письма с рассылкой

подпись в рассылке

mail_tail

textarea

Текст в конце письма с рассылкой

ПОИСК

search

 

параметры модуля Поиск

раздел для поиска

site_search

check

Устанавливает раздел сайта для поиска. Все объекты данной ветви будут доступны для поиска на сайте (по умолчанию доступны все объекты сайта, кроме спецрубрик).

текст

search_text2

text

Тест для поиска. Введенное в форме значение сравнивается с заголовком, аннотацией, контентом и параметрами объектов.

правила поиска

search_rules

select

Задает правила обработки поля search_text2 при поиске:
0=искать точную фразу (слово)
2=искать любое из указанных слов
3=искать все указанные слова
1=расширенный запрос (с использованием wildcard и логических выражений)

дата от

search_date1

date

Начальная дата публикации объектов для поиска. Возможно использование модификаторов usedate и defdate

дата до

search_date2

date

Конечная дата публикации объектов для поиска. Возможно использование модификаторов usedate и defdate

разделы сайта

search_rubrics

list

Разделы сайта для поиска.

сортировка

search_order

select

Задает порядок сортировки результатов поиска.

ограничение поиска

search_limit

number

Максимальное число найденных объектов.

в разделах для поиска

search_tree

check

Искать только в "разделах сайта для поиска".

условие для поиска

search_where

text

Дополнительное условие для поиска.

фильтр поиска

search_filter

select

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

ФОРМА ОТЗЫВЫ

comment

 

 

имя

comment_name

text

 

e-mail

comment_email

text

 

вопрос

comment_text

textarea

 

ФОРУМ

forum

 

параметры модуля Форум (forumx)

имя

forum_name

text

Ник или имя посетителя. Может заполняться автоматически значением параметра user_nick или name, если пройдена авторизация или из COOKIE. Обработчик не допустит записи с ником или именем чужого посетителя

цена сообщения

forum_ratingcost

text

"Цена" одного сообщения форума. При добавлении / удалении сообщений значения параметра user_rating изменяется на величину forum_ratingcost

сообщений в теме

forum_cnt

text

Счетчик количества сообщений в теме форума. При добавлении / удалении сообщений параметр будет обновлен у всех родителей.

дата обновления темы

forum_update

date

Дата и время добавления последнего сообщения в теме.

настройки форума

forum_conf

textarea

Конфигурация и стартовые настройки модуля Форум (forumx):
view=tree - вид форума древовидный / линейный
sort=desc - сортировка сообщений для линейного вида
autofill=1 - заполнять поля формы (name, email)
bbtag=1 - обрабатывать bb-Тэги
cookieconf=1 - сохранять конфигурацию в COOKIE
showprofile=1 - отображать профили пользователей
subj_own=0 - владелец может удалять сообщения темы
textctrl=0 - показывать кнопки текстом или графикой
newtimer=300 - время для сброса New! в секундах
keytimer=300 - время ключей редактирования в сек
photo_x=50 - ширина аватара в пикселях
photo_y=50 - высота аватара в пикселях
icon_align_x=200 - предел обтекания графики текстом
icon_x=300 - не масштабировать если ширина меньше
icon_y=300 - не масштабировать если высота меньше
padding=25 - отступ для структурированного вида
smallwin=500,500,0,'resizable=yes’ - параметры окна для профиля пользователя

ФОРУМ ТЕМА

forumthem

 

 

тема

forum_subj

text

 

ФОРУМ СООБЩЕНИЕ

forummes

 

 

имя

forum_name

text

 

e-mail

forum_email

text

 

текст

forum_mess

textarea

 

ПОЛЬЗОВАТЕЛЬ

user

 

параметры регистрации

Имя

name

text

Имя зарегистрированного пользователя (автопараметр)

Login

login

text

Логин зарегистрированного пользователя (автопараметр)

Password

password

password

Пароль зарегистрированного пользователя (автопараметр)

E-mail

email

text

E-mail зарегистрированного пользователя

Ник для форума

user_nick

text

Ник пользователя в форуме (для forumx)

ПОЛЬЗОВАТЕЛЬ СЛ.

user_internal

 

служебные параметры пользователя

Настройки менеджера

user_jmanager_conf

textarea

Стартовые настройки модуля JM для данного пользователя. (См. Настройки JM).

Без изменения данных

user_noedit

check

Запрещает данному пользователю изменять свой профиль.

Автоматическая авторизация

user_autologin

check

Запоминает последний введенный login и password и автоматически авторизирует посетителя в течении одного года.

Запомнить на сайте

user_autologin

select

number

Запоминает последний login и password на указанное число дней и автоматически авторизирует посетителя в течении этого периода. Число дней должно быть больше 1. (Альтернатива предыдущему параметру)

Ник для форума

user_nick

text

 

Организация

user_org

text

 

Фотография

user_photo

image

 

Рейтинг

user_rating

text

Счетчик сообщений зарегистрированного посетителя в форуме. Изменяется при добавлении / удаления сообщений как им самим посетителем, так и модератором через интерфейс панели. "Цена" единицы указывается в параметре forum_ratingcost (для forumx)

ПОДПИСКА

user_subscribe

 

параметры подписки пользователя

Активизация подписки

subscribe_active

check

Включение/выключение подписки.

Интервал

subscribe_interval

select

Интервал подписки в часах.

Тип подписки

subscribe_style

select

Тип подписки (формат, объем).

Разделы сайта

subscribe_rubs

list

Разделы сайта, выбранные для подписки.


5.4. Синтаксис SQL-выражений

SQL-выражения используются в системе TreeGraph для задания значений параметров, управляющих различными выборками или условиями показа объектов, а также при работе с фильтром модуля JM. В выборку попадают те объекты из базы данных, для которых установленное выражение (условие) верно (истинно, =1). Синтаксис данных выражений полностью соответствует определению WHERE в SQL-операторе SELECT. Выражение может содержать:

1. Имена переменных (любой атрибут объекта TreeGraph или параметр, хранящийся в таблице в виде отдельного поля)

2. Круглые скобки () - для группировки отдельных выражений и определения порядка выполнения операции.

3. Операторы сравнения

= - Равно

<> или !=  - Не равно

<= - Меньше или равно

<  - Меньше

>=  - Больше или равно

>  - Больше

expr BETWEEN min AND max - Величина выражения expr находится в диапазоне min, max. Аналог (min<=expr AND expr<=max)

expr NOT BETWEEN min AND max - Величина выражения expr находится вне диапазона min, max.

expr IN (value,...) - Выражение expr равно любой величине из списка IN

expr NOT IN (value,...) - Выражение expr не равно ни одной из величин из списка IN

4. Логические операторы

NOT - Логическое НЕ. Возвращает 1, если операнд равен 0, 0 если операнд - ненулевая величина.

AND - Логическое И. Дает 1 если все операнды ненулевые, 0 если один или более операндов равны 0.

OR - Логическое ИЛИ. Возвращает 1, если любой из операндов не 0, в остальных случаях возвращает 0.

XOR - Логический XOR (побитовое сложение по модулю 2). Возвращает 1 если нечетное количество операндов - не 0.

5. Функции сравнения строк

expr LIKE pat - Функция производит сравнение с шаблоном, используя операции сравнения простых регулярных выражений в SQL.

expr NOT LIKE pat - Аналог NOT(expr LIKE pat).

Шаблон pat должен быть ограничен кавычками или апострофами и может содержать произвольный текст и следующие специальные символы:

% - Соответствует любому количеству символов, даже нулевых

_ - Соответствует ровно одному символу 

\% - Соответствует одному символу %

\_ - Соответствует одному символу _

expr REGEXP epat - Выполняет сравнение строкового выражения expr с шаблоном epat (расширенное регулярное выражение).

expr NOT REGEXP epat - То же, что и NOT(expr REGEXP epat).

Регулярное выражение epat должно быть ограничено кавычками или апострофами Кроме текста, в нем могут использоваться любые специальные символы/структуры из числа приведенных ниже:

^ - Соответствие началу строки.

$ - Соответствие концу строки.

. - Соответствие любому символу (включая перевод строки).

a* - Соответствие любой последовательности из нуля или более символов "a".

a+ - Соответствие любой последовательности из одного или более символов "a".

a? - Соответствие как нулю, так и одному символу "a".

de|abc - Соответствие как последовательности de, так и последовательности abc.

(abc)* - Соответствие нулю или более вхождениям последовательности abc.

a{i} - Последовательность, состоящая из i вхождений данного элемента.

a{i,} - Последовательность, состоящая из i и более вхождений данного элемента.

a{i,j} - Последовательность, состоящая от i до j вхождений данного элемента. 

[a-dX] - Устанавливает соответствие для любого символа, являющегося символом a, b, c, d или X

[^a-dX] - Устанавливает соответствие для любого символа, не являющегося символом a, b, c, d или X

MATCH (col1,col2,...) AGAINST (expr)

MATCH (col1,col2,...) AGAINST (expr IN BOOLEAN MODE)  - Функция используется для полнотекстового поиска и возвращает величину релевантности - степень сходства между текстом в столбцах (col1,col2,...) и запросом expr. Величина релевантности представляет собой положительное число с плавающей точкой. Нулевая релевантность означает отсутствие сходства.

6. Арифметические операции

+ - Сложение

- - Вычитание

* - Умножение

/ - Деление

7. Строковые функции (см. описание MySQL)

8 .Математические функции (см. описание MySQL)

9. Функции даты и времени (см. описание MySQL)

10. Другие функции (см. описание MySQL)

11. Константы (числа, строки, даты)

В качестве констант также можно использовать выражение $PARAMS[имя_параметра]. В этом случае при осуществлении выборки данное выражение заменяется на значение указанного параметра для текущего объекта. Это значение может установлено как в самом объекте, так и быть унаследовано от родителя или вышестоящих объектов (см. примеры).

Выражение $PARAMS[имя_параметра] можно использовать в основном тексте объекта (контенте) и в следующих параметрах:

ссылка - url

перенаправить - redirect

onclick - onclick

условие выбора - block_where

условие показа - block_check

заголовок блока - block_header

ссылка заголовка блока - block_header_link

концовка блока - block_tail

ссылка концовки блока - block_tail_link

условие связки - art_links

фильтр менеджера - manager_filter

условие для поиска - search_where

http запрос - http_query'

В качестве имя_параметра можно указать имя (переменную) любого параметра сайта, а также некоторые дополнительные ключевые слова (перед ключевым словом PARAMS необходимо добавить символ $):

PARAMS[today] - текущий день в формате ДД.ММ.ГГГГ

PARAMS[time] - текущее время в формате ЧЧ:ММ (время начала формирования HTML-страницы)

PARAMS[rand1] - сгенерированное случайное число 1

PARAMS[rand2] - сгенерированное случайное число 2

PARAMS[ip] - IP-адрес текущего пользователя

PARAMS[user_id] - идентификатор текущего пользователь (если он авторизован)

PARAMS[id] - идентификатор текущего объекта (страницы)

PARAMS[parent_id] - идентификатор родительского объекта текущей страницы

PARAMS[mess_header] - заголовок текущего объекта (страницы)

PARAMS[p_date] - день публикации текущего объекта в формате ДД.ММ.ГГГГ

PARAMS[parents_list] - список родительской ветви текущего объекта от корня до самого объекта через запятую

PARAMS[query_string] - строка запроса броузера

 

Примеры задания параметра "условие выбора" block_where

Описание выборки

id=1210

выбрать объект с идентификатором 1210

id=110 or id=111 or id=112

выбрать объекты с идентификаторами 110, 111, 112

id in (110,111,112)

выбрать объекты с идентификаторами 110, 111, 112

parent_id=201

выбрать объекты, дочерние для объекта с идентификатором 201

parent_id=201 and id<>111

выбрать объекты, дочерние для объекта с идентификатором 201, кроме объекта 111

parent_id in (201,202) and id not in (111,112)

выбрать объекты, дочерние для объектов 201 и 202, кроме объектов с идентификаторами 111, 112

parent_id=200 and ro=1

выбрать объекты дочерние к 200 и открытые всем на чтение

parents like '1,200,201%'

выбрать объект 201 и всех его потомков  (ветвь)

parents like '1,200,201,%' and level in (3,4)

выбрать объекты из ветви объекта 201 и находящиеся на уровнях 3 или 4

id in ($ PARAMS[parents_list]) and level>0 and id<>$ PARAMS[id]

выбрать объекты-родители, начиная с 1-го уровня, не включая текущий объект

mess_header like 'ab%'

выбрать объекты с заголовком, начинающимся с текста "ab"

mess_header like 'a__'

выбрать объекты с заголовком, начинающимся с буквы "a" и длиной в 3 символа

mess_short<>'' and mess_short not like '%сайт%'

Выборка объектов, у которых есть аннотация и она не содержит слово "сайт"

art_is=1 and art_type=2

выбрать объекты с установленным параметром art_is и параметром art_type равным 2

art_type='$ PARAMS[art_type]'

выбрать объекты с параметром art_type, равным текущему значению данного параметра

art_is and p_date='$ PARAMS [today]'

выбрать объекты с установленным параметром art_is и , сегодняшней датой публикации

art_is and id<>$ PARAMS[id]

выбрать объекты с установленным параметром art_is, кроме текущего объекта

publish_date >= DATE_SUB(NOW(),INTERVAL 3 day)

выбрать объекты, опубликованные за последние 3 дня

publish_date >= '2007-12-01 00:00:00' and publish_date <= '2007-12-31 23:59:59'

выбрать объекты, опубликованные в декабре 2007 года

seans_date1 <= NOW() and seans_date2 >= NOW()

выбрать объекты, для которых сегодняшняя дата и текущее время попадают в указанный временной интервал seans_date1 и seans_date2.

DATE_FORMAT(cont_bdate,'%m%d')=DATE_FORMAT(NOW(),'%m%d')

выбрать объекты с "днем рожденья" (параметр cont_bdate), равным сегодняшнему числу (без учета года)

cont_bdate>0 and
DATE_ADD(DATE_FORMAT(NOW(),'%Y%m%d'), INTERVAL 1 MONTH) > DATE_FORMAT(cont_bdate,CONCAT(YEAR(NOW()),'%m%d')) and DATE_FORMAT(NOW(),'%Y%m%d') < DATE_FORMAT(cont_bdate,CONCAT(YEAR(NOW()),'%m%d'))

выбрать объекты с "днем рожденья" (параметр cont_bdate), в течении ближайшего месяца (без учета года)

ip = '212.67.0.51'

выбрать объекты, введенных с ip адреса 212.67.0.51

ip like '212.67.0.%'

выбрать объекты, введенных с ip адресов сети 212.67.0.х

cnt > 10

выбрать объекты, у которых количество дочерних больше 10

match(art_words) against('$ PARAMS[art_words]' in boolean mode) and id<>$ PARAMS[id]

выбрать объекты с такими же ключевыми словами (параметр art_words), как у текущего объекта, кроме самого объекта

 

 

 

 

 

 

Примеры задания параметра "условие показа" block_check

Описание

1 или 1=1

показать на всех страницах сайта

id=1210

показать на странице объекта с идентификатором 1210

id in (200,201,302)

показать на страницах перечисленных объектов

parent_id=201

показать на страницах объектов, дочерних объекту 201

parents_id=201

показать на страницах объектов, находящихся в ветви с корнем 201 (parents_id - фиктивный атрибут, данный запрос автоматически заменяется на нижеследующий)

id='201' or parents like '%,201,%'

запрос аналогичный предыдущему

parents_id in (201,203)

показать на страницах объектов в ветвях с перечисленными корнями (parents_id - фиктивный атрибут, данный запрос автоматически заменяется на нижеследующий)

id in (201,203) or parents like '%,201,%' or parents like '%,203,%'

запрос аналогичный предыдущему

parents_id not in (100)

показать на всех страницах сайта, кроме объектов в ветви с корнем 100 (parents_id - фиктивный атрибут, данный запрос автоматически заменяется на нижеследующий)

id not in (100) and parents not like '%,100,%'

запрос аналогичный предыдущему

art_is

показать на страницах объектов с установленным параметром art_is (равным 1)

art_is and p_date='$ PARAMS[today]'

показать на страницах объектов с установленным параметром  art_is и сегодняшней датой публикации


5.5. Структура XML-дерева страницы

<?xml version="1.0" encoding="UTF-8"?>

<page style="main" date="19.11.2005" time="" query_string="id=202" request_uri="/?id=202" doc_root="" local_manager_need="1">

    секция user - данные пользователя – посетителя страницы

    <user id="" name="" uid="" registered="" email="" login="" ip="">

        группы в которые входят пользователь

        <groups>

            <group id="1">root</group>

        </groups>

        параметры профиля пользователя, включяя данные о подписке на рассылки

        <params>

            <email>dis@graphit.ru</email>

            <user_org>Graphit</user_org>

            <subscribe_interval id="24">ежедневно</subscribe_interval>

            <subscribe_style id="text_short">текст - кратко</subscribe_style>

            <subscribe_rubs>

                <items>

                    <item id="201" value="1">Новости компании</item>

                </items>

            </subscribe_rubs>

        </params>

    </user>

    секция handler - данные обработчика страницы, данные модулей

    <handler>

        <childs_all>6</childs_all>

        <versions>3.6.121 08.11.2005 - func<br></versions>

        ...

    </handler>

    секция params – текущие параметры данной страницы с учетом унаследованных параметров и оверкитов

    <params>

        <site_email_admin>info@graphit.ru</site_email_admin>

        <site_lang>ru</site_lang>

        <site_css_file>/_data/objects/00001/site_css_file.css</site_css_file>

        ...

    </params>

    секция selected – данные, введенные пользователем в форме

    <selected>

        <search_date1>01.01.1998</search_date1>

        ...

    </selected>

    секция meta – описания всех параметров сайта

    <meta>

        <site_email_admin>

            <group_description>ОБЩИЕ</group_description>

            <group_name>site</group_name>

            <name>site_email_admin</name>

            <description>e-mail общий</description>

            <type>text</type>

            <required>0</required>

            <storage>1</storage>

        </site_email_local>

        <site_lang>

            <group_description>ОБЩИЕ</group_description>

            <group_name>site</group_name>

            <name>site_lang</name>

            <description>язык подраздела</description>

            <type>select</type>

            <required>0</required>

            <storage>1</storage>

            <items>

                <item id="ru">russian</item>

                <item id="en">english</item>

            </items>

        </site_lang>

        ...

    </meta>

    секция message – данные текущей страницы, ее дочерних и родителей

    <message style="standart_icon" position="main" id="202" parent_id="200" p_datetime="18.03.2005" e_date="18.03.2005" e_time="17:08" p_date="18.03.2005" p_time="17:08" m_date="29.09.2005" m_time="18:37" publish_date="2005-03-18 17:08:00" modify_date="2005-09-29 18:37:04" enter_date="2005-03-18 17:08:19" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="6" ip="212.67.0.130" host="office3.graphit.ru" level="2" priority="001000" r="1" w="1" x="1">

        заголовок страницы

        <mess_header>О компании</mess_header>

        <tree_order>/000000/998980/999000</tree_order>

        <mess_header_notags>О компании</mess_header_notags>

        <childs_all>6</childs_all>

        параметры страницы (только собственные)

        <params>

            <view_title>О компании</view_title>

        </params>

        дочерние страницы

        <childs>

            <message id="201" parent_id="202" p_datetime="18.03.2005" p_date="18.03.2005" p_time="16:49" m_date="19.11.2005" m_time="13:40" publish_date="2005-03-18 16:49:00" modify_date="2005-11-19 13:40:13" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="34" level="3" priority="001060" r="1" w="1" x="1">

                <mess_header>Новости компании</mess_header>

                <mess_short>События, акции, награды, новые проекты.</mess_short>

                <params>

                    <site_subscribe>1</site_subscribe>

                    <view_block id="standart_icon">стандарт с иконками [вер.таблица]</view_block>

                ...

                </params>

            </message>

            ...

        </childs>

        родители страницы

        <parents>

            <message id="1" parent_id="0" p_datetime="09.04.2004" p_date="09.04.2004" p_time="17:23" publish_date="2004-04-09 17:23:00" user_id="1" group_id="1" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="3" level="0" r="1" w="1" x="1">

                <mess_header>Графит</mess_header>

                <params>

                    <site_name>Студия Графит</site_name>

                    <site_url>http://www.graphit.ru</site_url>

                    ...

                </params>

            </message>

            <message id="200" parent_id="1" p_datetime="06.03.2003" p_date="06.03.2003" p_time="11:52" publish_date="2003-03-06 11:52:00" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="5" level="1" r="1" w="1" x="1">

                <mess_header>Главная</mess_header>

                <params>

                    <redirect>/</redirect>

                    <site_search>1</site_search>

                </params>

            </message>

            <message id="202" parent_id="200" p_datetime="18.03.2005" p_date="18.03.2005" p_time="17:08" publish_date="2005-03-18 17:08:00" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="6" level="2" r="1" w="1" x="1">

                <mess_header>О компании</mess_header>

                <params>

                    <view_title>О компании</view_title>

                </params>

            </message>

        </parents>

    </message>

    секция blocks – данные блоков для текущей страницы

    <blocks>

        непосредственно блок, его параметры и атрибуты

        <message style="image_hor" position="block_header1" id="172" parent_id="164" p_datetime="01.10.2003" p_date="01.10.2003" p_time="13:28" m_date="26.10.2005" m_time="12:33" publish_date="2003-10-01 13:28:00" modify_date="2005-10-26 12:33:18" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="0" level="4" priority="001080" r="1" w="1" x="1">

            <mess_header>шапка верхняя</mess_header>

            <cached_file>/usr/local/webserver/tree36/g/graphit/_data/cache/172.html</cached_file>

            <params>

                <view_block id="image_hor">графика | флэш | контент [гор.таб] [comm]</view_block>

                <block_is>1</block_is>

                <block_pos id="block_header1">HEADER1</block_pos>

                <block_order id="tree_order">натуральная</block_order>

                <block_limit>2</block_limit>

                <block_where>id in (170,220)</block_where>

                <block_check>1</block_check>

            </params>

            выбранные в данный блок страницы (объекты)

            <childs>

                <message id="170" parent_id="181" p_datetime="15.07.2003" p_date="15.07.2003" p_time="09:48" m_date="26.10.2005" m_time="12:32" publish_date="2003-07-15 09:48:00" modify_date="2005-10-26 12:32:59" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="0" level="4" priority="001020" r="1" w="1" x="1">

                    <mess_header>Graphit</mess_header>

                    <params>

                        <url>/</url>

                        <icon>

                            <img width="143" height="114" alt="Graphit" src="/_data/objects/00170/icon.gif" border="0"/>

                        </icon>

                    </params>

                </message>

                <message id="220" parent_id="181" p_datetime="15.07.2003" p_date="15.07.2003" p_time="09:48" m_date="26.10.2005" m_time="12:32" publish_date="2003-07-15 09:48:00" modify_date="2005-10-26 12:32:47" user_id="1" group_id="2" rg="1" wg="1" xg="1" ro="1" wo="0" xo="0" cnt="0" level="4" priority="001010" r="1" w="1" x="1">

                    <mess_header>Студия Графит</mess_header>

                    <params>

                        <url>/</url>

                        <icon>

                            <img width="201" height="114" alt="Студия Графит" src="/_data/objects/00220/icon.gif" border="0"/>

                        </icon>

                    </params>

                </message>

            </childs>

        </message>

        ...

    </blocks>

    секция icons – иконки, используемые стилями и модулями сайта

    <icons>

        <action>

            <img src="/comm/images/16_1/action_up.gif" action="up" alt="up" alt_ru="выше" width="16" height="8" border="0"/>

            <img src="/_data/objects/00018/ar01.gif" action="ar01" alt="" width="25" height="25" border="0"/>

            ...

        </action>

        <def>

            <img src="/comm/images/16_1/folder_null.gif" def="null" alt="" width="16" height="16" border="0"/>

            <img src="/comm/images/16_1/folder_def.gif" def="def" alt="" width="16" height="16" border="0" lowsrc="/comm/images/16_1/folder_defcur.gif"/>

            ...

        </def>

        <id>

            <img src="/comm/images/16_1/folder_root.gif" id="1" alt="home" alt_ru="главная" width="16" height="16" border="0"/>

            ...

        </id>

        <parent_id>

            <img src="/comm/images/16_1/folder_book.gif" parent_id="5" alt="help" alt_ru="справочники" width="16" height="16" border="0" lowsrc="/comm/images/16_1/folder_book_cur.gif"/>

            ...

        </parent_id>

        <handler>

            <img src="/comm/images/16_1/folder_params.gif" handler="params" alt="params" alt_ru="параметры" width="16" height="16" border="0"/>

            ...

        </handler>

        <param>

            <img src="/comm/images/16_1/folder_url.gif" param="url" alt="" width="16" height="16" border="0"/>

            ...

        </param>

        <file>

            <img src="/comm/images/16_1/file_tmp.gif" file="tmp" width="16" height="16" border="0"/>

            <img src="/comm/images/16_1/file_doc.gif" file="doc" width="16" height="16" border="0"/>

            ...

        </file>

    </icons>

</page>

 


5.6. Библиотека шаблонов и стилей

Библиотека шаблонов и стилей сайта представляет собой набор XSL-кодов (правил), применяемых к различным наборам XML-данных отображаемых страниц. Основная задача библиотеки - генерация HTML-кода для отдельных блоков и всей страницы с требуемым оформлением. Библиотека каждого сайта (проекта) состоит из одного собственного файла и нескольких общих:

site_templates.xsl - Набор собственных или переопределенных шаблонов, стилей и подстилей сайта.
treegraph.xsl - Набор общих шаблонов, стилей и вспомогательных подстилей для всех проектов.
mailerx.xsl - Набор общих стилей для оформления рассылки.
vote.xsl - Набор общих стилей для оформления голосования.
forumx.xsl - Набор общих стилей для организации структурированного форума.

Шаблон представляет собой XSL-код, описывающий структуру всей страницы сайта. Сайт может иметь несколько шаблонов для вывода отдельных страниц или ветвей. Для создания шаблона используется следующая конструкция:

< xsl:template match='/page[@style="ИМЯ_ШАБЛОНА"]' description="НАЗВАНИЕ ШАБЛОНА ">

  ТЕЛО ШАБЛОНА

< /xsl:template>

ИМЯ_ШАБЛОНА - уникальное имя шаблона, переменная, содержащая только латинские буквы, символ _ и цифры.
НАЗВАНИЕ ШАБЛОНА - краткое описание шаблона для выбора его при установке параметров "шаблон ветви" и "шаблон сообщения".
ТЕЛО ШАБЛОНА - содержит текст, HTML-, XSL-теги и наборы "позиций" для вставки блоков (см. ниже).

Стиль представляет собой XSL-код, описывающий структуру и внешний вид блока (набора данных) и логику его формирования. Стиль может сам формировать HTML-код из каких-либо атрибутов и параметров объектов, а может использовать различные вспомогательные подстили. Результат применения стиля к блоку представляет собой готовый HTML-код, который выводится в указанную позицию шаблона. Для создания стиля используется следующая конструкция:

< xsl:template match='message[@style="ИМЯ_СТИЛЯ"]' description="НАЗВАНИЕ СТИЛЯ">

  ТЕЛО СТИЛЯ

< /xsl:template>

ИМЯ_СТИЛЯ - уникальное имя стиля, переменная, содержащая только латинские буквы, символ _ и цифры.
НАЗВАНИЕ СТИЛЯ - краткое описание стиля для выбора его при установке параметров "стиль ветви" и "стиль сообщения".
ТЕЛО СТИЛЯ - содержит текст, HTML-, XSL-теги и вызовы вспомогательных подстилей.

Подстиль - это вспомогательный XSL-код, формирующий внешний вид (HTML-код) для одного объекта или отдельных параметров объекта. Подстили не имеют описания и могут использоваться только для применения в основных стилях или других вспомогательных подстилях. Для каждого подстиля можно задать к каким типам XML-данных он будет применяться и при выполнении каких условий. Для создания подстилей используются следующие конструкции:

< xsl:template match='message[УСЛОВИЕ]' mode='ИМЯ_ПОДСТИЛЯ'>

  ТЕЛО ПОДСТИЛЯ

< /xsl:template>

 

< xsl:template match='*[УСЛОВИЕ]' mode='ИМЯ_ПОДСТИЛЯ'>

  ТЕЛО ПОДСТИЛЯ

< /xsl:template>

 

< xsl:template name='ИМЯ_ПОДСТИЛЯ'>

  ТЕЛО ПОДСТИЛЯ

< /xsl:template>

ИМЯ_ПОДСТИЛЯ - уникальное имя стиля, переменная, содержащая только латинские буквы, символ _ и цифры.
ТЕЛО СТИЛЯ - содержит текст, HTML-, XSL-теги и вызовы других подстилей.

Для вызова подстилей используются следующие конструкции:

< xsl:apply-templates select='current()' mode='ИМЯ_ПОДСТИЛЯ'/>

 

< xsl:apply-templates select='current()' mode='ИМЯ_ПОДСТИЛЯ'>

    < xsl:with-param name='ИМЯ_ПАРАМЕТРА' select='ЗНАЧЕНИЕ_ПАРАМЕТРА'/>

< /xsl:apply-templates>

 

Списки представляют собой разновидность подстилей и предназначены для формирования внешнего вида одного объекта блока. Самостоятельного значения списки не имеют, а используются как вспомогательные подстили для некоторых стилей (с управляемым списком). Для создания списка используется следующая конструкция:

< xsl:template match='message[@cell="ИМЯ_СПИСКА"]' mode='cell_standart' description="ОПИСАНИЕ СПИСКА">

  ТЕЛО СПИСКА

< /xsl:template>

ИМЯ_СПИСКА - уникальное имя списка, переменная, содержащая только латинские буквы, символ _ и цифры.
ОПИСАНИЕ СПИСКА - краткое описание списка для выбора его при установке параметров "список ветви" и "список сообщения".
ТЕЛО СПИСКА - содержит текст, HTML-, XSL-теги и вызовы вспомогательных подстилей.

Для вызова списка внутри стиля используются следующие конструкции:

< xsl:apply-templates select='current()' mode='cell_standart'/>

 

< xsl:apply-templates select='current()' mode='cell_standart'>

    < xsl:with-param name='ИМЯ_ПАРАМЕТРА' select='ЗНАЧЕНИЕ_ПАРАМЕТРА'/>

< /xsl:apply-templates>

 

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

< xsl:apply-templates select='//message[@position="ИМЯ_ПОЗИЦИИ"]' description='ОПИСАНИЕ ПОЗИЦИИ'/>

ИМЯ_ПОЗИЦИИ - переменная, содержащая латинские буквы, _ и цифры.
ОПИСАНИЕ ПОЗИЦИИ - краткое описание (название) позиции для выбора ее при установке параметра блока "позиция".

Администратор с помощью модуля Стили может изменять (добавлять) только свои собственные шаблоны и стили, находящиеся в файле site_templates.xsl. Но при этом, он может переопределить любой общий шаблон или стиль, создав свой альтернативный с таким же именем. Возможно и "частичное" переопределение стиля, с указанием дополнительного условия его применения. Т.е., если в определении собственного стиля (подстиля) задано какое-либо условие и оно выполняется для объекта, то будет применен собственный стиль. В противоположном случае применяется общий стиль из библиотеки.


5.6.1. Описание шаблонов

Шаблон

Имя

Описание

Внешний вид

common

null

Пустой шаблон (заглушка).

 

шаблон печатной версии

print

Шаблон для вывода страницы в версии для печати. Формирует текстовое название сайта, блоки в центральных позициях и позиции print, контент текущего объекта. Не используются CSS-классы сайта. Применяется минимальное графическое оформление.

шаблон пустой

main_content

Шаблон для вывода одного объекта. Формирует HTML-страницу только с текущим объектом без каких-либо блоков. Объект выводится заданным стилем и с использованием CSS-классов.

шаблон пустой *без css

main_content_nocss

Шаблон аналогичный предыдущему, но при формировании страницы не используются CSS-классы сайта.

шаблон контента

main_content_only

Шаблон для вывода только контента (основного атрибута) текущего объекта. Не применяются никакие стили. Используются CSS-классы сайта.

шаблон контента без html

content

Шаблон аналогичный предыдущему, но при этом не формируются HTML-теги: html, head, title, link, body. Т.е. подразумевается, что контент объекта содержит полностью сформированную HTML-страницу.

шаблон графики

main_icon_only

Шаблон для вывода параметра "графика" текущего объекта. Изображение выводится в центре окна броузера. Шаблон может использоваться при организации фотогалерей с показом каждого объекта в отдельных окнах.

шаблон справки

help

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

шаблон основной

main

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


5.6.2. Описание стилей

Любые стили можно применять как на страницах и ветвях сайта (для отображения текущего объекта и его дочерних), так и в блоках (для показа выборки блока). Большинство типовых стилей формируют HTML-код, состоящий из набора отдельных элементов: отладка, заголовок, содержимое, список братьев, список дочерних, список страниц и концовка. Любой из них может отсутствовать. Для оформления блока используется параметр "css блока".

заголовок


содержимое


список братьев (страниц)





список дочерних






список страниц (братьев)
концовка

Рис. 1. Пример типового стиля

Отладка формируется с помощью служебного подстиля debug. Данная информация выдается только администратору сайте в том случае, если в строке запроса присутствует ключ adminaction=debug. Отладочная панель отображается непосредственно над сформированным HTML-кодом блока. На ней перечисляются все установленные параметры блока (страницы) и их значения, а также выдается список дочерних объектов или попавших в выборку блока. С панели можно вызвать модуль JM для изменения параметров блока или выбранных объектов.

Заголовок формируется с помощью подстиля head_standart. Если стиль применяется для страницы (ветви) сайта, то выводится заголовок текущего объекта (атрибут mess_header) и в некоторых случаях дата публикации (p_date). Для оформления используется CSS-классы header, date и параметр "css заголовка". Если стиль применяется для блока, то заголовок выводится только в том случае, если была сформирована выборка блока, т.е. есть список дочерних. Используются параметры: "заголовок блока", "заголовок блока графический" и "ссылка заголовка блока". Для оформления используется CSS-класс blockheader и параметр "css заголовка". Иногда для формирования сложных (комбинированных) заголовков применяется  подстиль head_comb.

Содержимое формируется с помощью подстиля mess_standart. Если стиль применяется для страницы (ветви) сайта, то выводится контент текущего объекта (атрибут mess_content) и параметр "графика" (icon). Если стиль применяется для блока и сформирована выборка, то выводится контент самого блока и его параметр "графика". Для оформления контента используется параметр "css контента". Для вывода графики применяется подстиль icon_standart.  Он использует параметры "imagemap", "css графики" и "максимальная ширина графики". Если параметр "css графики" отсутствует, то графическое изображение масштабируется (при необходимости) и отображается в левой верхней точке, перед контентом. При этом, если ширина изображения меньше 70% от максимальной, то оно будет "обтекаться" контентом слева. Если в объекте установлен параметр "imagemap", то рядом с изображением будет выведен соответствующий HTML-код. Подстиль mess_standart использует два специальные позиции шаблона CENTERbc и CENTERac. Если для текущей страницы сайта были сформированы блоки с этими позициями, то HTML-код данных блоков будет выведен непосредственно перед или после контента страницы.

Список братьев формируется с помощью подстиля list_numbers. Созданием данного списка управляют параметры "получение братьев" и " получение братьев (сообщение)". По умолчанию, список братьев не создается. Для его оформления используется CSS-класс menubottom и параметр "css архива".

Список дочерних представляет собой HTML-код с перечнем объектов, дочерних текущему (если стиль применяется на странице сайта) или объектов, заданных выборкой (для блока). Список может формироваться как самим стилем, так и при помощи различных подстилей. Некоторые стили сайта используют так называемые "управляемые списки". Для них список дочерних формируется подстилями cell_standart в соответствии с заданным значением параметров "список ветви" и "список сообщения". Для оформления списка используется параметр "css списка".

Список страниц формируется с помощью подстиля arch_standart. Данный список применяется для постраничного просмотра списка дочерних объектов. Если стиль применяется для страницы (ветви) сайта, то список страниц создается в том случае, если задан параметр "сообщений на странице" (view_max_childs) и его установленное значение меньше, чем реальное количество дочерних объектов или заданных параметром "условием выбора". Если стиль применяется для блока, то список страниц создается в том случае, если установлен параметр "общее количество" и значение параметра "сколько" меньше, чем число объектов, удовлетворяющих условию выбора. Для оформления списка используется CSS-класс menubottom и параметр "css архива".

Концовка формируется с помощью подстиля tail_standart. Если стиль применяется для блока, то концовка выводится только в том случае, если была сформирована выборка блока, т.е. есть список дочерних. Используются параметры: "концовка блока", "концовка блока графическая" и "ссылка концовки блока". Для оформления используется CSS-класс blocktail и параметр "css концовки".

 

Стиль

Имя

Описание

Внешний вид

стандарт [упр.список]

standart

Стиль формирует заголовок, содержимое, список братьев, список дочерних, список страниц и концовку. Внешний вид списка дочерних управляется параметрами "список ветви" и "список сообщения" (см. ниже).

форма [упр.список]

form_list_table

Стиль формирует заголовок, содержимое, список братьев, интерактивную форму, список дочерних, список страниц (в двух экземплярах) и концовку. Внешний вид списка дочерних управляется параметрами "список ветви" и "список сообщения" (см. ниже). Поля и внешний вид формы задаются параметрами из группы "ФОРМА".

поиск [упр.список]

search_full

 

 

авторизация и регистрация [упр.список]

userlogin_block

 



таблица стандартная [упр.список] [comm]

table_std

 

таблица многоколоночная [упр.список] [comm]

table_cols

 


5.6.3. Описание списков

Списки - это специальные подстили, которые формируют HTML-код с перечнем объектов, дочерних текущему (если стиль применяется на странице сайта) или объектов, заданных выборкой (для блока). Списки используются только некоторыми стилями из библиотеки, в названии которых присутствует текст "[управляемый список]". Вид списка задается параметрами "список ветви" и "список сообщения". Для оформления списка используется параметр "css списка".

Список

Имя

Описание

Внешний вид

стандарт

cell_standart_window

 

стандарт нумерованный

cell_standart_numbers

 

стандарт с иконкой управляемый

cell_standart_icon

 

контент

cell_standart_content

 

файл

cell_standart_file

 

заголовок [вер]

cell_header_ver

 

заголовок [гор]

cell_header_hor

 

заголовок и маркер [вер]

cell_headerm_ver

 

заголовок и маркер [гор]

cell_headerm_hor

 

графика | флэш | контент [вер]

cell_image_ver

 

графика | флэш | контент [гор]

cell_image_hor

 

иконка и заголовок (old)

cell_icon_header

 

иконка | графика | флэш | контент (old)

cell_any

 

таблица параметров

cell_form_message

 

 


6. Условия поставки и стоимость

Условия поставки

Поставка ПО Система управления сайтом «TreeGraph» осуществляется по лицензионному договору в составе одной из комплексных услуг:

  • по развертыванию и настройке CMS на сервере заказчика,
  • по разработке сайта,
  • по поддержке сайта.

Редакции и стоимость

  Start Corporate E-commerce Multi tenant
Ядро TreeGraph + + + +
Джей-менеджер + + + +
Импорт + + + +
Экспорт + + + +
Конвертор + + + +
Редакторы + + + +
Статистика + + + +
Параметры - + + +
Пользователи - + + +
Стили (управление XSLT шаблонами через веб интерфейс) - + + +
Интерактивные формы (анкеты, опросы, отзывы и т.п.) + + + +
Рейтинги и голосования + + + +
Форумы + + + +
Поиск по сайту + + + +
Карта сайта + + + +
On-line регистрация, личный кабинет + + + +
Конфигуратор / Калькулятор + + + +
Каталог / Корзина заказов + - + +
RSS-каналы для сайта, XML, YML-экспорт данных + + + +
Создание вложенных сайтов со своими доменами - - - +
Цена, руб. (НДС не облагается) 10 000 20 000 30 000 50 000

Лицензионный договор


6.1. Лицензионный договор

ЛИЦЕНЗИОННЫЙ ДОГОВОР № ___

 

г. Нижний Новгород

«___» __________ ____ г.

 

ООО «Графит» в лице генерального директора Локтионова Дмитрия Николаевича, действующего на основании Устава, именуемое в дальнейшем «Лицензиар», с одной стороны, и __________ в лице __________, действующего на основании Устава, именуемое в дальнейшем «Лицензиат», с другой стороны, вместе именуемые «Стороны» и каждый в отдельности «Сторона», заключили настоящий Лицензионный договор о нижеследующем:

 

1. Термины и определения

1.1. Программное обеспечение – Система управления сайтом «TreeGraph», исключительные права на которые принадлежат Лицензиару.

1.2. Лицензия – право использования Программного обеспечения, указанного в п. 1.1 настоящего Лицензионного договора, в пределах, установленных настоящим Лицензионным договором.

 

2. Предмет Лицензионного договора и порядок передачи прав

2.1. В соответствии с настоящим Лицензионным договором Лицензиар обязуется передать Лицензиату неисключительные права использования Программного обеспечения Система управления сайтом «TreeGraph» на условиях простой (неисключительной) лицензии, именуемой в дальнейшем «Лицензия».

2.2. Количество экземпляров Программного обеспечения (количество лицензий) не ограничено.

2.3. Лицензия передается для коммерческого использования.

2.4. Лицензия передается Лицензиаром Лицензиату в день заключения настоящего Лицензионного договора по Акту передачи неисключительных прав на Программное обеспечение, который должен быть подписан обеими Сторонами.

2.5. Лицензия не распространяется на программные модули, разработанные третьими лицами для использования совместно с Программным обеспечением.

 

3. Исключительные права

3.1. Правомочие Лицензиара на предоставление Лицензиату прав использования Программного обеспечения подтверждается Свидетельством о государственной регистрации программ для ЭВМ № 2014660089 от 01.10.2014 г.

3.2. Программное обеспечение является результатом интеллектуальной деятельности Лицензиара и защищается законодательством Российской Федерации об авторском праве.

3.3. Право использования Программного обеспечения предоставляется Лицензиату и Конечному пользователю исключительно в объеме, оговоренном настоящим Лицензионным договором, если иное не предусмотрено дополнительным соглашением к Договору.

 

4. Условия использования Программного обеспечения

4.1. Лицензиат и/или Конечный пользователь имеет право использовать Программное обеспечение на неограниченном количестве рабочих месте или серверов следующими способами:

- хранение и установка Программного обеспечения в память ЭВМ и осуществление действий, необходимых для функционирования Программного обеспечения в соответствии с его прямым назначением;

- воспроизведение Программного обеспечения путем его записи в память ЭВМ;

- адаптация Программного обеспечения встроенными в него средствами, в том числе с привлечением третьих лиц, с целью использования Программного обеспечения;

- декомпиляция Программного обеспечения;

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

4.2. Лицензиат и/или Конечный пользователь не имеет права использовать Программное обеспечение следующими способами:

  - передача третьим лицам прав на использование Программного обеспечения по его прямому назначению без письменного согласия Лицензиара на передачу прав использования;

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

 

5. Территория действия Лицензионного договора

5.1. Права, указанные в предмете настоящего Лицензионного договора, предоставляются для использования в пределах Российской Федерации.

 

6. Срок действия Лицензионного договора

6.1. Настоящий Лицензионный договор вступает в силу с даты его заключения Сторонами и действует в течение всего срока предоставления Лицензиату неисключительных права на Программное обеспечение, указанного в пункте 6.2. настоящего Лицензионного договора.

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

 

7. Вознаграждение

7.1. Вознаграждение Лицензиара (цена соглашения) составляет ______ (__________) рублей 00 копеек,  НДС не облагается в связи с тем, что Лицензиар использует упрощенную систему налогообложения.

7.2. Цена соглашения включает в себя затраты, связанные с предоставлением права использования программного обеспечения, транспортные, страховые, командировочные расходы и иные расходы Лицензиара, связанные с исполнением Соглашения, а также расходы на уплату налогов, пошлин, сборов и других обязательных платежей, установленных действующим законодательством Российской Федерации и связанных с исполнением Соглашения.

7.3. Цена Соглашения является твердой и определяется на весь срок исполнения Соглашения.

7.4. Лицензиат оплачивает полную стоимость вознаграждения в течение 10 (десяти) дней с даты подписания Договора.

7.5. Моментом оплаты вознаграждения по настоящему договору считается момент списания денежных средств с расчетного счета Лицензиата.

 

8. Права и обязанности сторон

8.1. Стороны вправе получать друг от друга необходимую информацию для выполнения настоящего Договора.

8.2. Изменение настоящего Лицензионного договора возможно по соглашению Сторон. Все изменения оформляются в письменном виде путем подписания Сторонами дополнительных соглашений к настоящему Лицензионному договору. Дополнительные соглашения к настоящему Лицензионному договору становятся обязательными для Сторон с момента их подписания Сторонами и являются неотъемлемой частью настоящего Лицензионного договора.

8.3. Лицензиат обязуется:

-  предоставлять необходимую для исполнения условий настоящего Лицензионного договора информацию по требованию Лицензиара.

- использовать Программное обеспечение способами, определенными в настоящем Лицензионном договоре.

8.4. Лицензиар обязуется:

-  предоставлять необходимую для исполнения условий настоящего Лицензионного договора информацию по требованию Лицензиата.

- передать Лицензиату Программное обеспечение в порядке и сроки, определенные настоящим Лицензионным договором.

8.5. Незаконное использование Программного обеспечения является нарушением законодательства Российской Федерации и преследуется по закону.

 

9. Прочие условия

9.1. Все споры, возникающие из настоящего Лицензионного договора, разрешаются Сторонами путем переговоров. Не урегулированные Сторонами споры разрешаются в Арбитражном суде по месту нахождения ответчика.

9.2. Настоящий Лицензионный договор составлен в двух экземплярах, имеющих равную юридическую силу, по одному для каждой из Сторон.

 

10. Адреса, банковские реквизиты и подписи сторон

 

Лицензиат:

Лицензиар:







_____________________ / /
м.п.

ООО "Графит"

Адрес: 603000, г. Нижний Новгород, ул. Студеная, д. 5, офис 42
Тел.: (831) 260-16-32

 

ИНН 5260078777, КПП 526001001

р/сч. 40702810323500000113
в Приволжском филиале ПАО РОСБАНК
г. Нижний Новгород
кор/сч. 30101810400000000747 БИК 04220274

Генеральный директор


_____________________ / Локтионов Д.Н. /
м.п.


6.1.1. Лицензионный договор


7. Советы и примеры решения задач


7.1. Добавьте ваш вопрос

Опишите типовую задау решения для которой вы не нашли в нашей документации и мы постараемся привести алгоритм в этом разделе.

Данная форма только для вопросов, касающихся небольших понятных задач, не требующих дополнительного уточнения вопроса (посмотрите примеры).

Эта страница является частью документации и призвана помочь в решении типовых задач.
Это форма НЕ для вопросов о наших услугах, ценах, возможностях, а также НЕ для заявок или просьб что-либо сделать. Если у Вас вопрос ДРУГОГО РОДА - воспользуйтесь ФОРМОЙ В РАЗДЕЛЕ "КЛИЕНТАМ".

Вопрос должен начинаться словом "Как...", (в крайнем случае "что"), но не "почему", "сколько" или "зачем". Пожалуйста, не присылайте сюда вопросы вида "Как нам сделать новый дизайн?", "Как обучить сотрудника?" или "Почему странички разных сайтов медленно открываются на нашем компьютере?". Все индивидуальные вопросы, Вы можете обсудить индивидуально с технической поддержкой по e-mail:support[at]graphit.ru, по телефонам +7 (831) 421-60-66, 421-64-66. Или задать их через специальную форму на этом же сайте (см. выше).

Если вы являетесь владельцем или администратором сайта, созданного на TreeGraph CMS, обязательно укажите его адрес, а также свой логин и если задача действительно является типовой и у нас есть доступ к административной части сайта ˜˜– вы гарантированно получите от нас ответ (касается общих вопросов и проблем с CMS, вопросы, связанные с конкретными специализированными задачами решаются в рамках договора на техническое сопровождение) .

Не забудьте полностью и подробно описать задачу. Даже простая фотогалерея может выглядеть и работать совершенно по-разному.


7.2. SEO-оптимизация

Через административный интерфейс можно решить практически все задачи. Нестандартные задачи могут потребовать правки xslt-шаблонов или стилей (см. модуль "Стили"). FTP-доступ не понадобится в любом случае.

Description, Keywords

META-тэги и title страницы можно определять как для всего сайта (по умолчанию), так и для отдельных разделов, отдельных страниц.

META keywords формируется на основе значения параметра "site_keywords" ("ключевые слова"), этот параметр находится в группе "Общие" и может быть добавлен к любой странице на сайте (также, как и любой другой параметр) .

Значение META keywords берется из параметра site_keywords, заданного в текущей странице, либо (если этот параметр на данной странице не задан) используется значение site_keywords ЗАДАННОЕ ВЫШЕ по дереву сайта (в текущем подразделе, корневом разделе, в главном / корневом объекте сайта), таким образом, если параметр установлен только в корне дерева сайта, то он будет наследоваться всеми страницами, и значение данного META-тега будет одинаковым для всех страниц. Со всеми остальными параметрами ситуация аналогичная. META "description" формируется на основании параметра "site_description" - "описание сайта" (группа "Общие"). Title страницы формируется сложнее (см. ниже), но, как правило для него используется параметр "имя сайта" (группа "Общие").

Также, параметры, задающие ключевые слова, описание сайта или влияющие на формирование title, при необходимости, могут быть заданы неявно с помощью оверкитов (специальных общих правил, устанавливающих то или иное значение параметра для объекта динамически, в зависимости от свойств и данных самого объекта). Этот способ можно использовать, когда структура сайта весьма сложна и не поддается четкой формализации, но в то же время конкретные заголовки или описания должны присутствовать на вполне конкретных объектах, соответствующих определенному условию. За более подробной информацией об использовании оверкитов обратитесь к документации или службе поддержки.

Title

Title на стандартном сайте формируется по следующему принципу:

  • если на текущей странице НЕ задан параметр "заголовок броузера" - site_title то title формируется из наследуемого (см. выше) значения параметра "имя сайта" (этот параметр может быть задан один для всего сайта) и заголовка текущей страницы.
  • если для текущей страницы установлен параметр "заголовок броузера" – в качестве title используется его значение.

Установленный параметр "заголовок броузера" не повлияет на «вложенные», страницы - в отличие от всех остальных параметров, он не наследуется и не может быть задан оверкитом.

Вся описанная логика формирования заголовка страницы (title) находится в xslt-библиотеке проекта и может быть изменена или дополнена в случае необходимости.

Собственные meta-тэги, подтверждение владения сайтом

Произвольные META-тэги (например, для подтверждения сайта в сервисах для вебмастеров Yandex и Google) могут быть заданы параметром "дополнительные META-тэги"[1] (site_meta), группа "Общие". Данные в данном параметр вводятся в следующем формате: один тэг – одна строка; каждая строка вводится в формате:

name[n]=НАЗВАНИЕ
content[n]=ЗНАЧЕНИЕ
где n – номер тега по порядку, начиная с нуля.

Например, установка значения:

name[0]=yandex-verification
content[0]=12abcdefg345eh67
name[1]=robots
content[1]=index,follow

приведет к появлению в коде:
<meta content="12abcdefg345eh67" name="yandex-verification">
<meta content="index,follow" name="robots" />

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

Заголовки материалов

На "стандартном" сайте существует три типа заголовков, html-код для которых автоматически создается CMS (а не вводится вручную):

  • Заголовок блока
    присутствует у всех специальных блоков на любых страницах, в случае задания у блока параметра "Заголовок" (группа "БЛОК"). HTML код формируется стилями head_standart и head_comb/ head_comb_txt.
  • Заголовок раздела
    присутствует в тех разделах для которых задан общий заголовок (параметр "заголовок раздела"). Этот заголовок задается обычно для всех корневых разделов.
  • Заголовок текущей страницы (< h1 >)
    В качестве значения используется заголовок объекта. Присутствует обычно на всех страницах, кроме случаев, если для страницы или раздела, где она находится задан стиль ---------------- common ---------------- ” (т.е. никакой), либо если непосредственно в данной странице задан заголовок раздела, совпадающий с ее собственным заголовком. HTML код формируется стилем head_standart, обычно, используются тэги < h1 >.

Остальные заголовки, в частности, присутствующие в тексте материалов обычно вводятся администраторами вручную вместе с прочим текстом в контент объектов.

ЧПУ

По умолчанию все страницы сайта имеют адреса вида http://www.вашсайт.ru/?id=210, где 210 - id страницы, которую открывает посетитель. Адреса вида http://www.вашсайт.ru/210 тоже будут работать, однако являются ошибочными (в этом случае система пытается "понять" какую страницу запросил посетитель). Если на сайте требуется сделать ссылку вручную, необходимо придерживаться правильного формата адреса (или использовать конструкцию вида # # #210# # #Текст ссылки# # #, # следует писать слитно, без пробелов, вот так: ###).

Каждой странице вручную можно назначить произвольный URL-адрес, используя параметр "домашняя страница" (группа "Общие").

Например, чтобы для страницы с лентой новостей (имеющией, ранее адрес, предположим, http://www.вашсайт.ru/?id=210) здать адрс http://www.вашсайт.ru/news, нужно в объекте 210 установить параметр "домашняя страница" со значением "news" (без кавычек). Точно также можно задать более сложный адрес, например "company/news" или "company/news/index.html".

XML Sitemap

Для настройки выдачи XML Sitemap для поисковиков нужно создать страницу со следующими параметрами:

Обработчик (группа ОБЩИЕ) =jexport

Сортировка (группа БЛОК) =натуральная

Сколько (группа БЛОК) =10000

Условие выбора (группа БЛОК) =parents not like '1,100,%' and ro (или другое условие, описывающее область сайта для выдачи)

Формат (группа ИМПОРТ, ЭСПОРТ) = XML

Атрибуты и параметры (группа ИМПОРТ, ЭСПОРТ) = id,modify_date,site_home_page,view_nolink (если хотите написать свой шаблон для генерации XML Sitemap и оперировать другими параметрами, укажите здесь те атрибуты и параметры, которые будут нужны в шаблоне)

Библиотека шаблонов[2] (группа СЛУЖЕБНЫЕ) = загрузить .xsl файл шаблона (ссылка на скачивание внизу этой страницы). Если данного параметра вы не видите в списке неустановленных, найдите его через панель параметров и отредактируйте, убрав модификатор edit=no. Если у вас нет прав на редактирование параметров, обратитесь к администратору сайта с полными правами; если вы обладаете максимальными правами на данном сайте обратитесь в техподдержку.

Не забудьте открыть страницу на чтение для неавторизованных посетителей! При необходимости получить карту в другой кодировке можно использовать параметр "кодировка" из группы "ИМПОРТ ЭКСПОРТ". Если каких-то параметров или значений параметров нет, их можно добавить, при условии, что у вас установлена достаточно соверменная версия CMS.

robots.txt (favicon.ico, и т.п.)

Если по каким-то причинам вам необходимо внести измнения в файл robots.txt, вы можете сделать это в административном модуле JManager. Обычно robots.txt размещен в служебном разделе, в папке "database" (id 98).

Если вы не можете найти файл, воспользуйтесь инструментом "Фильтр" для поиска. В фильтре в поле "текст" напишите "robots.txt" (без кавычек) и нажмите кнопку "ввести".

Если файл не нашелся, занчит, скорее всего, на данном сайте он не размещен. Разместить файл можно следующим способом:

создайте в любом месте сайта (целесообразно сделать это в служебном разделе, например в папке database - id 98) страницу со следующими параметрами:

Домашняя страница (группа ОБЩИЕ) = robots.txt

Имя внешнего файла (группа ПРОСМОТР) = robots

Внешний файл (группа ПРОСМОТР) = загрузите ваш текстовый файл (файл должен обязательно иметь расширение txt).

Установите созданному объекту права 1,1,0,1,0,0 (первые три флага - права для группы администраторов - могут отличаться, согласно вашей задаче). Главное, чтобы объект бы открыт на чтение всем (4-й флаг), иначе поисковые системы его не увидят.

Подобным образом можно размещать и другие файлы по необходимому адресу, например, файлы для подтверждения владения сайтом (Yandex, Google), favicon.ico (необходимо отсутствие реальных файлов с такими именами на сервере, чтобы этот способ работал). Не забудьте открыть страницу на чтение для неавторизованных посетителей!

Если что-то пошло не так, например, вместо загруженного файла по адресу адрес.вашего.сайта/robots.txt вы видите текст другого файла robots.txt, либо при отсутствии файла в JManager-е по адресу /robots.txt файл все же доступен, обратитесь в техподдержку компании, которая обслуживает ваш сайт.

Предоставление FTP доступа

FTP доступ для любых задач, связанных с изменением данных на сайте Вам не потребуется и не пригодится: вся информация хранится в базе данных (mysql). Даже "шаблоны" страниц и их элементы – все правится через административные модули. В частности, на FTP нет файлов, которые были бы необходимы для решения SEO – задач, либо помогли в получении html-копии сайта.

Архитектура системы управления сайтом Treegraph такова, что все данные сайта хранятся в mysql базе данных, либо доступны для редактирования через административные модули. Каталог проекта на сервере обычно имеет следующее содержимое:

_data

Каталог, содержащий файлы проекта

  

     cache

Временные файлы системы кэширования

  

     objects

Файлы, размещенные на сайте (картинки, flash-анимации, резервные копии, пользовательские файлы для скачивания). Ручное вмешательство в эту область не предусмотрено. Структура данного каталога определяется CMS. Она изменяется автоматически при создании и удалении объектов, загрузке материалов на сайт. Каждый хранимый в этой ветви файл обязательно привязан в базе данных к контенту или параметру какого-либо объекта (как минимум упоминаться в контенте того объекта, к которому привязан). В противном случае может быть обнаружен CMS и предложен к удалению как «потерянный» (LOST).

Если у вас есть вопросы о том, как правильно загрузить/разместить информацию, пожалуйста обратитесь к службе поддержки. Не нужно изобретать новых способов решения стандартных задач. Почти для всех ситуаций есть «правильные решения», не требующие ftp-доступа.

  

     tmp

Временные файлы, создаваемые в импорте, экспорте и т.п.

  

     users

Файлы, прикрепленные к пользовательским профилям (фото, аватары и т.п.)

  

     xsl

Файлы библиотеки стилей и шаблонов. Каталог используется модулем «styles», модификация библиотек выполняется строго через него. Редактировать файлы находящиеся здесь напрямую не разрешено.

index.phtml

Стартовый файл проекта. Запускает ядро CMS, по умолчанию не содержит никакого специального кода, но может включать специальные настройки проекта.

 

 

[1] Может быть не реализовано на некоторых "старых" проектах. В случае отсутствия параметра или при его неправильной обработке обратитесь в службу поддержки.

[2] Совет для тех, кто хочет написать шаблон для экспорта Sitemap самостоятельно: получить исходный XML-файл можно, если зайти на страницу с тем же экспортом, предвариельно удалив параметр "библиотека шаблонов". В этот XML попадают все объекты, соответствующие "условию выбора" с теми полями, что перечислены в параметре "Атрибуты и параметры" у страницы экспорта.

 


7.2.1. XSL шаблон для формирования XML Sitemap

tmpСкачать «7.2.1. XSL шаблон для формирования XML Sitemap»
Дата обновления 14.09.2009. Реализована поддержка параметров "домашняя страница" (ЧПУ) и "не делать ссылку" (объекты с этим параметром не попадают в Sitemap).

xml_sitemap.xsl3 Kb

7.3. Восстановление входа в учетную запись. Изменение пароля учетной записи.

Что делать если вы забыли пароль от учетной записи?

Если вы забыли пароль от учетной записи вам необходимо перейти по ссылке «Забыли пароль» в разделе «Вход для пользователей»

В целях безопасности пароли от учетных записей в системе не хранятся.

Для востановления пароля вам нужно ввести логин или e-mail вашей учетной записи.

После ввода вашего e-mail или логина  вы получите письмо со ссылкой.

После перехода по ссылке на вашу почту прейдет еще одно письмо с новым паролем.

После авторизации в системе с новым паролем  вы можете заменить сгенерированный пароль на другой.

Как изменить пароль учетной записи?

  • Для изменения пароля учетной записи авторизуйтесь сначала на сайте (введите логин и старый пароль)
  • Зайдите в ваш профиль (адрес сайта/?id=11)
  • Новый пароль введите в поля «пароль» и «новый пароль»

Что делать если вы забыли логин и e-mail от учетной записи?

Логин и e-mail вы можете узнать у администратора сайта, который имеет доступ к модулю Users (адрес сайта/?id=8) или у службы поддержки по адресу support@graphit.ru.

 

 

 


7.4. Как загрузить файл(ы) для скачивания

Для загрузки одного файла необъодимо добавить объект (который будет соответствовать этому файлу на сайте в дальнейшем). В это объекте задать обязательные параметры:

  • параметр "внешний файл" = загружаемый файл
  • имя внешнего файла = название файла, под котороым он будет доступен пользователю - желательно без русских букв, и специальных символов.

Контент этого объекта должен быть пустым.

На большинстве сайтов в JManager есть образец "внешний файл", содержащий нужный набор параметров. Этот образец можно использовать для быстрого добавления файла. Если такого образца нет, его можно создать.

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

Примеры структуры (каждый элемент является отдельным объектом):

(1)

  • Файловый архив
    • Руководство пользователя -- загруженный файл
    • Скачать программу -- загруженный файл

(2)

  • Архив документации
    • Проект 1
      • Файл 1 -- загруженный файл
      • Файл 2 -- загруженный файл
      • Файл 3 -- перенаправление на "Общий файл 1"
    • Проект 2
      • Файл 1 -- загруженный файл
      • Файл 2 -- загруженный файл
      • Файл 3 -- перенаправление на "Общий файл 1"
    • Общие документы
      • Общий файл 1 -- загруженный файл

7.5. Создание объекта-«ярлыка» (редиректа) к какой-либо странице сайта или внешнему URL

Необходимо добавить в объект параметр "перенаправить" со значением: id страницы ИЛИ ##id страницы## ИЛИ внешний URL (с http://) и т.п. Например: ##12345##, http://www.graphit.ru

7.6. Добавление видео на сайт

Добавить видео на сайт можно двумя способами:

Первый способ – с помощью стороннего видеохостинга (рекомендуемый):

1. Загрузите ролик на видеохостинг (YouTube.com, vk.com, vimeo.com).
2. В объект, в который необходимо добавить видео, добавьте параметр «ссылка на видео» (группа параметров ПРОСМОТР)
3. Установите данному объекту такие права, чтобы объект был открыт на чтение всем (4-й флаг).
4. Для сохранения нажмите кнопку «ввести» или «применить»

 

Второй способ – загрузка непосредственно на сайт.

Требования к загружаемому видео: 

1. Файл должен иметь расширение .mp4, .webm или .ogv.  
2. Формат видео кодека (video stream) должен быть h.264 (он же AVC, avc1).
3. Формат аудио кодека (audio stream) должен быть AAC.

Добавление видео:

1. В объект, в который необходимо добавить видео, добавьте параметр «медиа или флэш файл» (группа параметров ГРАФИКА).
3. Нажмите кнопку «выберите файл», загрузите видео.
2. Установите данному объекту такие права, чтобы объект был открыт на чтение всем (4-й флаг).
3. Для сохранения нажмите кнопку «ввести» или «применить».

 


7.7. Добавление на сайт счетчика Яндекс Метрики

Чтобы добавить счетчик Яндекс Метрики, выполните следующие действия:

1. Войдите на сервис «Яндекс Метрика» metrika.yandex.ru. Если Вы уже зарегистрированы на Яндексе, введите логин и пароль, если нет – зарегистрируйтесь. При регистрации предпочтительнее указывать общие данные организации вместо персональных данных сотрудника.

2. Нажмите кнопку «Добавить счетчик», откроется страница настроек счетчика, подробнее смотрите в разделе «Редактирование счетчика» https://yandex.ru/support/metrika/general/counter-editing.xml

3. Затем скопируйте полученный код и установите его на сайт:

3.1. В jmanager в разделе Спецрубрики  - Блоки и оверкиты - Блоки служебные создайте блок со следующими параметрами:

3.2. Код счетчика вставьте в поле «Введите текст».

3.3. Откройте права на чтение объекта  (4-я галочка в поле «права»).

3.4. Для сохранения объекта нажмите кнопку «Ввести» или «Применить».


7.8. Загрузка файлов в "корень сайта" (robots.txt, favicon.ico, файлы подтверждения для Яндекс и Google)

Для загрузки файлов в корень сайта (favicon.ico, robots.txt, файлы для подтверждения владения сайтом и др.) создайте в служебном разделе (например, в папке database) объект со следующими параметрами:

1) Параметр «Домашняя страница» (если отсутствует, выберите его в группе «ОБЩИЕ»), значение — имя требуемого файла
например, favicon.ico, robots.txt, yandex_123ab4c567d8e90f.html и т.п.

Если требуется имитировать размещение файла в поддиректории, введите также желаемый путь,
например, js/plugin/script.js

2) Параметр «Внешний файл» (в группе «ПРОСМОТР») — загрузите сюда ваш файл.

Нажмите «Ввести» или «Применить» чтобы сохранить изменения.

Заголовок (название) объекта, а также дата и другие параметры роли не играют и могут быть любыми.

Не забудьте открыть данный объект на просмотр всем (опубликовать) иначе, он будет доступен виден тольк администраторам. 
Для этого установите данному объекту 4-й флаг в правах, как это показано на скриншоте, либо просто нажмите кнопку «Опубликовать».


7.9. Как переопределить стандартные текстовые сообщения, отображаемые стилями и функциональными модулями?

Практически все тексты, отображаемые стандартными модулями и стилями находятся в языковых библиотеках - их по одной для каждого поддерживаемого языка (русский, английский, немецкий и т.д.). Физически эти библиотеки представляют собой PHP файлы _txt_ru.php, _txt_en.php и т.п., находящиеся в каталоге CMS. Теоретически возможно добавление таких файлов для новых языков.

Для того чтобы переопределить стандартный текст их такой библиотеки нужно задать параметр "текст" (группа "ОБЩИЕ") и написать там новые тексты в формате:
КЛЮЧ=НОВЫЙ ТЕКСТ
КЛЮЧ=НОВЫЙ ТЕКСТ
(каждое новое значение на новой строке)

В современных версиях CMS существует специальный редактор для правки данного и подобных параметров (Key editor) - его можно вызвать нажав на ссылку (или кнопку)  "edit" слева от поля для ввода значения при редактировании объекта в JM. Данный редактор "знает" все стандартные значения и поможет выбрать нужный ключ для переопределения текста.

Но на всякий случай, ниже приведен полный список ключей и соответствующих им стандартных значений:

ФОРУМЫ

new=New!
reply=Ответ
quote=Цитировать
ps=Поправить
pss=Дополнить
drop=Удалить
profile=Профиль
print=Печать
freeze=Закрыть обсуждение
unfreeze=Открыть обсуждение
hide=Скрыть ветку
unhide=Показывать ветку
themlist=Список тем
them=Начало темы
themprev=Предыдущая тема
themnext=Следующая тема
sortnorm=Последние внизу
sortdesc=Последние вверху
viewtree=Структурированный
viewlist=Линейный
themall=Тем
themhide=Скрытых
setread=Пометить все как прочитанные
setnoread=Пометить все как НЕ прочитанные
update=Обновить форум
write= пишет:
promptlink=Введите ссылку с http:// или ftp://
promptdesc=Введите описание ссылки
errselect=Текст не выделен или выделен неправильно!
guest=Гость
ispss=Дополнение от
rating=рейтинг
nameexists=Вы не можете подписываться этим именем: выберите другое имя или авторизуйтесь
nameanother=Вы не можете подписываться этим именем: это чужое имя

КАТЛОГ И КОРЗИНА ЗАКАЗОВ

added=В Вашу корзину добавлена продукция:
removed=Из корзины удалена продукция:
basempty=Ваша корзина пуста. Воспользуйтесь <a href="/catalogue">каталогом продукции</a> для заполнения корзины
btbasket=Оформить заказ
btcalc=Пересчитать корзину
basket=Корзина
catalogue=Каталог
prod=Товар
photo=Фото
order=Заказ
ut=Ед.изм
cnt=Кол-во
price=Цена
tprice=Стоимость
sprice=Итого
ordernum=Номер заказа
orderdate=Дата заказа
ordersumm=Сумма заказа
new=New!
pos=№
id=Номер
compare=Сравнить
discount=Скидка

ОБЩИЕ

pages=Страницы:
search=Поиск:
all=Всего
founded=Найдено:
more=более
name=Имя (ФИО)
login=Логин
password=Пароль
cpassword=Подтверждение пароля
e-mail=E-mail
register=Регистрация
remind=Забыли пароль?
subscribe=Подписка
enter=Ввести
cancel=Отменить
authbad=Вы ввели неправильный Логин или Пароль
authbadip=Ваш IP не разрешен для входа с данным Логином
authuser=Вы авторизованы на сайте как
authtext=Представленная информация носит конфиденциальный характер, поэтому доступ к данному подразделу предназначен только для зарегистрированных пользователей.
authenter=Если Вы уже являетесь зарегистрированным пользователем, введите свой логин и пароль для входа.
regtextnew=Регистрация нового пользователя
regtextupd=Изменение регистрационных данных
former=Вы не заполнили обязательные поля
formok=Спасибо. Ваше сообщение %s записано
formmod=Сообщение появится после разрешения администратора сайта
noaccess=Недостаточно прав для выбранного действия
errkey=Истекло время ожидания, повторите отправку формы
forums=Форумы
thems=Тем
them=Тема
author=Автор
replies=Ответов
pdate=Дата создания
mdate=Дата обновления
error=Ошибка!
printoff=Включить графику
detail=Подробнее
separator= |
required=&nbsp;[*]
yes=да
no=нет
copy=Копировать
print=Печать
close=Закрыть
download=Скачать
create=Создать
delete=Удалить
edit=Изменить
notification=Внимание! Это письмо сгенерировано роботом сайта, отвечать на него не нужно!
group=Группа
unsubscribe=Отписаться
profile=Профиль
update=Обновить
mainview=Основная версия сайта
trash=Страница удалена с сайта

submit=ввести
cancel=отказаться
reset=сбросить
delete=удалить
continue=продолжить
ok=ok
er=error
wr=warn
yes=да
no=нет
site=сайт
table=table
close=закрыть
open=открыть
next=следующая
prev=предыдущая
page=страница
spage=стр
object=объект
nologin=анонимно
print=печать
icon=графика
img=графика
view_icon_photo=иконка
default=по умолчанию
template=шаблон
another=другой
empty=пустой
help=справка
style=стиль
cell=список
off=из
apply=применить
root=корень
loading=загрузка
from=от
to=до
need=необходимо

СЛУЖЕБНЫЕ

jmanager=дерево сайта
attributes=атрибуты
params=параметры
paramsset=установленные параметры
paramssetadd=(изменение, удаление)
paramsnoset=неустановленные параметры
paramsnosetadd=(добавление)
rights=владелец, права
info=информация
files=файлы
control=управление
stats=статистика
filter=фильтр
order=сортировка, ограничение
action=действие
select=выбрано
message=объект
update=изменены
loadlib=загрузка библиотеки
libs=библиотеки шаблонов
watcher=наблюдатель
swatcher=просмотр поисков
groups=группы
users=пользователи
send=отправить e-mail
loader=загрузка
paradd=добавляемые параметры
pardel=удаляемые параметры
parreplace=заменяемые параметры
setting=установки
exportlist=экспорт параметров
import=импорт
export=экспорт
additional=дополнительные
newobject=новый объект
newgroup=новая группа
newparam=новый параметр
cache=кэш
tables=таблицы

ИМЕНА АТРИБУТОВ И ПОЛЕЙ

mess_header=заголовок
mess_short=аннотация
mess_content=введите текст
mess_content_file=или&nbsp;файл
mess_content_exts=(doc rtf txt html)
mess_content_text=текст
mess_content_view=просмотр
file_modify_date=дата загрузки
file=файл
user=владелец
group=группа пользователей
rights=права [rwx] [rwx]
rg=rg (чтение для группы)
wg=wg (запись для группы)
xg=xg (добавление для группы)
ro=ro (чтение для всех)
wo=wo (запись для всех)
xo=xo (добавление для всех)
id=идентификатор
idid=id
parent_id=родитель
p_date=дата публикации
e_date=дата ввода
m_date=дата модификации
p_time=время публикации
e_time=время ввода
m_time=время модификации
publish_date=дата публикации
enter_date=дата ввода
modify_date=дата модификации
parents=родители
level=уровень
cnt=дочерниe
cnt1=[доч]
flt1=ф
spec=спец
priority=приоритет
tree_order=расположение
ip=ip-адрес
host=хост
log=логи
stat=статистика
user_id=владелец
group_id=группа
rg wg xg ro wo xo=права
branch=ветвь
datefrom=дата от
dateto=дата до
start=начало,количество
order=сортировка
params=параметры
sql=sql-запрос
show=показать
libtempl=библиотека шаблонов
libarch=архив библиотек
libcurr=действующая библиотека
libcomm=общие библиотеки
group_name=группа
description=название
name=переменная
longdescription=модификаторы
type=тип
value=значение
required=проверять при вводе
storage=отдельное поле
kindex=индекс
status=статус
select=все выбранные
groupparams=группы и параметры
addparams=добавить параметр или группу параметров
sets=уст.
del=удаление
move=перемещение
moveto=перемещение в
sort=сортировка
stsummary=суммарная
sttreeid=дерево сайта
sttreepages=страницы сайта
stcountries=страны
stcities=города
strefs_sites=ссылающиеся сайты
strefs=ссылки
sttreebranch=ветви сайта
sparam=параметр
skeywords=ключевые слова
stkeywords=ключевые слова
ssystems=поисковики
stssystems=поисковики
stnetname=сети
stdays=дни
sthits=хиты
sthosts=хосты
sthitsnos=хиты (бп)
sthostsnos=хосты (бп)
stnos=без поисковиков
sthitsb=хиты (в)
sthostsb=хосты (в)
stdaysb=дни (в)
stbranch=ветвь
stavg= ср
users=пользователи
groups=группы
online=on-line
download=скачать файл
csv=CSV-файл
password=пароль
as_is=как есть
to_crypt=зашифровать
passgen_to_email=сгенерировать и выслать на email пользователя
is_processed=обработано
is_not_processed =не обработано
hoststeps=путь по сайту
all=все
other=прочие
create=создать
createdoc=создать doc-документ
notrash=не брать из Trash
ocnt=только количество
user_name=имя
user_login=логин
user_password=пароль
outputsize=выходной размер
size=размер
original=оригинал
startpoint=начало
scale=масштаб
crop=обрезка
effect=эффект
color=цвет
transparent=прозрачность
text=текст
watermark=водяной знак
border=бордюр
text=текст
rotate=поворот
canvas=холст
proporiginal=пропорции оригинала
center=центр
left=левый
right=правый
top=верхний
bot=нижний
time=время
=управление
data=данные
check=тест
session=сессия
nodiag=без диагностики
rating=рейтинг

ДИАГНОСТИКА

norights=нет прав
nowedit=нет прав на редактирование
nowadd=нет прав на добавление к
nowmove=нет прав на перемещение
nowsort=нет прав на сортировку
nowparams=нет прав на изменение параметров
nowupload=нет прав на загрузку файлов
nowdel=нет прав на удаление
nowdeladm=нельзя удалить служебный
nomovetree=нельзя перенести/скопировать объект в один из его потомков
notexample=нет такого образца
notid=нет такого объекта
notidintree=в текущей ветви
notparent=нет родителя
nottotrash=нельзя добавить в корзину
notconnect=неверное условие связки
noicon=нет графического параметра
notsort=нечего сортировать
root=корневой объект
difparent=объекты в разных ветвях
sort=дочерние пересортированы
del=удален
deltrash=перенесен в корзину
restore=восстановлен в
move=перенесен в
copy=объект скопирован из
copybranch=ветвь скопирована из
alreadytop=уже вверху
alreadybot=уже внизу
top=передвинут наверх
up=передвинут выше
down=передвинут ниже
bot=передвинут вниз
shift=передвинут
edit=изменен
noedit=не изменен
paramsnoedit=параметры НЕ изменены
file=файл
directory=каталог
filereplace=заменен
filerenull=заменен на пустой
fileupload=загружен
processed=обработан
fileold=есть
filenew=новый
filenull=пустой
viewicon=создана иконка
iconresample=изображение отмасштабировано
creating=создан
startconv=конвертирование файла
endconv=конвертирование закончено
cantopen=ошибка открытия файла
cantupload=неправильный формат файла
errwrite=ошибка записи
sizeover=превышен размер файла
transferred=пересылка файла
transferrederror=ошибка пересылки
bytes=байт
add=добавлен
noadd=не добавлен
duplicate=дубликат
notheader=заголовок отсутствует!
exist=уже существует
errsyntax=синтаксическая ошибка
errunknown=неизвестный параметр или атрибут
errpar=недопустимое название, переменная или тип
errvalue=недопустимое значение
errnum1=не является числом (содержит недопустимые символы)
errnum2=не соответствует формату отдельного поля
notfield=заполните поле
filter=фильтр изменен
paradd=параметры добавлены
pardel=параметры удалены
rightsuser=владелец изменен
rightsgroup=группа изменена
rights=права изменены
noview=невозможно отобразить объект (страницу)
numfields=количество полей: %s
missingfield=обязательное поле %s отсутствует
emptyfield=обязательное поле %s не заполнено
currentrow=строка %s
error=ошибка
userexists=пользователь с логином <b>%s</b> уже существует
usernameexists=пользователь с именем <b>%s</b> существует
userparexists=пользователь с полем <b>%s</b> существует
useradd=пользователь <b>%s</b> с логином <b>%s</b> успешно добавлен
userskip =пользователь <b>%s</b> с логином <b>%s</b> пропущен
useredit =пользователь <b>%s</b> с логином <b>%s</b> отредактирован
errformat   =неправильный формат
errfield =ошибка в вводе поля <b>%s</b>
errform =ошибки при вводе формы
errbig =слишком большой объем
errparamsstore =параметр <b>%s</b> должен быть отдельным полем
skip=пропущен
comment=комментарий
minpassword=минимальная длина пароля <b>%s</b> символов
saveconfig=конфигурация сохранена

reg_unsubs=Ваш запрос принят. Вы будете отписаны от рассылки. В случае повторного прихода писем рассылки, попробуйте отписаться, авторизовавшись на сайте.
reg_pasreq=Вы можете получить новый пароль, если при регистрации указали свой реальный email. Введите Ваш логин или почтовый ящик, на который будет выслана информация по восстановлению доступа.
reg_pasget=Ваш запрос принят. Если введеный Вами логин или email существует в базе пользователей, Вы получите письмо с инструкциями для восстановления доступа
reg_passend=Вам сгенерирован и отправлен на email новый пароль
reg_pinno=Данная операция недопустима
reg_pinok=Подтверждена регистрация пользователя <b>%s</b> и подписка на <b>%s</b>
reg_piner=Неверный PIN-код
reg_pinsend=На указанный e-mail <b>%s</b> выслано письмо для подтверждения регистрации и подписки
reg_useredit=Изменение информации о пользователе на сайте %s
reg_useradd=Новый пользователь на сайте %s
reg_check_header=Подтверждение регистрации и подписки на сайте %s
reg_check_body=Для подтверждения регистрации и подписки с вашего адреса пожалуйста нажмите следующую ссылку:
reg_remind_header=Восстановление пароля к сайту %s
reg_remind_body1=Вы получили это сообщение, так как являетесь зарегистрированным пользователем сайта %s
reg_remind_body2=Для получения нового пароля, пройдите следующей ссылке:
reg_passgen_header=Пароль к сайту %s
reg_passgen_body1=Вы получили это сообщение, так как являетесь зарегистрированным пользователем сайта %s
reg_passgen_body2=После авторизации на сайте, Вы можете изменить пароль и другие личные данные на странице:

JM

closebranch=закрыть всю ветвь
openbranch=открыть всю ветвь
edit=изменить
img=графика
icon=иконка
add=добавить
del=удалить
restore=восстановить
pure=очистить
sort=отсортировать
move=перенести
shift=передвинуть
under=под
upper=над
top=наверх
up=выше
down=ниже
bot=вниз
cut=вырезать
copy=копировать
paste=вставить
exch=очистить+вставить
pastebranch=вставить ветвь
dubl=дублировать
clear=очистить
hidden=скрытно
text=текст
goto=перейти
view=просмотр
param=параметр
params=параметры
replace=заменить
hide=скрыть
rights=права
info=информация
properties=свойства
intofilter=добавить в фильтр
outfilter=удалить из фильтра
setimport=установить импорт
createicons=иконки
all=ВСЕ
export=экспорт
format=формат
separ=разделитель
comma=точка с запятой
tab=табуляция
intree=в дереве
menu=меню
selective=выборочно
fromexample=по образцу
set=установить
fixed=задать
first=первый установленный
update=обновить
additional=дополнительно
admin=администратор
conf=режим работы модуля
element=элемент
history=история

menu=меню
properties=инфо
stat=стат
view=вид
add=новое
edit=ред
img=графика
icon=икон
par=парам
rights=права
export=эксп
del=удал
pure=очист
sort=сорт
move=перенос
dubl=дубл
cut=вырез
copy=копир
paste=встав
clear=очист
exch=замена
ready=готов
busy=запрос...
goto=перейти
filter=фильтр
intree=в дереве
download=скач
create=созд
restore=восст
bak=архив
history=история
save=сохранить
editor=редактор
editorp=редактор на странице

conf=настройки
hidden=скрытый ввод
text=текстовое дерево
panel=текстовая панель
fontsize=размер шрифта
lang=язык панели
iconsize=иконки дерева
piconsize=иконки панели
cols=число колонок
width=ширина дерева (%)
height=высота дерева (px)
height_start=фиксация высоты
max_childs=в одной ветви
keyleft=левая клавиша
close=закрыть
tree=панель дерева
filter=панель фильтра
import=панель импорта
params=панель параметров
help=справка


7.10. Использование нескольких доменов на одном сайте.

Параметры для поддержки мультидоменности

параметр

значение

описание

$ PARAMS['site_use_domain']

1|0

Включение поддержки мультдоменности. Задается в index.php 
При включении мультдоменности параметр $ PARAMS['error_404'] не будет обрабатываться. 
Начиная с версии 4.4.147 параметр error_404 может быть задан в корне сайта и в корне веток доменов.

$ PARAMS['site_lock_domain']

1|0

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

site_domain

www.domain.com
www.domain2.com
domain2.com

Задает список доменов, к которому принадлежат объекты внутри ветви где задан список доменов.
Домен, заданный первой строкой, используется для переадресации посетителя при запросе страницы из ветви домена. 

при использовании модификатора acc=1 к параметру site_domain ветви добавляются site_domain родителей. домены ветви будут иметь приоритет над доменами родителей 

Параметр должен быть задан отдельным полем в таблице

site_one_domain

1|0

Задаёт использование только одного домена. Не требует мультидоменности и отдельного включения параметра site_use_domainМожет быть задан в корневом разделе или для ветви сайта.

Это полезно при оптимизации сайта для удаления зеркал. С помощью этого параметра, например, можно все запросы на mydomain.com перенаправлять на www.mydomain.com.

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

Если задан параметр site_domain, то перенаправление будет идти на первый домен в списке параметра site_domain

error_404 Указывает идентификатор страницы-заглушки, которая выводится, если запрашиваемая страница не найдена. Начиная с версии 4.4.147 этот параметр может быть задан в корне сайта.
Страница заглушки не должна иметь параметр "ЧПУ" или "домашная страница" иначе вместо отдачи поисковикам кода 404 будет отдаватьтся код 301 - перенаправление.

Если основной домен при параметре site_one_domain отключен или будет находиться на другом сервере, то доступ к управлению сайтом будет потерян. В этом случае нужно использовать ftp, чтобы добавить в index.php параметр site_domain_off со значением 1:
$PARAMS['site_domain_off'] = 1;

Примеры запросов, результатов и условий:

http://www.domain.com/

Посетитель получает страницу 1 (по умолчанию)

  • домен не прописан или задан в корне сайта.

Посетитель получает страницу, где прописан домен

  • домен прописан в site_domain страницы
    если домен прописан в нескольких ветвях сайта, то для показа выбирается объект, находящийся ближе к корню дерева и выше по списку среди объектов на одном уровне. 

http://www.domain.com/?id=...

Посетитель получает запрошенную страницу 

  • запрошенный домен нигде не прописан и нет записей доменов в корне ветви запрошенной страницы
  • запрошенный домен прописан в site_domain в корне ветви запрошенной страницы

Посетитель получает страницу, где прописан запрошенный домен и сообщение об ошибке

  • site_domain_lock = 1 и домен не прописан в site_domain в корне ветви у запрошенной страницы

Посетитель получает запрошенную страницу, но при этом перенаправлен на другой домен

  • site_domain_lock = 0 и домен не прописан в site_domain в корне ветви у запрошенной страницы 

Посетитель перенаправлен на этот же домен с изменением адреса с /?id=... на /news

  • для запрошенной страницы прописан параметр site_home_page и в корне ветви задан site_domain, включающий запрошенный домен 

Посетитель перенаправлен на другой домен с изменением адреса с /?id=... на /news

  • site_domain_lock = 1, запрошена страница ветви с другим доменом и для этой страницы был задан параметр site_home_page

http://www.domain.com/news

Посетитель получает ожидаемую страницу news соответствующего домена

  • в корне ветви задан site_domain, включающий запрошенный домен, для запрошенной страницы прописан параметр site_home_page 

Посетитель получает страницу news соответствующего домена, которая не соответвует ожидаемой

  • в ветви с параметром site_domain, содержащим запрошенный домен, есть несколько страниц с запрошенной site_home_page и ожидаемая страница находится глубже или ниже по списку, чем показанная. 
    если site_home_page прописан внутри ветви с заданным в site_domain доменом в нескольких местах, то приоритет будет за страницей, которая ближе к корню всего дерева и ближе к началу среди объектов на одном уровне

Посетитель получает страницу с сообщением об ошибке

  • site_domain_lock = 1 и внутри ветви с запрошенным доменом нет объекта с запрошенной site_home_page
  • site_domain_lock = 0 и на всем сайте нет объекта с запрошенной site_home_page

Посетитель получает страницу news другого домена с перенаправлением на другой домен, что не соответвует ожидаемому результату. 

  • site_domain_lock = 1 
  • site_domain_lock = 0
  • запрошенной site_home_page нет в ветви домена 
     

 

site_home_page задан в 

 

 

site_home_page задан в выше по дереву без домена 

site_home_page задан в выше по дереву с доменом 

site_home_page задан в другой ветви 

1. когда нет доменов, но есть дубликаты

2. когда есть мультидомены и могут быть дубликаты при запросе комбинаций домен+домашняя страница

как проверить 

1. выбрать site_domain редактируемой страницы

2. для каждого домена из site_domain выбрать ветви где он задан

3. для каждой ветви выполнить поиск site_home_page на заданное значение  (parents_id like "1,.....%")

и второй способ, который может не учесть вложенности доменов 

1. выбрать site_domain редактируемой страницы

2. выбрать дубликаты site_home_page

3. для доменов в site_domain редактируемой страницы проверить наличие домена в site_domain дубликатов

 

 

 

 

 


7.11. Перенаправление на основной домен сайта с дополнительных доменов

Задача:

Один домен сделать основным, а другие домены перенаправлением на основной. Мультидоменность не используется и не включается. 

Нужно учесть, что доменное имя с www и без www это разные домены, и при включении параметра, основным будет только один домен.

Необходимо выяснить у администратора сервера, какой домен задан основным в конфигурации web-сервера.

  1. В группе "служебные" создать параметр 
    название: сайт одного домена
    переменная: site_one_domain
    тип: checkbox
  2. Если в конфигурации web-сервера основным задан нужный домен, переходим к п. 5.
  3. В группе "служебные" создать параметр 
    название: домен
    переменная: site_domain
    тип: text
  4. Задать параметр домен (site_domain) для корневого объекта id=1, указать в нем основной домен (например: www.maindomain.com).
  5. Включить параметр сайт одного домена (site_one_domain) для корневого объекта id=1

После этого всех посетителей сайта сервер будет автоматически перенаправлять на основной домен. Код ответа сервера будет содержать код "301 Moved Permanently", это даст понять поисковикам, что пенаправление постоянное.

Если целевой домен отключен или будет находиться на другом сервере, то доступ к управлению сайтом будет потерян. В этом случае нужно использовать ftp, чтобы добавить в index.php параметр site_domain_off со значением 1.

 

7.12. Создание связных (зависимых) блоков

Бывают задачи, когда невозможно с помощью одного простого SQL запроса выбрать нужные вам страницы. Например, если вы хотите "условием выбора" описать фотографии только из одной, наиболее свежей галереи. Или выбрать документы, находящиеся в папках, соответствующих определенному условию, и т.п.

В этом случае можно установить в блоке "функцию выбора" = "связанный".
Эта функция работает так: блок в котором она задана должен быть дочерним к другому работающему блоку, назовем его родительским, а настраиваемый блок — дочерним.
В дочернем блоке при установке функции "связанный" появляется возможность использовать в условии выбора выражения $CPARAMS[xx] и $LPARAMS[xx]

# Если в блоке есть $CPARAMS[xx] в block_where, то делается N (число выбранных в родительском) выборок и $CPARAMS заменяются в цикле на параметры выбранных в родительском блоке

# Если в блоке есть $LPARAMS[xx] в block_where, то делается 1 выборка, а $LPARAMS заменяются на конкатенацию параметров выбранных в родительском блоке. Пример: в родительский блок выбрано 3 объекта с id 100, 200 и 300 — $LPARAMS[id] заменится на конструкцию вида "100,200,300" (без кавычек).

Другими словами, если в родительский блок выбрано 3 папки и в дочернем блоке мы напишем parent_id in ($LPARAMS[id]) то в блок выберутся дочерние тех объектов, что были выбраны в первый блок (замена на parent_id in (100,200,300)).
Конструкция $CPARAMS работает аналогично, только возвращает всегда только одно значения. В указанном выше примере замена приведет к формированию трех разных SQL запросов parent_id in (100) + parent_id in (200) + parent_id in (300)

Другой пример: требуется выбрать фотографии из наиболее свежей (последней галереи). Создаем родительский блок с условием выбора, например, parent_id=200 (где 200 — папка, где лежат фотогалереи), количество выбираемых объектов = 1. Этот блок будет выбирать нужную нам галерею. Так как блок нужен для технических целей, мы задаем ему фиктивную позицию, не задаем стиль, но задаем условие показа, такое же, как у основного блока. Это условие является обязательным, так как если родительского блока на странице не будет, дочерний тоже не сможет правильно сформироваться. Также необходимо, чтобы права блоков на чтение были одинаковыми. Далее, создаем дочерний блок (он будет показываться на странице), задаем ему условие выбора parent_id=$CPARAMS[id] и нужное количество фотографий, правильный стиль, позицию и т.д..

Разумеется, вместе id в квадратных скобках можно использовать другие значения.

Рекурсивная работа функции на вложенные ниже блоки не гарантируется.

Помните также о возможности использования функций MySQL непосредственно в поле "условие выбора".


7.13. Как сделать так, чтобы при заполнении интерактивной формы копия введенных данных (вопроса, заказа и т.д.) высылалась не на один и тот же e-mail адрес, а адрес выбирался в зависимости от выбранного адресата?

Вариант 1. Есть возможность сделать так, чтобы e-mail адрес, куда направляется копия поста, определялся значением, выбранном в одном из выпадающих списков (select), присутствующих в форме.

Чтобы это сделать вам потребуется специальным образом создать параметр со списком получателей, а затем использовать его в форме. Процесс создания и использования такого параметра ничем не отличается от обычного, кроме некоторых особенностей:

  • Параметр должен быть типа mselect
  • В каждом объекте, который будет вариантом в выпадающем списке (будет выбран в mselect) должен быть задан параметр "e-mail подраздела" (site_email_local). В значении указывается целевой адрес электронной почты для доставки сообщения из формы данному адресату.
  • Название параметра должно заканчиваться на "_emailto", например, "myform_emailto", "zakaz1_emailto" и т.д.

 

Вариант 2. Вы можете сделать несколько интерактивных форм и для каждой задать свой e-mail для доставки сообщений (с помощью установки параметра "e-mail подраздела" в самом объекте формы), а затем направлять посетителя на требуемую форму, в зависимости от назначения сообщения. В этом случае, есть возможность сделать формы еще и немного отличающимися друг от друга по составу полей.


7.14. Создание каталога товаров с корзиной заказов

Чтобы сделать простой каталог с заказом нам, как минимум, потребуются в наличии на сайте:

  • Параметры (не считая стандартных): prod_is (признак продукта), prod_price (цена), prod_basket_id (id корзины)
  • Стиль, поддерживающий операции заказа (обычно это  стиль "catbas" - "каталог корзина заказ", использующий catbas.xsl)
  • Обработчик "catbas" в наличии (обычно он всегда есть, просто следует иметь в виду, что если соответствующий файл catbas.php испорчен или отсутствует, то корзина работать не будет)

Для добавления на сайт каталога товаров с ‘корзиной’ заказов необходимо:

  • Сделать корзину заказов. Нужно создать объект, который будет являться на сайте корзиной заказов. Установить настройки для этого объекта:
    • Параметр Обработчик (handler) = catbas
    • Параметр Конфигурация менеджера (опциональный параметр), допустимые опции для конфигурирования (указываются при установке значения параметра по одной в строке):
      "pos" - показывать порядковый номер товара или позицию (параметр prod_pos), '0' или '1', по умолчанию '1'.
      "cnt" - если 1 - задавать число заказанных товаров, '0' или '1', по умолчанию '1'
      "cntint" - если 1 - только целое число товаров, по умолчанию '0'
      "ut" - показывать единицы измерения (работает вместе с параметром prod_ut) , '0' или '1', по умолчанию '1'
      "price" - показывать цену (работает вместе с параметрами prod_price или prod_price_XX ) , '0' или '1', по умолчанию '1'
      "inwords" - показывать сумму прописью, '0' или '1', по умолчанию '1'
      "kop" - показывать копейки, '0' или '1', по умолчанию '1'
      "print" - показывать печать заказа, '0' или '1', по умолчанию '1'
      "rating" - подсчитывать рейтинг (параметр prod_rating), рейтинг = количество заказов данного продукта, '0' или '1', по умолчанию '1'
      "xml" - создавать xml-файл с заказом (параметр order_file) , '0' или '1', по умолчанию '0'
      "xmlname" - имя xml-файла с заказом, по умолчанию 'order.xml'
      "email" - отправлять копию заказа на e-mail заказчика (параметр order_email) , '0' или '1', по умолчанию '0'.
    • Параметр Имя формы или параметра - в значении необходимо через запятую перечислить имена параметров из которых будет построена форма заказа (поля формы - имя, адрес доставки и прочее, например: "order_name,order_email,order_address,order_tel,order_text,imagekey", где order_xxxx - параметры группы order (имя, email, почтовый адрес, телефон, комментарий к заказу), imagekey - поле для защиты интерактивной формы от спама).
    • Параметр Стиль сообщения (ветви) – нужно выбрать стиль, поддерживающий работу с формой и корзиной заказов, например «Каталог / корзина / заказ».
    • Необходимо установить право на добавление для данного объекта (wg (3) если заказ делается только авторизованными пользователями и корзина недоступна на просмотр обычным почетителям или wo (6) в противном случае). Если продукты, доступные к заказу имеют права --- 1--, то права корзины должны быть --- 101.
    • Параметр права сообщений со значением в зависимости от прав корзины, таким образом, чтобы указываемые здесь права не позволяли пользователям получить доступ на чтение создаваемых заказов: если корзина общедоступна (в правах корзины указана служебная группа), то 1,1,1,0,0,0 в противном случае: 0,0,0,0,0,0 (администратор, обрабатывающй заказы должен выходить в группу root).
    • Параметр email подраздела (опционально, если не задан, то берется общий для сайта) – один или несколько адресов электронной почты, разделенные запятыми, на которые будет высылаться копия заказа при его оформлении на сайте.
  • Сделать каталог. Создать объект, который будет корнем каталога продукции на вашем сайте. Параметры:
    • Прежде всего, чтобы создать каталог продукции с корзиной Параметр Обработчик (handler) = catbas
    • Параметр Стиль ветви – нужно выбрать стиль, поддерживающий работу с формой и корзиной заказов, например «Каталог / корзина / заказ».
  • В корне сайта или каталога продукции нужно добавить параметр id корзины указав id объекта, являющегося корзиной на сайте. При использовании нескольких разных корзин на сайте параметр «id корзины» нужно задавать в корне ветви, для которой выбранная корзина является актуальной. Т.е. каталог работает всегда с той корзиной, id которой он получает из действующего значения параметра «id корзины» на текущей странице каталога. Если корзин на сайте несколько, товары, добавленные в одну, будут доступны также и во всех остальных заказов, вам потребуется создать два объекта - сам каталог и корзину заказов.
  • Во все продукты нужно добавить параметр продукт (prod_is)
  • При желании можно настроить внещний вид каталога и корзины заказов с помощью параметров из группы «оформление» и css классов.
  • При желании можно создать блок, отображающий текущее состояние корзины заказов
    • Необходимо здать в блоке параметр функция выбора (block_where_func) со значением «корзина» (func_basket).
    • В условии показа блока можно использовать выражение '$PARAMS[basket_count]'>0 – показ блока, только когда в корзине что-то есть.

 

Для быстрого добавления нужных параметров на ваш сайт через импорт (в JM) можете использовать:

обязательные параметры:
name;description;priority;longdescription;type;value;required;storage;group_name
prod;ПРОДУКТ;1300;;;;;;
prod_is;Продукт;1070;;check;;0;1;prod
prod_price;Цена, руб;1030;;number;;0;1;prod
prod_basket_id;id корзины;1000;;text;;0;1;prod


форма заказа:
name;description;priority;longdescription;type;value;required;storage;group_name
order;ФОРМА ЗАКАЗ;1030;;;;;;
order_name;Фамилия, имя;1060;"selected=$USER[name]";text;;1;1;order
order_email;E-mail;1050;"selected=$USER[email]";text;;0;1;order
order_address;Адрес;1040;"selected=$USER[user_address]";text;;1;1;order
order_tel;Телефон;1030;"selected=$USER[user_tel]";text;;1;1;order
order_text;Примечания;1020;"";textarea;;0;1;order
order_prod;Заказанная продукция;1010;;textarea;;0;1;order


дополнительные параметры продуктов:
name;description;priority;longdescription;type;value;required;storage;group_name
prod_rating;рейтинг;1010;;text;;0;1;prod
prod_new;Новинка;1050;;check;;0;1;prod
prod_brand;Производитель;1040;;text;;0;1;prod

После импорта сделайте отдельными полями: параметр prod_is и (если требуется) другие параметры, которые поанируете использовать для выборок.

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

Пример для импорта корзины заказов

mess_header;site_home_page;handler;view_block;view_get_childs;view_menu_child_no;view_conf;form_name;form_header;form_submit;form_text_ok;form_rights;jmanager_conf
#заголовок;#домашняя страница;#обработчик;#стиль ветви;#получение дочерних;#не включать дочерние в меню;#настройки отображения;#имя формы или параметра;#заголовок формы;#кнопка submit;#текст при записи;#права сообщений x,x,x,y,y,y;#настройки менеджера
Заказ;basket;catbas;catbas;2;1;#showimg=1\nmodekey=2\ncolors=,,,\nkeywidth=0\nkeyheight=0;order,imagekey;Оформление заказа;Заказать;Спасибо, заказ получен. Мы свяжемся с вами в течение суток. Номер заказа:;1,1,1,0,0,0;ajax=1\nupdateblocks[]=418\n#updateblocks[]=792\n#updateblocks[]=793\ncompare=1\npos=0\ncnt=1\ncntint=1\nut=1\nprice=1\ninwords=1\nkop=0\nprint=1\nrating=1\nxml=1\nxmlname=order.xml\nemail=0

7.15. Настройка поисковой формы на странцие

Обязательные параметры в объекте - поиске

  • Обработчик=search
  • Имя формы или параметра=спискок параметров через запятую (search_text2) - если нужно чтобы тип поля в форме поиска и тип параметра, по которому ищется, отличались, либо работала нестандартная логика поиска нужно создать параметры-алиасы к нужным параметрам

Дополнительные параметры

  • Условие для поиска=условие в формате TreeGraph SQL, ограничивающее поиск


7.16. Защита от спама - "сaptcha" для интерактивной формы или общедоступного форума

Captcha для общедоступного форума

Строка для защиты форм и форумов от спама добавляется также как и любое новое поле в интерактивной форме. Имя поля в данном случае: imagekey.

Для интерактивной формы:

Добавить в параметр "имя формы или параметра" в конец строки ",imagekey" (без кавычек).

Для форума:

Форум состоит минимум из 3-х видов объектов.
- Корневой объект форум с указанием обработчика и настроек.
- Множество объектов тем, дочерних корневому.
- Множество объектов сообщений, дочерних к темам.

1. В корневой объект ставим параметр "имя формы (form_name)", определяющий поля формы для темы (forum_subj, forum_name, forum_email, forum_mess, imagekey).
2. В разделе id=95 (образцы) cоздаем образец темы, добавляем параметр "имя формы (form_name)", который будет определять поля формы сообщения внутри темы. (forum_name, forum_email, forum_mess, imagekey).
3. В корневой объект добавляем параметр "образец дочерних (manager_example)" и указываем наш образец темы.

Если нужно определить образец сообщения в теме, то imagekey добавляется к парамету form_name образца сообщения.


7.17. Как разобраться из-за чего не отображается блок

Если вы создали блок, который должен показывать что-то на каких-то страницах сайта, но вместо этого в ожидаемом месте целевых страниц ничего нет – придерживайтесь приведенного ниже алгоритма диагностики.

Но перед этим желательно в jm визуально проверить, нет ли ошибок в самом блоке:

  • Стоит ли параметр block_is («это блок?»), если параметра нет или в установленном параметре нет флажка – установить.
  • Задан ли стиль, правильный ли он[1]?
  • Заданы ли условия выбора и показа[2]?
  • Задано ли количество отображаемых объектов (параметр «сколько (start,limit)»)?
  • Корректная ли стоит «cортировка»? Если вы собственноручно создали какую-либо свою сортировку, путем редактирования параметра, убедитесь, что она допустима в данном контексте[3].
  • Права объекта и выборки соответствуют задаче? Если не будет прав на просмотр для блока или для выбираемых в него объектов, то и блок целевой посетитель не увидит. Если блок и/или выборка не доступна всем на просмотр, то проверять наличие блока надо авторизовавшись с соответствующими правами.

Теперь последовательность действий для отладки блока:

1. На той странице, где блок должен по замыслу быть, но его нет, включаем режим отладки (Соответствующая кнопка – «debug» – находится в экранном менеджере. Cм. раздел «Режим отладки»).

2. Ищем на странице "рамку" блока, кликаем по ней, видим таблицу с его id и параметрами (если вы не уверены, о каких именно рамках и таблицах идет речь, посмотрите скриншот в том же разделе документации: «Режим отладки»). Если для данного проблемного блока нет таблицы, то это значит, что не сработало условие показа (или «функция (проверки) показа», если она использована вместо условия), либо в текущем шаблоне нет позиции, в которой должен стоять блок. Нужно проверить условие показа и позицию. Если после визуального осмотра параметров причина все еще не ясна, то можно посмотреть xml файл страницы на которой не виден блок (см. «Режим просмотра XML данных»). Если в секции /page/blocks нет узла message с атрибутом id, соответствующим потерянному блоку, значит дело в условии показа. Если блок есть в xml, то причина – отсутствующая в шаблоне позиция (имейте в виду, что в шаблоне может стоять проверка: при определенных условиях позицию можно отключить как таковую).

3. Если таблицу в режиме отладки есть – раскрываем ее и смотрим на самую нижнюю строчку. Здесь перечисляются id объектов, выбранных в блок. Если эта строка пустая, значит в блок просто-напросто ничего не выбрано: либо неправильное условие выбора, либо указано неправильное количество, либо некорректная сортировка, либо ошибочно задана (или не настроена) функция выбора блока, одним словом, ошибка в запросе, либо в блок ничего не выбрано по причине того, что на сайте нет объектов, соответствующих заданным условиям. Не забывайте про права.

4. Если блок видно в режиме отладки и в него что-то выбрано, но на странице блок все равно не видно – значит, скорее всего, дело в стиле: или стиль неподходящий (есть, например, стили, которые показывают только специфические параметры, типа графических заголовков или видео файлов, которых может не быть ни у одного объекта выборки) или стиль не задан или задан неправильно (например, задан управляемый стиль[4], но отсутствует вид списка).

Блоки в отличие от обычных страниц не наследуют стили, у них нет «стилей по умолчанию», они «не понимают» параметры «стиль/список сообщения» - можно использовать только параметры «стиль / список ветви». Рекомендации в данном случае – проверить все стилевые параметры блока, попробовать установить другой стиль (например, стиль – "стандарт [упр. список]", список – "стандарт"), в крайнем случае – посмотреть xsl код «неработающего» стиля на предмет логики его работы и html код страницы, когда блок есть, но «невидим»[5].

5. Если ничего не помогло: возможно, у вас на сайте используется параметры «фильтр выборки блоков» или «фильтр выборки дочерних». По умолчанию блоки сайта могут находиться в любых разделах без ограничений, хотя и принято хранить их в «служебном» разделе. Однако фильтр выборки блоков позволяет сконфигурировать работу сайта так, чтобы блоки, не соответствующие какому-то определенному условию, не обрабатывать. Например, с помощью этого параметра можно ограничить разделы сайта, где сами блоки могут располагаться. Этот параметр по сути работает как дополнительное «условие показа», действующее принудительно для всех блоков. И значение этого параметра может отличаться от раздела к разделу.

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

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



[1] для задания стиля в блоке должен использоваться параметр «стиль ветви», не «стиль сообщения»!

[2] вместо «условия выбора» может быть задан параметр «функция выбора», вместо «условия показа» – «функция показа»

[3] нет ошибок в синтаксисе; используются только имена атрибутов или параметров, хранящихся в отдельных полях; имена атрибутов и параметров корректны для таблицы из которой происходит выборка: например, если мы выбираем не объекты сайта, а пользователей, обычная сортировка по заголовку не подойдет, так как в таблице пользователей нет столбца mess_header.

[4] Управляемыми называются стили, которые определяют только структуру результирующего кода страницы, но не весь ее вид. Другими словами, такие стили определяют как будет выводиться список выбранных объектов: подряд (вертикально/горизонтально), в виде таблицы или иным способом, но вот внешний вид каждого отображаемого блоком элемента (новости, баннера, фотографии и т.д.) определяется уже параметром «вид списка». Управляемые стили содержат в своем названии фразу "[упр. список]".

[5] Причин, вызывающих исчезновение элемента на странице может быть много. В том числе, возможна ситуация, когда нужные элементы в коде страницы есть, но не отображаются из-за специальных или ошибочных css выражений. Например, пропавший блок может быть перекрыт сверху другим блоком, имеющим абсолютное позиционирование и т.п.


7.18. Двухуровневое отображение структуры раздела

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

  1. Установить на странице параметр "получение дочерних - сообщение" (или "получение дочерних - ветвь", если надо, чтобы влияние этого параметра распространялось на вложенные страницы) с значением "с внуками" (для выбора 2-х уровней) или ветвь (если вы организуете многоуровневое отображение). Если вы не уверены в том, какой варинат выбрать - испольуйте этот вариант.
  2. Установить на странице параметр "условие выбора" и вручную написать условие, выбирабщее нужные объекты с учетом требуемых критериев. Вы можете использовать атрибуты parents, level и др. Подробнее о синтаксисе условий выбра здесь.
  3. Использовать на странице собственную функцию (параметр "функция").

После того, как получение 2-х (или более) уровневой выборки настроено, нужно применить стиль для многоуровневого отображения, например:

  • стиль сообщения (или ветви)  = стандарт [упр. список]
  • список сообщения (или ветви) = стандарт многоуровневый [comm]

Также подойдет управляемый стиль "двухуровневый стандарт [упр. список]"*, позволяющий задать произвольный вид списка для отображения второго уровня; стили раскрывающихся меню и прочие. Также вы можете написать под вашу задачу собственный стиль с любым отображением.

Большинство существующих стилей понимает параметры группы "оформление", которые позволяют всячеки настраивать внешний вид создаваемого стилем фрагмента страницы. Например, вид списка "стандарт многоуровневый [comm]" может использовать параметр "класс ссылки"* для определения css классов заголовков разных уровней (указываются через запятую)*

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

*) Зависит от версии библиотеки стилей и модификаций ее содержимого.


7.19. Что такое $PARAMS и где можно использовать эту конструкцию?

$PARAMS [] (перед квадратными скобками не должно быть пробела) является конструкцией, автоматически заменяемой на действующее в данный момент (на текущей странице) значение указанного в квадратных скобках параметра или атрибута.

$PARAMS парсится (заменяется на значение) в парметрах:
redirect
onclick
block_where
block_check
block_header
block_header_link
block_tail
block_tail_link
art_links
manager_filter
search_where
http_query
form_conf

Нужно иметь виду, что если $PARAMS должен вернуть значение реального параметра (а не фиктивного, создаваемого вручную в index.phtml), то данную конструкцию нельзя использовать в тех, местах, где на основании запроса рассчитывается значение параметров. Например, $PARAMS нельзя использовать в условии показа оверкита, т.к. сам оверкит используется в момент формирования значений всех реальных параметров - $PARAMS в этот момент еще пуст, т.е. нельзя использовать значения параметров для расчета самих значений параметров.
Однако если мы в самом начале (при запуске формирования страницы) заполнили $PARAMS фиктивным параметром (например $PARAMS [abc], где abc - реально не существующий параметр), то такое значение можно использовать в условии показа оверкита.

См. также: синтаксис условий выбора и показа.


7.20. mailer - с логикой в php

В отличие от mailerx, модуль выполняет логическую обработку писем и подписчиков в php. Результатом работы становятся две ветви в xml дереве "/page/message/childs" и "/page/message/users/", которые обрабатываются xsl по упрощенной логике.

Объекты рассылки

/page/message/childs/* - объекты для рассылки. 

В процессе составления этой ветки, выбираются все объекты, созданные в нужный интервал вне зависимости от местонахождения в дереве. (как и в mailerx). Отсечь объекты, можно дополнительным ключем "filter" параметров handler_conf или jmanager_conf, например, filter=art_is=1.  

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

  1. Классически через site_subscribe. Параметр  site_subscribe выставляется в нужных разделах, в рассылку попадают только дочерние этих разделов. 
  2. subscribe_rubs. В значении этого параметра указывается условие выборки рубрики. В модификаторе ставится ключ "param" с указанием на параметр рубрики, задаваемой как mselect в объекте, который должен быть выслан подписчику. Например, есть параметр art_rubric, с значением parent_id=N, который устанавливается во всех новостях. В модификатор subscribe_rubs ставится param=art_rubric, в значение parent_id=N

После цикла обработки в узел объекта добавляется узел rubric (/page/message/childs/*/rubric) с идентификатором рубрики, будь то родительский раздел или рубрика. 

Пользователи

/page/message/users/* - пользователи

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

Это позволяет не проверять в xsl наличие объектов в рубрике. 

/page/handler/interval

/page/handler/mail_group

/page/handler/dir

/page/handler/action

Подключение

  1. в параметр "обработчик (handler)" добавляем строку mailer=mailer
  2. в объекте с id=12 меняем обработчик на mailer
  3. переходим в модуль стили по /?id=13 и поключаем стиль нового рассыльщика
    <xsl:include href='/www/treegraph4/xsl/mailer.xsl'/>
  4. делаем перезагрузку стилей
  5. переходим на страницу /?id=12
  6. Видим области "Управление", "QUEUE", "Отписаться", "LOG" 
  7. Для запуска рассылки сайта по времени необходимо написать заявку на support@graphit.ru

Рассылка подключена

Настройка

Вариант 2. Рассылка происходит по рубрикам. За выбранные рубрики отвечает параметр пользователя "subscribe_rubs". На сайте список рубрик указывается и в параметре "art_rubric". В панели параметров ищем "art_rubric" и смотрим его поле "значение", например, "parent_id=620". Теперь находим в панели параметров "subscribe_rubs" и редактируем его: в поле модификаторы добавляем "param=art_rubric" - это сообщит модулю, где в параметрах объекта для отправки искать значение рубрики. А в поле "значение" дубируем значение из "art_rubric" "parent_id=620" - это синхронизирует выборку рубрик для формы подписки с рубриками сайта. Внимание! Если в выборке присутствует поле отмеченное как cl_code_is, то значение должно быть таким "parent_id=620 and !cl_code_is" - это исключит первую служебную строку. 

 

 

 

 

  1. В "Управление" ожно выполнить запуск рассылки для различных 

 


7.21. Создание интерактивной формы на основе конструктора форм

1. В группе параметров «Форма» создается параметр «конфигурация формы»:

Название: конфигурация формы
Переменная: form_conf
Тип: textarea
Модификаторы: parse=1 и editor=t_editor

2. В группе параметров «Форма» создается параметр «сохраненная форма»:

Название: сохраненная форма
Переменная: form_save
Тип: textarea
Модификаторы: serialize_is=1

3. В начало файла стилей site_templates.xsl добавляется строка:
<xsl:include href="/www/treegraph4/xsl/jqform.xsl"></xsl:include>

4. В файл стилей site_templates.xsl добавляется стиль «jquery форма [упр.список]» (есть на demo.local.graphit.ru)

5. При необходимости добавляются собственные шаблоны строк формы и элементов:
<xsl:template match="*" mode="'jq_form_row'"> и
<xsl:template match="'*" mode="'form_element'">

6. На сайте создается обычная интерактивная форма со стилем ветви «jquery форма». Параметр «имя формы или параметра» остается пустым.

7. В форму добавляется параметр «конфигурация формы» и заполняется по следующим правилам.

Каждый элемент формы представляет собой несколько строк вида:

ключ[индекс]=значение

ключ – одно из определенных ключевых слов, задающих тип параметра, его внешний вид и различные настройки

индекс – произвольное имя (набор латинских букв, цифр и _, начинается с буквы). Для одного параметра все индексы указываются одинаковые! В качестве индекса можно указать имя «реального» параметра.

значение – строка, задающая значение ключа (зависит от ключа)

Пустые строки и строки, начинающиеся с #, игнорируются.

8. Виды ключей

type

Задает тип поля (параметра). Обязательный ключ. Возможные значения: text, textarea, check, image, file, date, number, password, select, mselect, radio, mradio, checks, list, selects, mselects, hidden, header

description

Название поля формы (текст). Обязательный ключ.

desctext

Дополнение названия формы (текст)

fseparator

Разделитель значений для списков. По умолчанию - ; (символ)

items

Список возможных значений через разделитель (текст;текст;…)

vals

Список ключей для возможных значений. Если не указан, то для значений применяется список items (текст;текст;…)

selected

Начальное значение поля формы (текст или список)

required

Обязательность ввода для поля формы (0/1)

disabled

Атрибут disabled для поля формы (0/1)

readonly

Атрибут readonly для поля формы (0/1)

nodesc

Не показывать название поля (description) (0/1)

placeholder

Атрибут placeholder для поля (текст)

class_row

CSS класс для строки с элементом формы

 

Ключи для группирования элементов типа radio и checks

first

Название группы для объединения у первого элемента (текст)

group

Название группы для объединения элементов (текст)

title

Заголовок колонки объединенных элементов (текст)

numbering

Столбец с нумерацией объединенных элементов (0/1)

desc_pref

Префикс описания объединенных элементов (текст)

desc_add

Дополнение описания объединенных элементов (текст)

items_pref

Префикс для названий итемов элемента (текст)

sub_groups

Список номеров подгрупп объединенных элементов

sub_groups_title

Список заголовков подгрупп объединенных элементов

sub_group

Номер подгруппы элемента (число)

view

Модификатор внешнего вида элемента (table)

show_vals

Показывать значения вместо текстов элементов в заголовке (0/1)

bot_header

Повторить строку заголовка под таблицей (0/1)

data-max-checked

Максимальное число выбранных элементов типа checks

data-disabled-elem

Имя параметра управляющего элемента. Данный элемент будет скрыт, пока значение параметра указанного элемента не будет равно значению, заданному в ключе data-disabled-val

data-disabled-val

Значение параметра управляющего элемента для показа элемента с ключом data-disabled-elem

 

9. Примеры

type[n1]=text
description[n1]=Текстовое поле
required[n1]=1
selected[n1]=Graphit


type[n2]=textarea
description[n2]=Блок текста
placeholder[n2]=Введите кратное описание задачи


type[n3]=check
description[n3]=Чекбокс
selected[n3]=1
required[n3]=1


type[n4]=select
description[n4]=Селект с числовыми значениями
items[n4]=выберите значение:;значение 100;значение 200;значение 300
vals[n4]=0;100;200;300


type[n5]=select
description[n5]=Селект с текстовыми значениями
items[n5]=выберите:;значение 1;значение 2;значение 3


type[n6]=radio
description[n6]=Радио-кнопки
items[n6]=выбор 1;выбор 2;выбор 3
vals[n6]=1;2;3


type[n7]=checks
description[n7]=Группа чекбоксов
items[n7]=чек 1;чек 2;чек 3


type[n8]=selects
description[n8]=Множественный селект
items[n8]=значение 1;значение 2;значение 3;значение 4;значение 5
vals[n8]=1;2;3;4;5


type[n9]=number
description[n9]=Число с 3 знаками
feminlength[n9]=3
femaxlength[n9]=3


type[n10]=date
description[n10]=Дата
selected[n10]=05.07.2019


type[view_file]=file
description[view_file]=Файл (реальный параметр)

 


type[icon]=image
description[icon]=Графика (реальный параметр)


description[n11]=Группировка элементов типа radio
type[n11]=header
desctext[n11]=(дополнение)
first[n11]=n11
width_item[n11]=15%
title[n11]=Заголовок
numbering[n11]=1

description[n11_1]=Первый элемент
type[n11_1]=radio
items[n11_1]=Много; Достаточно; Мало
vals[n11_1]=1;2;3
required[n11_1]=1
group[n11_1]=n11

description[n11_2]=Второй элемент
type[n11_2]=radio
items[n11_2]=Много; Достаточно; Мало
vals[n11_2]=1;2;3
required[n11_2]=1
group[n11_2]=n11

description[n11_3]=Третий элемент
type[n11_3]=radio
items[n11_3]=Много; Достаточно; Мало
vals[n11_3]=1;2;3
required[n11_3]=1
group[n11_3]=n11


description[n12]=Группировка элементов типа checks с подгруппами
type[n12]=header
title_add[n12]=1 – много; 2 – достаточно; 3 – мало
first[n12]=n12
width_group[n12]=35%
width_item[n12]=5%
title[n12]=Заголовок
sub_groups[n12]=1;2
sub_groups_title[n12]=Подгруппа 1;Подгруппа 2

description[n12_1_1]=Первый элемент
type[n12_1_1]=checks
items[n12_1_1]=1;2;3
group[n12_1_1]=n12
sub_group[n12_1_1]=1

description[n12_1_2]=Второй элемент
type[n12_1_2]=checks
items[n12_1_2]=1;2;3
group[n12_1_2]=n12
sub_group[n12_1_2]=1

description[n12_2_1]=Первый элемент
type[n12_2_1]=checks
items[n12_2_1]=1;2;3
group[n12_2_1]=n12
sub_group[n12_2_1]=2

description[n12_2_2]=Второй элемент
type[n12_2_2]=checks
items[n12_2_2]=1;2;3
group[n12_2_2]=n12
sub_group[n12_2_2]=2


10. Экспорт введенных данных

Экспорт данных, введенных в форме, можно произвести несколькими способами.

а) С помощью административного модуля JM

Для этого надо поместить все объекты, дочерние к форме в фильтр (см. описание модуля) и выбрать в контекстном меню команду «Экспорт». В открывшейся панели выбрать нужный формат экспорта, задать кодировку, список экспортируемых атрибутов и параметров и другие настройки. Затем нажать кнопку «ввести» и на новой панели – кнопку «открыть».

б) С помощью отдельного объекта-экспорта

Для этого надо создать отдельный объект со следующими параметрами:
«обработчик» - выбрать jexport
«сколько (start,limit)» - указать количество экспортируемых объектов
«условие выбора» - задать условие в виде: parent_id=XXX (XXX – id формы)
«настройки обработчика» - задать настройки экспорта

в) С помощью самой формы

Для этого надо к адресной строке формы добавить ключ export=1 в одном из форматов:

http://адрес_сайта/форма?export=1
http://адрес_сайта/?id=XXX&export=1

Настройки экспорта можно задать в параметре «настройки обработчика» в самой форме или с помощью ключей в адресной строке после ключа export=1. Например:

https://адрес_сайта/?id=XXX&export=1&export_format=html&export_params=id,params

Все возможные настройки экспорта (для параметра «настройки обработчика» и адресной строки):

Ключ

Значение и описание

По умолчанию

export_params

Список атрибутов и параметров для экспорта (через ,). Можно указать * (все атрибуты и параметры), attr (все атрибуты), params (все параметры)

*

export_format

Формат экспорта: text, html, csv, doc, xml, rss, yml, zip (архив + csv)

text

export_encode

Кодировка: UTF-8 (Юникод), windows-1251 (Windows Кириллица), koi8-r (Русская КОИ8), ISO-8859-2 (Западноевропейская ISO-8859-2), ISO-8859-1 (Западноевропейская ISO-8859-1)

UTF-8

export_delim

Символ-разделитель столбцов (; \t TAB COMMA)

;

export_delimline

Символ-разделитель строк

\n

export_delimelem

Символ-разделитель элементов

,

export_mselect

Способ экспорта параметров типа select, radio и др.: id (идентификатор), header (заголовок), all (идентификатор=заголовок)

id

export_elements

Способ экспорта параметров с несколькими элементами: string (одной строкой через разделитель), separate (отдельными колонками), complex (оба варианта)

string

export_images

Способ экспорта параметров типа image: tag (тег img), file (ссылка на файл), alt (поле alt)

tag

export_date

Способ экспорта параметров типа date: normal (по умолчанию), day_time (день время), day (день), time (время)

normal

export_dayformat

Формат для экспорта даты

%d.%m.%Y

export_timeformat

Формат для экспорта времени

%H:%M

export_sequence

Экспортировать колонки в порядке перечисления параметров. В этом случае в ключе export_params можно указывать только имена параметров. Нельзя указывать *, attr, params. (0/1)

0

export_nan

Текст для отсутствующих параметров

NaN

export_limit

Максимальное число дочерних объектов при экспорте формы

9999

export_order

Порядок вывода дочерних объектов при экспорте формы

tree_order

 


Контактная информация
603000, Россия,
г. Нижний Новгород,
ул. Студеная, дом 5,
4-й этаж.
info@graphit.ru

(831) 260–16–32