Jump to content
  1. Знакомство с приложением Страницы

    Приложение Страницы предназначено для построения дополнительных областей вашего сайта. Это могут быть как пользовательские блоки, используемые в вашем боковом блоке/футере/хэдере, до сложных многофункциональных приложения, использующих возможности баз данных.
    В то время, как другие приложения IPS4 составляют уже укомплектованные готовые для использования после установки приложения (хотя и гибко настраиваемые), приложение Страницы отличается от них. Страницы представляет из себя набор инструментов, позволяющих вам создавать собственные интерфейсы. В данном разделе мы проведём вас по всем возможностям приложения и покажем примеры реализации некоторых интерфейсов.
    Кто может использовать Страницы
    Приложение создано для всех! Оно имеет удобный для использования функционал, например построение страниц с помощью перетаскивания блоков с информацией. С другой стороны, чем шире ваши знания PHP и HTML, тем более продвинутые решения вы можете реализовать. Но для работы с приложения эти знания вовсе не обязательны.

     
  2. Создание страниц

    Основа приложения Страницы является возможность создавать страницы, как бы парадоксально это не звучало.
    Чтобы не запутаться в понятиях, мы примем за правило при обозначении приложения писать его название с заглавной буквы - Страницы, если же имеем ввиду web-страницу, мы будем писать её со строчной буквы.
    Что такое страница?
    Страница это некий контейнер для контента. В зависимости от назначения, страница может содержать обычный контент (простой текст или текст со вставками изображений, видео и другими элементами из других приложений Invision Community), или более сложный контент, например блоки и базы данных (о них мы поговорим чуть позже).
    Если вы знакомы с кодом, вы также можете использовать стандартную логику шаблонов в странице, что позволит получить нестандартные результаты и возможности. Для тех, кто не знаком с кодом, есть функция построения  простых страниц, позволяющая вам переносить компоненты на вашу страницу с помощью технологии drag-n-drop.
    Страница имеет свой URL, и может быть автоматически добавлена в ваше меню навигации при создании, если в этом есть необходимость.
    Страница также может иметь собственные разрешения, позволяющие вам ограничить доступ к странице для групп пользователей. Это можно использовать, например, если вы хотите создать страницу только для ваших модераторов или пользователей со статусом премиум.
    Страница в настоящее время недоступна для поиска в Invision Community (хотя внешние поисковые системы, например Яндекс или Google, проиндексируют её). Тем не менее, если на вашей странице расположена база данных, контент этой базы будет доступен для поиска внутри IPS4.
    Создание страниц
    Страницы создаются в админцентре в меню Страницы > Менеджер страниц > Страницы. Здесь вы увидите список всех существующих страниц. Вы также можете добавить директорию; URL адрес страницы будет отражать эту структуру. Например, страница в директории 'docs' под названием 'index' будет иметь следующий URL адрес <site.ru>/docs/index. 
    При нажатии на кнопку 'Добавить страницу' вы сможете выбрать два способа создания страницы - Строительство страницы или Ручной HTML код.
    Создание новой страницы в Pages
     
    Строительство страницы
    После создания страницы в админцентре, вы сможете перейти на страницу на сайте и добавить контент на страницу с помощью менеджера блоков. Этот вариант лучше всего подходит для тех, кто не знаком с HTML. Ручной HTML
    При использовании этого типа страницы, вы сможете ввести контент страницы в редактор. В этом редакторе вы можете использовать HTML код, а также полный спектр логики шаблонов IPS4. C помощью этого типа, вы можете вставить любые другие элементы контента (блоки, базы данных и т.д.) на страницу с помощью специальных тегов. Доступные теги будут отображены в боковом блоке редактора. Управление контентом на страницах с помощью перетаскивания блоков (Drag-and-drop)
    Если вы создали страницу с помощью "Строительства страницы", после сохранения её в админцентре, вы можете перейти на неё на сайте и управлять содержимым страницы (Нажмите на кнопку 'Открыть строитель страницы' в списке страниц). 
    Открыть строитель страницы
     
    По умолчанию страница будет пустой. Нажмите стрелочку слева, чтобы открыть боковую панель и посмотреть список доступных виджетов. Большинство виджетов устанавливаются сразу на весь сайт, но виджеты приложения Страницы имеют возможность многократного использования:
    Список виджетов приложения Страницы
     
    Из них виджет WYSIWYG редактор наиболее предпочтителен при настройке страницы. Он позволит использовать стандартный в IPS4 тестовый редактор с богатыми возможностями. Просто перетащите его мышкой в размеченную область страницы и нажмите кнопку Изменить.
    Редактирование контента страницы
     
    Мы не будем рассматривать возможности остальных виджетов приложения, т.к. они являются специфическими для других функциональных возможностей приложения.
    Управление контентом на страницах с помощью Ручного HTML
    При создании страниц с помощью ручного HTML кода, вы сможете выбрать использование HTML обложки вашего сайта. Обложка включает в себя хэдер сайте, меню навигации и другое, таким образом содержание вашей страницы вставится в эту обложку. Если отключить этот параметр, обложка сайта не будет использована - вам нужно будет указать или создать собственную обложку (однако, вы сможете выбрать пользовательскую обложку).
    Если вы используете обложку сайта, вы также сможете включить на свою страницу боковой блок сайта. Введённый в редактор кода контент, формирует содержание страницы, в свою очередь боковой блок будет управляться привычным способом перетаскивания в него блоков.
    Добавление страниц в меню навигации
    В процессе создания новой страницы вы можете с лёгкостью добавить ссылку на неё в меню навигации сайта на вкладке 'Меню'. Кроме того, вы можете добавить страницу в меню позже в любое удобное для вас время, воспользовавшись Менеджером меню в IPS4.
    Добавление страницы в меню навигации сайта
     
  3. Блоки

    В приложении Страницы, блок это область многократно используемого контента. Они могут быть созданы приложениями вашего сообщества, быть настроенными на основе других блоков и быть полностью собственной разработки.
    Если вы знакомы с кодом, пользовательские блоки позволят вам достичь некоторых комплексных результатов, так как в них можно использовать полный спектр логики шаблонов IPS4. Если вы не знакомы с кодом, вы все равно можете создавать блоки на основе настраиваемых блоков с помощью простого мастера.
    Блоки могут быть вставлены в созданные вами страницы, а также в страницы, созданные Invision Community (если на странице есть боковой блок, вы можете размещать в нём различные блоки с помощью менеджера блоков, либо вы можете вручную разместить блок, указав его тег в шаблонах IPS4).
     
    Для чего можно использовать блоки?
    Существует большое количество ситуаций, когда могут быть применены блоки. Пользовательские блоки, основанные на настраиваемых блоках, это отличный способ показать популярный контент вашего сайта. Например, вы можете создать блок, содержащий в себе ленту самых популярных тем в конкретном форуме, и использовать этот блок в других смежных форумах вашего сообщества для продвижения контента.
    Пользовательские блоки легко масштабируются. Они могут быть простыми HTML блоками, которые вы можете использовать в нескольких областях сайта, до PHP кода, который можно использоваться для создания динамического контента. Обычно такие блоки используются для построения динамических элементов на основе страниц, на который они используются.
     
    Управление блоками
    Управление блоками происходит из админцентра на странице Страницы > Менеджер страниц > Блоки. Блоки могут .могут быть распределены по категориям, это никаким способом не влияет на их использование и отображение, а является лишь частью процесса удобного управления блоками.
    Список блоков в приложении Страницы
     
    Создание блоков
    Блоки создаются в на этой же странице. При клике на кнопку 'Создать блок', вы сможете выбрать Плагин и Настроит свой блок.
    Создание нового блока
     
    Плагин
    Блок плагин основывается на существующих данных Invision Community, например пользователи, темы форума, предстоящие события календаря и другое. В настройках таких блоков вы можете сконфигурировать различные фильтры для отображения определённых данных. Например, вы можете создать ленту тем из определённого форума, которая будет содержать темы с 10 и более сообщениями в них. Такие блоки используют стандартный шаблон отображения, но вы можете указать другой шаблон или изменить стандартный по своему вкусу.
    Блок на форуме - Список популярных тем
     
    Настраиваемый блок
    Такие блоки могут быть созданы с помощью текстового редактора, HTML кода (включая логику шаблонов IPS4), или с помощью PHP кода.
     
    Использование блоков
    На страницах, созданных с помощью Строителя страниц, блоки могут быть перенесены в рабочую область с помощью менеджера блоков (доступные области расположения блоков могут отличаться и зависят от используемого вами шаблона страницы).
    На страницах, созданных с помощью HTML кода (или если вы хотите вставить блок в шаблон темы), необходимо использовать специальный тег для вставки блока:
    {block="block_id"}  
    Кэширование блоков
    Пользовательские блоки могут использовать кэш, если это необходимо, таким образом уменьшая ресурсы, используемые для отображения блока. Если ваш блок отображает динамическую информацию (например контент меняется в зависимости от того, какой пользователь его просматривает или на какой странице он размещён), в таком случае вы не должны использовать кэширование.
    Для блоков плагинов, IPS4 осуществляет их кэширование самостоятельно.
  4. Базы данных

    Базы данных являются одной из самых мощных и гибких возможностей в приложении Страницы. С помощью некоторой конфигурации и настройки, они позволяют вам создавать комплексные области на ваш сайт.
    Базы данных, как следует из названия, предназначены для хранения данных и отображению их пользователям. Это может быть проста база, например таблица записей, содержащих название и контент, что-то подобное записям блога, либо комплексная база, отображающая множество различной информации, например полей данных. Возможности безграничны.
     
    Особенности баз данных в Страницах
    Поиск
    В IPS4 по умолчанию можно производить поиск информации по базам данных (вы можете исключить любую базу из поиска, если желаете). Каждая база данных рассматривается как отдельная область вашего сообщества, поэтому доступна в форме поиска как отдельный элемент, такой же, как приложение Форумы, например.
    Поиск по базе данных
     
    Системные возможности
    Приложение Страницы предоставляет базам данных широкий ряд возможностей системы, которые даже самую простую базу данных делают многофункциональной и хорошо интегрированной с вашим сообществом. Например, вы можете включить для любой базы данных возможность комментировать записи и оставлять к ним отзывы. Пользователи также могут подписываться на категории и отдельные записей для получения уведомлений о новом контенте. Социальные возможности, такие как репутация и возможность поделиться контентом в социальные сети, также доступны для записей баз данных. Тегирование и набор модераторских возможностей тоже применимы к каждой записи и поддерживаются что называется "из коробки".
    Редактирование в Wiki-стиле
    C точки зрения добавления/редактирования записей, базы данных в приложении Страницы ведут себя точно так же, как и другие приложения Invision Community; а именно, когда пользователь добавляет запись, он считается её 'владельцем'. Тем не менее, базы данных имею возможность редактирования записей в стиле wiki, в результате чего любой пользователь сможет редактировать записи после их создания.
    Редактирование в wiki стиле
     
    Хранение изменений
    Базы данных также поддерживают хранение копий записей. Это значит, что при каждом изменении записи, сохраняется её предыдущая версия, доступ к которой можно получить позже. Вы также можете вернуться к более ранней версии записи, если в этом есть необходимость.
    Интеграция с форумами
    И, наконец, базы данных имеют специальную интеграцию с приложение Форумы. При создании новой записи в базу данных, IPS4 может одновременно разместить запись как тему в выбранном вами форуме. Но это ещё не всё, вы можете использовать тему форума в качестве комментариев к записи, вместо стандартного интерфейса комментирования.
    Публикация темы в форуме при публикации записи в базу данных
     
     
    Из чего состоит база данных
    База данных состоит из нескольких ключевых компонентов:
    Сама база данных
    Естественно, вам нужно создать саму базу данных. Здесь можно настроить параметры, влияющие на базу данных в целом, например сортировка записей, отзывы, разрешения и так далее. Категории
    Если ваша база данных использует категории (вы можете их не использовать), они добавляют другой уровень структуры и другие разрешения. Поля
    Вы можете создавать дополнительные поля для всех видов данных, которые могут понадобиться для вашей базы данных. IPS4 поддерживает множество различных типов полей, от простого текстового поля, до полей загрузки файлов и полей связи с другими базами данных. Шаблоны
    Шаблоны позволяют вам настроить отображение базы данных. Стандартные шаблоны уже есть в IPS4, и если вы не знакомы с кодом, вы можете воспользоваться именно стандартными шаблонами. Для тех, кто с кодом знаком, редактирование шаблонов это лучший способ построить сложное и комплексное приложение.  
    Структура URL адресов базы данных
    Базы данных существуют внутри созданной страницы. Отдельные категории и записи в базе данных доступны через URL адрес страницы, на которой расположена базы данных. Например, если у вас есть страница с URL адресом <site.ru>/моястраница и эта страница содержит вашу базу данных, вы можете получить доступ к записям вашей базы по следующему URL адресу <site.ru>/моястраница/категория/запись, где 'категория' является названием категории записи, а 'запись' соответственно названием записи. Эти URL адреса будут динамически обновляться, если вы переименовали вашу страницу или переместили базу данных на другую страницу.
    Для обеспечения такой структуры, каждая база данных может быть расположена только на одной странице. Они не могут быть продублированы на других страницах (хотя вы можете создавать блоки, содержащие данные из базы данных, и размещать их на любых других страницах).
     
    Дополнительные поля
    Более продвинутые виды использования баз данных требуют для достижения своих целей дополнительные данные. Для сбора и хранения этих данных создаются дополнительные поля. Они создаются в админцентре и когда пользователь добавляет новую запись в базу данных, поле отображается в форме её создания.
    IPS4 поддерживает широкий диапазон типов полей, что легко позволяет собирать данные определенного типа. Поддерживаемые типы полей:
    Адрес
    Добавляет специальное поле адреса с автозаполнение. Чекбокс
    Единичная кнопка выбора. Набор чекбоксов
    Набор из нескольких кнопок выбора. Код
    Поле ввода кода с определением и подсветкой синтаксиса. Дата
    Поле даты с возможностью выбора. Редактор
    Текстовый редактор WYSIWYG. Связь с базой данных
    Расширенный тип поля, позволяющий связывать записи из других баз данных. Пользователь
    Обеспечивает формой поиска поля с автозаполнением. Число
    Поле ввода чисел (на устаревших браузерах представляет собой текстовое поле, но с проверкой ввода). Пароль
    Поле ввода пароля. Радиокнопка
    Групп радиокнопок (то есть можно выбрать только один из вариантов). Окно выбора
    Выпадающее меню с указанными пунктами (есть возможность выбора нескольких пунктов). Soundcloud
    Поле встраивания музыки с сервиса Soundcloud. Spotify
    Поле встраивания музыки с сервиса Spotify. Номер телефона
    Поле ввода номера телефона (в устаревших браузерах отображается как простое текстовое поле). Текст (по умолчанию)
    Одностроковое текстовое поле. Текстовая область
    Многострокове поле ввода текста. Загрузка
    Поле загрузки файла. URL
    Поле ввода URL адреса (в устаревших браузерах отображается как простое текстовое поле с проверкой формата URL). Да/Нет
    Поле переключения, который может принимать положительное или отрицательное значения. YouTube
    Поле встраивания видеоролика с YouTube. Многие из этих типов полей имеют дополнительные параметры, специфичные для них. Например, окно выбора имеет настройку, позволяющую выбор нескольких значений, в свою очередь поле загрузки файла имеет настройку, позволяющую загружать сразу несколько файлов, а также настройку, разрешающую загрузку файлов с определёнными расширениями.
     
    Форматирование поля
    Поля могут иметь автоматическое форматирование, примененное к ним. Для тех, кто не знаком с кодом, доступны для выбора разноцветные бейджи, и вы можете контролировать расположение полей в списке записей и при просмотре записи. Для знакомых с кодом пользователей, вы можете полностью контролировать отображение полей с помощью HTML кода включая логику шаблонов IPS4. Это означает, что у вас есть возможность использовать данные, хранящиеся в IPS4, для каждого поля некоторыми очень интересными способами - например, вы можете взять данные из поля Адрес и использовать их в шаблоне для отображения карты Google Maps, или создать несколько полей, но не отображать их для пользователей, а использовать их для создания макета шаблонов записи. На самом деле вариантов использования очень много, зависит от вашего воображения.
     
    Разрешения
    На базы данных влияют следующие виды разрешений:
    На уровне страниц
    Поскольку страницы имеют свои собственные настройки разрешений, если пользователь не имеет прав на просмотр страницы, он также не сможет увидеть базу данных на этой странице. На уровне базы данных
    Права доступа могут быть установлены на уровне базы данных, которые формируют разрешения по умолчанию для категорий в этой базе данных. На уровне категорий
    Категория может переопределить доступы уровня базы данных и установить свои собственные права. Это полезно для скрытых категорий - например предназначенных для модераторов или пользователей с премиум доступом.  
    Управление базами данных
    Управление базами данных производится на странице Страницы > Контент > Базы данных в вашем админцентре. На этой странице вы увидите список существующих баз данных и выпадающее меню для управления ими.
    Список баз данных
     
    Добавление записей в базу происходит с помощью иконки , либо на сайте на странице, на которой расположена база данных. Таким образом для добавления записей пользователем не нужен доступ в админцентр.
     
    Создание баз данных
    Чтобы создать базу данных, нажмите кнопку "+ Создать". После этого вам будет предложено выбрать создание новой базы данных, либо загрузить .xml файл базы. Мы остановимся на создании новой.
    Детали
    Здесь расположены основные настройки базы данных. В нижней части вкладки вы можете выбрать шаблоны, которые будет использовать база. Вы можете создать собственные шаблоны и переназначить их позже.
    Язык
    На вкладке Язык, вы можете установить слова, которые будут использоваться для обозначения записей в этой базе данных (вместо общего термина 'записи'). Например, если вы создаёте базу данных для документации, эти слова будут означать, как IPS4 будет обращаться к вашей базе данных в контексте, например "Поиск документов", "В этой базе данных 5 документов" и "Создать новый документ".
    Параметры
    Эта вкладка позволит вам активировать возможность комментировать записи, оставлять отзывы, разрешить указание тегов, включить режим wiki-редактирования (о котором мы писали выше). Здесь же доступны настройки сортировки, позволяющие указать порядок сортировки записей, и, что немаловажно, выбрать поле, по которому будет производиться сортировка. Например, если у вас есть база данных, содержащая записи о динозаврах, вы можете настроить сортировку по полю Эра (предварительно создав это поле). Вы можете вернуться к настройке сортировки после создания всех необходимых полей.
    Форум
    Эта вкладка настраивает интеграцию с форумом, как мы рассказывали выше (категории могут переназначать эту настройку).
    Страница
    Так как база данных размещается на странице, вы можете с лёгкостью создать её на этой вкладке, как часть процесса создания базы данных. Кроме того, вы можете добавить её на другие существующие страницы позже.
    Добавление базы данных на страницу
    Если вы не создали страницу в процессе создания базы данных, вы можете сделать это вручную с помощью специального тега. На вкладке Детали при создании базы данных, вы указали её ключ в поле "Ключ базы данных". Данный ключ используется как раз для вставки базы на страницу, например, если ключ вашей базы mybase, тег будет выглядеть следующим образом:
    {database="my-database"} Как уже упоминалось выше, база данных может быть размещена только на одной странице; вы не должны использовать этот тег для размещения базы на нескольких страница, во избежание ошибок.
     
     
  5. Шаблоны, CSS и JS

    Шаблоны, CSS и JS файлы являются средством, с помощью которого администраторы, знакомые с кодом, могут настраивать части сайта, придавая им уникальности.
    Примечание: только если вы знакомы с HTML, CSS и хотя бы немного с PHP, можете вносить изменения в ваши шаблоны. Т.к. изменения подразумевают редактирование кода, вы непреднамеренно можете сломать логику шаблона и получить ошибку на вашем сайте.
    Типы шаблонов
    Шаблоны являются ключевыми факторами для редактирования вашего сайта на приложении Страницы. Существует три основных вида шаблонов, которые вы можете настраивать:
    Шаблоны базы данных
    Шаблоны базы данных позволяют изменить отображение практически каждой части вашей базы данных. Эти шаблоны состоят из 4 основных типов: Список категорий
    Шаблоны, отвечающие за отображение списка категорий вашей базы данных и подкатегорий при просмотре списка записей. Список записей
    Шаблоны, отвечающие за отображение списка записей базы данных. Запись
    Эти шаблоны отвечают за отображение записи, включая комментарии и отзывы. Форма записи
    Шаблоны форм добавления/редактирования записи, позволяя настраивать формы для отдельные базы данных. Шаблоны страниц
    По умолчанию, страница будет использовать обложку сайта, включающую хэдер, навигацию, меню пользователя и т.д., оставляя вам контроль над контентом страницы. Тем не менее, вы можете выбрать использование настраиваемой обложки страницы, позволяющую полностью контролировать отображение страницы. Шаблоны блоков
    При создании блока плагина, отображающего ленту данных, IPS4 использует стандартный шаблон. Однако, вы можете изменить стандартный шаблон по своему усмотрению, либо создать новый, тем самым позволяя придать уникальный вид для каждого блока. Что может содержать блок
    Блоки могут содержать в себе любой синтаксис шаблонов IPS4, обеспечивая большую гибкость настройки. Доступные для каждого шаблона данные будут зависеть от их типа шаблона (например, шаблон списка записей базы данных получает данные из категории, но шаблон блока получит данные фильтров блока), но все шаблоны могут получить доступ к PHP фреймворку IPS4.
    Создание и редактирование шаблонов
    Шаблоны база данных и страниц изменяются в редакторе шаблонов приложения, расположенным на странице Страницы > Менеджер страниц > Шаблоны в вашем админцентре.
    Стандартные шаблоны блоков также управляются в редакторе шаблонов, но также могут быть изменены непосредственно в настройках блока. Для этого перейдите на страницу Страницы > Менеджер страниц > Блоки и измените какой-либо из существующих боков. 
    Файлы CSS и JS
    Для полной кастомизации областей, созданных с помощью приложения Страницы, часто желательно добавлять дополнительные CSS и Яваскрипт файлы. Приложение позволяет создать такие файлы и применить каждый файл к необходимой странице.
    Область создания нового CSS файла
     
    CSS и JS ресурсы в Страницах настраиваются в Страницы > Менеджер страниц > Шаблоны в админцентре. Для них существуют отдельные вкладки. Добавить ресурсы можно с помощью кнопки "Новый".
    Для того, чтобы применить их к какой-либо странице, выберите необходимый ресурс на вкладке "Включения в страницу" при создании новой или редактировании уже существующей страницы.
    Применение CSS стиля к странице
     
  6. Использование блоков на внешних сайтах

    Иногда может быть полезно размещать некоторые блоки на внешние страницы. В IPS4 есть такая возможность. Для этого перейдите на страницу блоков в админцентре - Страницы > Менеджер страниц > Блоки. После этого нажмите на раскрывающееся меню справа от необходимого блока и выберите пункт "Код внешней вставки".
    Меню внешней вставки блока
     
    После этого откроется всплывающее окно с параметрами, похожее как на изображении ниже.
    Код для вставки блока на внешний сайт
     
    Скопируйте код в соответствующую страницу вашего сайта для вставки данного блока. Обратите внимание на чекбокс "Наследовать ключевые стили с родительской страницы", если он выбран, то также с блоком будут перенесены его стили, если нет, вам нужно будет самостоятельно стилизовать блок под критерии вашего сайта.
     
  7. Построение динамических блоков на основе просматриваемой страницы

    Для более продвинутых сайтов, построенных на приложении Страницы, вы можете изменить отображение дополнительного HTML или PHP блока в зависимости от просматриваемой пользователем страницы. Например, если у вас есть пользовательское меню, вы можете выделить его активный пункт.
    Мы можем реализовать это путём проверки параметров, передаваемых в URL адресе. Хоть вы и получаете страницу по дружественному URL адресу, например такому http://<site.ru>/категория/страница, на самом деле передаётся стандартный адрес, например как http://<site.ru>/index.php?app=cms&module=pages&controller=page&path=/категория/страница. Обратите внимание, что в параметрах адреса мы можем определить на какую страницу ведёт эта ссылка. Когда мы получаем доступ к объекту \IPS\Request::i(), мы можем реализовать такую конструкцию:
    {{if strpos( \IPS\Request::i()->path, 'section/page' ) !== FALSE}} <!-- Мы знаем, что пользователь находится на странице /категория/страница --> {{elseif strpos( \IPS\Request::i()->path, 'othersection/otherpage' ) !== FALSE}} <!-- Мы знаем, что пользователь находится на странице /другая_категория/другая_страница --> {{endif}} Обратите внимание, что для достоверности мы используем PHP функцию strpos, проверяющую наличие URL адреса страницы в параметре, а не просто сравнение.
     
    Пример
    Предположим, что мы создали HTML блок, куда добавили HTML код, отображающий меню, и мы хотим выделить активный пункт этого меню в зависимости от страницы, на которой находимся.
    HTML код нашего блока меню может выглядеть следующим образом:
    <ul class='ipsList_inline cMyMenu'> <li {{if strpos( \IPS\Request::i()->path, 'help/home' ) !== FALSE}}class='active'{{endif}}> <a href='/help/home'>Домой</a> </li> <li {{if strpos( \IPS\Request::i()->path, 'help/faq' ) !== FALSE}}class='active'{{endif}}> <a href='/help/faq'>FAQ</a> </li> <li {{if strpos( \IPS\Request::i()->path, 'help/tutorials' ) !== FALSE}}class='active'{{endif}}> <a href='/help/tutorials'>База знаний</a> </li> </ul> Если бы у нас было много пунктов меню, такая конструкция была бы непрактичной и слишком утомительной в реализации. Мы можем сделать следующий цикл:
    // Используем переменную PHP для хранения массива страниц => имена страниц в цикле {{$myPages = array('help/home' => "Домой", 'help/faq' => "FAQ", 'help/tutorials' => "База знаний", 'help/qna/listing' => "Вопросы", 'help/qna/recent' => "Последние вопросы", 'help/contact' => "Свяжитесь с нами");}} <ul class='ipsList_inline cMyMenu'> {{foreach $myPages as $url => $title}} <li {{if strpos( \IPS\Request::i()->path, $url ) !== FALSE}}class='active'{{endif}}> <a href='{$url}'>{$title}</a> </li> {{endforeach}} </ul> Теперь, чтобы добавить новые пункты в наше пользовательское меню в блоке, мы просто можем добавить их в массив.
     
  8. Приложение Страницы в корне вашего сайта

    Если ваше сообщество настроено таким образом, что IPS4 установлен в какой-либо директории, например site.ru/forum и вы хотите, чтобы приложение Страницы открывалось по домену (это site.ru), пожалуйста, следуйте данной инструкции.
    Скачайте специальный индексный файл index_rename.php
    Загрузите его в корневую директорию вашего сайта (обычно это www или public_html) и переименуйте его в 'index.php'.
    Откройте файл в текстовом редакторе и найдите строчку:
    define( 'PATH_TO_SUITE', './forums/' ); Измените этот путь в зависимости от местонахождения вашей установки IPS4. Комментарий в файле выше гласит, что нужно указать путь к папке, а не URL адрес. Обратите внимание, если ваш IPS4 установлен в папку forums, вам не нужно ничего менять.
    Войдите в ваш админцентре и перейдите на вкладку Страницы. Нажмите на кнопку "Расширенные настройки".
    Расширенные настройки приложения Страницы
     
    Всплывающее окно позволит вам активировать настройку и сделает приложение Страницы доступным из основного домена вашего сообщества.
    Использование шлюза в корне сайта
     
    Авторизация
    После применения описанных здесь настроек, Авторизация, использующая файл шлюза, может работать не корректно. Для решения этой проблемы, вам нужно создать или изменить уже существующий файл constants.php в корне вашего сообщества (где расположены файлы conf_global.php, init.php, и т.д.) и добавить в него следующее (без <?php, если файл уже существует):
    <?php define( 'COOKIE_PATH', '/' );  
  9. Пример реализации Страниц #2 - рецепты

    As mentioned in the Introduction to Pages guide, unlike our other applications Pages is a blank slate. Its purpose is to give you tools to build your own areas of your community. As a result, it can seem a little intimidating to new users, and especially non-coders, because it's up to you to build what you need with the tools provided. This tutorial aims to help you get started by walking through the creation of a simple recipe section. The concepts we cover here can be applied to all kinds of sections you might want to build.
  10. Пример реализации Страниц #3 - Планы на будущее

    В данном руководстве мы пошагово создадим страницу с планами компании/сообщества. Страница выглядит следующим образом:
      
    Страница разработана на приложении Страницы, а каждый пункт (на примере - Поинты, Инвайты, Дизайн, Реакции) это статьи базы данных. 
    PS: если вам не хочется самостоятельно делать подобную страницу, вы можете перейти к концу инструкции и скачать .xml файл, который можно импортировать как базу данных.
    Описание работы
    Страница представляет из себя небольшие записи, информирующие пользователей сообщества о дальнейших планах и нововведениях компании/сообщества. Пользователи сообщества могут реагировать на каждый пункт, таким образом выражать своё отношение на каждое нововведение, администратор, в свою очередь, судя по реакциям пользователей может менять статус нововведений, отдавая предпочтение более востребовательным. В ходе работы будут даны более подробные комментарии.
    Создание базы данных
    Первое, что необходимо сделать - создать новую базу данных. Этот процесс подробно описан в документе Создание базы данных в Invision Community. У наше базы будут следующие отличительные черты:
    Название базы данных: Планы на будущее. Использовать категории: Нет, хранить записи непосредственно в базе данных. Ключ базы данных: plans. Язык: пункт. Разрешить комментарии: нет. Разрешить отзывы: нет. Включить загрузку изображения к записи: нет. После чего сохраняем базу.
    Создание страницы
    Теперь нам необходимо добавить нашу базу на новую страницу. Подробная инструкция по созданию страниц в Invision Community. Параметры страницы:
    Название - Планы на будущее. Название файла страницы - future. Теперь необходимо подключить CSS код к нашей странице. Для этого переходим в меню шаблоны -> Новый -> Добавить новый CSS файл. Назовём его status.css и вставим следующий css код:
    После чего, необходимо зайти в настройки страницы future и во вкладке Включения в страницу выбрать только что созданный нами css файл. 
    Шаблоны базы данных
    Для нашей базы необходимо модифицировать шаблон отображения списка записей. Другие шаблоны базы оставим стандартными, т.к. будет задействована одна страница - отображающая список пунктов. Для этого переходим в меню Шаблоны -> кнопка Новый -> Добавить шаблон базы данных:
    Название: Featureplan Тип шаблона: Список записей Присвоить к базе данных: Планы на будущее После сохранения изменим три шаблона (замените их содержимое полностью):
    recordRow
    categoryHeader
    categoryTable
     
    ОБРАТИТЕ ВНИМАНИЕ, что в шаблоне recordRow необходимо подставить ID своего поля (которое мы создадим ниже), в конструкции:
    {{if $row->fieldValues()['field_5'] == '4'}} Где field_5 - ID поля статус. У вас он будет свой. 
     
    Настройка дополнительных полей
    Последнее, что нам осталось сделать - настроить дополнительные поля, отображающие статус и подробное описание нововведения.
    Для этого переходим в раздел админцентра Базы данных и в меню справа от нашей базы выбираем пункт Управление полями. Нам необходимо добавить два поля:
    Поле #1 - статус
    Название: Статус
    Тип: окно выбора
    Ключ/Значение: 1/Следующее, 2/Скоро, 3/Планируется, 4/Завершено
    Вкладка Параметры отображения:
    Ключ шаблона: status2
    Формат списка записей: указать
    {{if intval( $formValue ) === 1}} <span class='c4StatusBadge c4StatusBadge_upNext'>{$value}</span> {{elseif intval( $formValue ) === 2}} <span class='c4StatusBadge c4StatusBadge_comingSoon'>{$value}</span> {{elseif intval( $formValue ) === 3}} <span class='c4StatusBadge c4StatusBadge_future'>{$value}</span> {{elseif intval( $formValue ) === 4}} <span class='c4StatusBadge c4StatusBadge_done'>{$value}</span> {{endif}} Показать при отображении записи: нет
    Сохранить.
    Поле #2 - резюме
    Информация из этого поля располагается под название пункта. 
    Название: Резюме
    Тип: Текст
    Вкладка Параметры отображения:
    Ключ: summary
    Показать в списке записей: Без форматирования
    Показать при отображении записи: нет
    На этом создание базы закончили. Если не хотите самостоятельно проходить каждый шаг настройки, можете импортировать базу данных из xml файла - Планы_на_будущее.xml
    © ИнвижнБайт.ру

Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy