Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Внимание: для работы пользовательского действия «Manage widgets» в его настройках в качестве значения URL следует указать URL, по которому доступен разрабатываемый веб-сайт (в случае локального использования допускается использовать значение localhost).

Пользовательское действие «Manage widgets» содержит панель управления, в которой Разработчику доступны следующие возможности:

Название

Описание

Edit page

Выводит страницу «Свойства статьи» бекэнда для текущей страницы веб-сайта

Organize widgets

На текущей странице веб-сайта выводятся зоны для размещения виджетов.

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


Рисунок 10. Панель управления для Виджетной платформы.

С использованием ГПИ платформы можно разместить любой из существующих виджетов в любой из зон страницы путём перетаскивания виджета из списка в зону страницы. После размещения виджета в подходящей зоне Разработчику предлагается создать статью (в контенте «AbstractItem») с указанием в ней данных, которые должен использовать выбранный тип виджета.

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

Также Разработчику предлагается ввести данные в поля из контента-расширения. После создания статьи для экземпляра виджета на страницу в заданной зоне выводится ГПИ виджета с данными, заданными в статье при его создании.

Примечание: если осуществляется кэширование вёрстки (изменения на странице в результате размещения на ней виджета появляются только после устаревания кэша), то для отключения кэширования в конфигурационном файле веб-сайта (web. config) для элементов раздела outputCacheProfiles следует задать enabled="false".

НЕ нашли? Не то? Что вы ищете?

Для управления уже размещёнными на странице виджетами в ГПИ доступны следующие опции:

Название

Описание

Edit

Выводит для виджета страницу бекэнда с формой изменения статьи

Remove

Удаляет виджет из зоны страницы


Рисунок 11. Опции для работы с виджетом, размещённым на странице в зоне «Below».

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

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

В контенте «ItemDefinition» создать статью с основными сведениями по типу нового виджета.

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

создать контент-расширение (в группе контентов «Pages and widgets»),

В контенте должна быть задана связь с контентом «ItemDefinition» (поле ItemId, тип «Связь» О2M, активировано свойство «Агрегированное»).

указать идентификатор созданного контента-расширения в статье с основными сведениями по типу виджета (в поле PreferredContentId). Для контентов сайта сгенерировать классы LINQ to SQL и/или сопоставление для EF (пункт «Собрать контенты» (Assemble contents) в контекстном меню сайта).

Примечание: дополнительно генерируются MAP-файлы с данными о соответствии структуры объектов QP структуре БД.

Примечание: директория, в которую размещаются созданные файлы, задаётся в свойствах сайта (группа свойств «Расположение файлов сборок» (Assembly Files Location)).

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

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

Использовать полученные классы и MAP-файлы при разработке виджета. В случае использования Visual Studio следует скопировать файлы в среду разработки. Разместить код созданного виджета в Системе.

Описание кода для виджета

Модель

Взаимодействие с БД осуществляется с использованием классов LINQ to SQL (см. Классы LINQ to SQL) либо сопоставления для EF (см. Использование Entity Framework).

Представление

Представление разрабатывается на основе Razor-шаблонов (CSHTML).

Используется частичное представление (partial view).

При создании разметки следует подготовить зоны для размещения виджетов. Пример кода:

@{ Html. WidgetZone("Название зоны").Render(); }

Зона может быть:

локальная (используется на одной странице), рекурсивная (используется на странице и всех её дочерних страницах).
Контроллер

Объект CurrentItem содержит данные из полей контента-расширения.

(Нужно указать что-то ещё?)


QP8 API

Программный интерфейс доступа к QP реализован в виде. NET-сборки Quantumart. dll. Для использования API требуется установить NuGet-пакет Quantumart. QP8.BLL.

Примечание: файл сборки должен быть размещён в директории bin для веб-сайта.

Существует два основных сценария использования QP8 API:

Название сценария

Используемый класс

Вызовы QP8 API из сторонних веб-сайтов и приложений (включая веб-сайты, реализованные на классах LINQ to SQL)

DBConnector

Внимание: объекты QP для ветви «Шаблон» являются устаревшими (не рекомендуется использовать для разработки новых Систем; используются для сопровождения Систем, основанных на предыдущих версиях продукта).

Вызовы QP8 API из страниц и элементов управления веб-сайта, реализованного на объектах QP

    QPage QUserControl

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

Название

Описание

Использование универсального механизма кэширования

Методы класса DBConnector:

    GetCachedEntity, GetCachedData, GetCachedFileContents.

Аутентификация для пользовательских действий

Класс QScreen

Управление пользователями и группами пользователей QP

Класс Permissions

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

Класс ContentItem

Внимание: объекты QP для ветви «Шаблон» являются устаревшими (не рекомендуется использовать для разработки новых Систем; используются для сопровождения Систем, основанных на предыдущих версиях продукта).

Работа с объектом «Publishing Container».

Класс QPublishControl

Класс DBConnector

Конструкторы

public DBConnector(string strConnectionString)

В качестве значения параметра strConnectionString следует передавать строку подключения к БД.

public DBConnector()

Если строка подключения не задана, то значение берётся из статического свойства ConnectionString.

Основные свойства

Свойство ConnectionString

public static string ConnectionString { get; set; }

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

Свойство CustomConnectionString

public string CustomConnectionString { get; set; }

Строка подключения, специфичная для экземпляра класса.

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

Свойство IsStage

public bool IsStage { get; set; }

Определяет, в каком режиме (Live или Stage) работает экземпляр класса. Значение по умолчанию – false.

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

Примечание: оказывает влияние на методы:

    GetContentItemLinkQuery, GetContentItemLinkIds, SendNotification, GetMapFileContents, GetDefaultMapFileContents.
Свойство CacheData

public bool CacheData { get; set; }

Определяет, должен ли экземпляр класса кэшировать получаемые из БД данные. Значение по умолчанию – true.

Примечание: интервалы кэширования задаются в конфигурационном файле веб-сайта. Данные могут кэшироваться как локально (в экземпляре), так и в общем кэше HttpRuntime. Cache в зависимости от доступности общего кэша и значения свойства ForceLocalCache.

Свойство ForceLocalCache

public bool ForceLocalCache { get; set; }

При значении true экземпляр класса использует собственный локальный кэш вместо общего кэша HttpRuntime. Cache.

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

Примечание: если CacheData = false, то значение данного свойства игнорируется.

Свойство UpdateManyToMany

public bool UpdateManyToMany { get; set; }

Определяет, требуется ли обновлять поля «Связь» типа M2M и M2O при создании и изменении статьи методом AddFormToContent. Значение по умолчанию – true.

Примечание: используется классами LINQ to SQL.

Методы для кэширования

Метод GetCachedEntity

public T GetCachedEntity<T>(string key, Func<string, T> fillAction) where T : class
public T GetCachedEntity<T>(string key, double interval, Func<string, T> fillAction) where T : class
public T GetCachedEntity<T>(string key, Func<T> fillAction) where T : class
public T GetCachedEntity<T>(string key, double interval, Func<T> fillAction) where T : class

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36