Работа со страницами
Управление страницами
Страницы создаются в панели администратора в разделе Страницы .
Доступ к странице имеет только роли, указанные в поле Роли (через запятую без пробелов. Если указано all - то доступ имеют все. Если * - то только авторизованные пользователи).
Безопасность и разграничение доступа в Falcon Space
У каждой страницы может быть свой JS и CSS файлы. Их можно менять через страницу управления данной страницей.
Вся функциональность добавляется через специальные сниппеты разметки - это сниппеты as crud, as form, as editable и т.д.
Пример сниппета:
<div class="as-form" data-code="form1" data-itemid="12"></div>
- при выводе преобразуется в вывод формы с кодом code1
Адрес страниц - /{code}, где code - это код страницы.
Для связи страниц используются параметры в разметке , которые при рендеринге страницы подменяются на URL параметры (в большинстве случаев для идентификации дополнительных объектов лучше использовать параметр itemID, т.к. он неявно передается на страницу, напр. /page1/code1 означает переход на страницу page1 и itemID=code1).
Также можно передавать в разметке параметр для вывода имени текущего пользователя.
Примечание:
- Меню кабинетов определяется на базе раздела меню, а также из тех страниц, которые имеют галочку Показывать в меню.
- Важно! Не меняйте без особой необходимости код страницы (по коду страницы создаются JS и CSS файлы + при изменении кода изменится URL страницы) + на это поле завязаны хранимые процедуры с хлебными крошками.
- Страница будет доступна для просмотра только той роли, в рамках которой она была создана.
- Сниппеты - задают типовую разметку, чтобы не по памяти набирать ее. Старайтесь указывать все параметры, которые дает сниппет (т.е. если не нужен параметр, то оставляйте пустым или 0).
- Для страниц панелей управления указываем в настройках галочку Панель управления и иконку. Эта страница будет считаться главной для кабинета и может быть использована для редиректов на вход в кабинет.
- Все посещения страниц сохраняются в as_trace с кодом pv (сохраняется url, falconGuid и в некоторых случаях itemID).
- Для страниц можно использовать специальный режим, при котором можно выводить разметку с логикой через JSRender. Для этого ставим галочку Режим JS Render и используем специальную разметку (но помните, что при этом вывод данных на странице при этом не будет индексироваться поисковыми системами).
В JS Render передается объект с полями username (имя текущего пользователя), roles (массив ролей), urlParameters (параметры URL в виде объекта {key:value, ...}).
- Для перехода к редактированию страницы нажмите иконку редактирования справа вверху.
- Вы можете указать какой использовать Layout для страницы (Редактирование страницы / Правая колонка) - либо кабинетный (для страниц кабинета пользователей), либо лицевой (для страниц неавторизованного доступа, например Каталог, Корзина и т.д.).
- Для главной страницы используется страница со специальным кодом _default. При этом в web.config в App Settings должен быть указан параметр hasDefaultPage=”1”
- Нельзя использовать коды страниц, начинающихся с этих слов: controls, arkstuff, admin, catalog, account, api, list, home.
- Название страницы участвует в заголовке страницы, а также в формировании меню (если стоит галочка в Меню).
SQL процедура управления страницей
Для страницы можно через SQL (кнопка SQL Страницы) внедрять различную бизнес-логику на SQL.
Входные параметры
- @roles - роли текущего пользователя через запятую.
- @itemID - переданный параметр itemID в URL
- @urlParameters - коллекция параметров из URL (Key, Value). Здесь также передаются спец параметры, которые добавляются системой (т.е. это не принимаются от браузера):
- langID - текущий язык
- username - текущий пользователь
- userGuid - Guid пользователя (который ставится также и анонимным пользователям в куки).
- urlReferrer - страница, с которой пришел пользователь.
Выходные параметры.
- SELECT 1 - Хлебные крошки
- SELECT 2 -
- Title, Description, Keywords - SEO параметры страницы, тег title и метатеги Description и Keywords.
- TitleTooltip - подсказка, которая будет выводиться рядом с заголовком страницы.
- RedirectUrl - Если задано, то идет перенаправление на другую страницу.
- BodyBottomSection - здесь можно вставить дополнительные скрипты (или динамическую микроразметку)
- HeadSection Здесь можно вставить подключения дополнительных стилей
- IntroRunBtnText, 1 IntroInstantRun, 1 EnableIntroOnMobile - задают параметры мастера описания страницы. IntroRunBtnText - текст кнопки запуска мастера (по умолчанию становится справа на странице). IntroInstantRun - если 1, то сразу запускается мастер при загрузке страницы (показывается автоматически только 1 раз при загрузке). Если EnableIntroOnMobile =1, то механизм подсказок будет запускать и на мобильном (по умолчанию он отключен для мобильных).
- SELECT 3 - Дополнительные параметры отдельным запросом, которые можно вывести на странице через {sp-par1}, где par1 - название параметра в SQL. Также здесь передается разметка для списковых данных (list1Makeup, list2Makeup… list5Makeup).
- SELECT 4-8 - списковые данные в формате p1... p6, они используются в разметки listXMakeup
- SELECT 9 - настойки мастера ознакомления со страницей (используется https://github.com/xbsoftware/enjoyhint).
- Selector - селектор элемента на странице (.btn)
- Event - по какому событию будет переход к следующему элементу (next - по кнопке Вперед, click - по клику на элемент Selector)
- Description - текст описания
- Shape - какой фигурой выделяется элемент (rect, circle)
- ScrollAnimationSpeed скорость анимации в мс (300)
- Raduis - радиус выделенной области при Shape = circle (100)
- Margin - отступы выделенной области (50)
- NextText - текст кнопки Дальше. Если не задано - то кнопка скрыта.
- SkipText - текст кнопки Закрыть. Если не задано - то кнопка скрыта.
Демостенд мастера подсказок - /tst-hints-- SELECT 9 Мастер ознакомления со страницей select * from ( select '#fastAddFormsDropdown' Selector, 'next' Event, 'здесь ключевые типовые возможности с быстрым доступом' Description, 'rect' Shape, 300 ScrollAnimationSpeed, 100 Radius, 50 Margin, 'Хорошо' NextText, 'Стоп' SkipText, 10 ord union select '.tst-btn1' Selector, 'click' Event, 'Кликни на кнопку. Произойдет переход к следующей подсказке. Подсказки могут быть круглые(Shape=circle).' Description, 'circle' Shape, 300 ScrollAnimationSpeed, 90 Radius, 50 Margin, '' NextText, 'Стоп' SkipText, 20 ord union select '.as-mainMenu' Selector, 'next' Event, 'Основное меню (текст кнопок может быть разный для разных шагов)' Description, 'rect' Shape, 300 ScrollAnimationSpeed, 100 Radius, 50 Margin, 'Понятно' NextText, 'Стоп' SkipText, 30 ord union select '.as-loginStatus' Selector, 'next' Event, 'служебное меню, связанное с пользователем ' Description, 'rect' Shape, 300 ScrollAnimationSpeed, 100 Radius, 50 Margin, 'Хорошо' NextText, 'Стоп' SkipText, 40 ord ) t order by ord
- SELECT 10 - подсказки к элементам (при наведении или клике)
- Selector - селектор элемента для которого будет выводиться подсказка.
- Event - click либо mouseenter (при наведении)
- Text - выводимый текст
- Type - цветовое решение по выводимому окну (danger, info и т.д.)
- ShowType - toast (вывод подсказки сверху вверху) или tooltip (миниподсказка, которая будет выводиться при наведении).
CREATE PROCEDURE [dbo].[pg_crumbs_supplierProjects] @roles nvarchar(128), @itemID nvarchar(128) = '', @urlParameters CRUDFilterParameter READONLY AS BEGIN CREATE TABLE dbo.#result (title nvarchar(256), link nvarchar(256), tooltip nvarchar(256), ord int) insert into #result select 'Главная', '/', '', 1 union select 'Рабочий стол', '/supplierCabinet', '', 2 union select 'Мои проекты', '', '', 3 -- первый запрос - хлебные крошки select * from #result order by ord -- второй запрос - seo параметры и RedirectUrl select 'Мои проекты' Title, '' RedirectUrl -- третий запрос в свободном формате, доп. параметры select 'Par1' as Par1 drop table #result END
Специальные страницы
- _default - главная страница сайта
- notfound - страница для показа 404 ошибки (ситуации, когда запрошенная страница не найдена)
- noaccess - страница отображается, когда к запрошенной странице нет доступа у пользователя.
Примеры работы компонентов платформы Falcon Space
Примеры удобных таблиц и форм Примеры дашборда Примеры графиков и диаграмм Пример календаря Таблица с данными по API Пример вывода карты с точками Виды полей форм Пример виджета статистики Пример дерева иерархии Пример компонента Временная линия Пример карточки товаров Пример учета загрузки ресурса Пример Канбан доски Пример мастер формы Пример выгрузки документов Excel/Word Пример заполнения данных по ИНН- Руководства
- Основа Falcon Space Базовые элементы Falcon Space Falcon Space. Настройки системы Работа со страницами Система периодических событий Универсальный поиск Настройки почты Работа с редактором кода
- Основные компоненты
- Возможности Falcon Space
- Подсистемы
- Дополнительные компоненты
- Интеграции
- HOWTO
- HOWTO Таблицы
- HOWTO Формы
- HOWTO JS
- HOWTO CSS
- HOWTO Верстка
- Решение проблем
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства
Бесплатное обучение разработке на Falcon Space
