====== Вспомогательные методы ======
В данном разделе описаны вспомогательные методы класса [[api:dbconnector|DBConnector]]. Если для экземпляра класса DBConnector [[api:dbconnector#CacheData|включено кэширование]], то, если не указано иное, результаты всех методов данного раздела кэшируются на [[developer:web_config#InternalExpirationTime|время, указанное в конфигурационном файле]].
===== FieldID =====
public int FieldID(int site_id, string content_name, string field_name)
Возвращает идентификатор поля.
=== Параметры ===
* //site_id// - идентификатор сайта
* //content_name// - имя контента. Поддерживаются имена контентов в формате ''SiteName.ContentName''.
* //field_name// - имя поля
===== FieldName =====
public string FieldName(int site_id, string content_name, string field_name)
Вспомогательный метод, возвращающий внутреннее имя поля. Используется при формировании ключей коллекции //Values// для метода [[api:dbconnector:update_article#AddFormToContent]].
=== Параметры ===
* //site_id// - идентификатор сайта
* //content_name// - имя контента. Поддерживаются имена контентов в формате ''SiteName.ContentName''.
* //field_name// - имя поля
Если для экземпляра класса DBConnector [[api:dbconnector#CacheData|включено кэширование]], то, если не указано иное, результаты всех методов данного раздела кэшируются на [[developer:web_config#InternalExpirationTime|время, указанное в конфигурационном файле]].
===== FormatField =====
public string FormatField(string key, int site_id)
public string FormatField(string key, int site_id, isLive)
Данный метод выполняет [[:edit:url_auto_replace|замену плейсхолдеров на URL]]. Если параметр //isLive// не задан, то используется инвертированное значение свойства [[api:qpage#IsStage]].
Замена плейсхолдеров осуществляется на следующие URL:
* [[api:dbconnector:paths#GetImagesUploadUrl]]
* [[api:dbconnector:paths#GetSiteUrl]] или [[api:dbconnector:paths#GetSiteUrlRel]] в зависимости от параметра конфигурации [[developer:web_config#UseAbsoluteSiteUrl]].
Нужно применять данный метод при чтении данных статей во всех случаях, кроме использования LINQ-To-SQL классов и функции [[api:qpage:field#Field]], в которые эта возможность уже встроена автоматически.
===== GetSiteId =====
public int GetSiteId(string name)
Получение идентификатора сайта по имени.
===== GetSiteIdByContentId =====
public Int32 GetSiteIdByContentId(int contentId)
Получение идентификатора сайта по идентификатору контента.
===== GetSiteName =====
public string GetSiteName(int site_id)
Получение имени сайта по его идентификатору.
===== GetContentId =====
public int GetContentId(int siteId, string contentName)
Получение идентификатора контента по имени контента и идентификатору сайта. Поддерживаются имена контентов в формате ''SiteName.ContentName'' (можно получить идентфикаторы контентов с разных сайтов в пределах одной базы).
===== GetContentIdForAttribute =====
public int GetContentIdForAttribute(int id)
Получение идентификатора контента по идентификатору поля.
===== GetContentIdForItem =====
public int GetContentIdForItem(int ItemID)
Получение идентификатора контента по идентификатору статьи. Результат метода кэшируется на время [[developer:web_config#InternalLongExpirationTime]] указанное в конфигурационном файле.
===== GetContentName =====
public string GetContentName(int contentId)
Получение имени контента по его идентификатору.
===== GetContentFieldValue =====
public string GetContentFieldValue(int itemID, string fieldName)
Метод, позволяеющий прочитать значения поля выбранной статьи в виде строки. На результат данного метода влияет свойство [[api:dbconnector#IsStage]]. При ''IsStage == true'' возвращаются данные текущей статьи, иначе данные опубликованной.
Если статья или поле не найдено, если в поле хранится NULL, возвращается пустая строка.
=== Параметры ===
* //itemID// - ID статьи
* //fieldName// - имя поля