====== Вспомогательные методы ====== В данном разделе описаны вспомогательные методы класса [[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// - имя поля