В данном разделе описаны методы класса DBConnector для создания, обновления и удаления статей. В качестве более удобной альтернативы рекомендуется использовать методы класса ContentItem.
Метод используется для создания новых и обновления существующих статей.
public int AddFormToContent(int site_id, string content_name, string status_name, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id, bool updateEmpty) public int AddFormToContent(int site_id, string content_name, string status_name, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id) public int AddFormToContent(int site_id, string content_name, string status_name, ref Hashtable Values, ref HttpFileCollection Files) public int AddFormToContent(int site_id, string content_name, string status_name, ref Hashtable Values, int content_item_id) public int AddFormToContent(int actualSiteId, int content_id, string status_name, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id, bool updateEmpty, int attribute_id) public int AddFormToContent(int actualSiteId, int content_id, string status_name, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id, bool updateEmpty, int attribute_id, bool visible, bool archive, bool returnModified, ref DateTime modified)
SiteName.ContentName
. При этом, если такой сайт будет найден, то его идентификатор будет использован в качестве параметра actualSiteId, иначе будет использован параметр site_id. Контент не может быть виртуальным, иначе будет сгенерировано исключение.returnModified == true
. Используется в LINQ-to-SQL классах.
В папку контента сохраняются не все файлы из коллекции Files, а только те, которые корректно представлены в коллекции Values (сформированные с помощью FieldName).
Если сохраняемый файл существует, то будет сгенерировано измененное имя файла с числовым индексом, например image[1].jpg
, при этом будет подправлено соответствующее значение в коллекции Values.
Вне зависимости от заполнения коллекции Files, для при выполнении данного метода для статьи будут сгенерированы(перегенерированы) все динамические изображения.
В случае невозможности предоставить коллекцию Files, файлы необходимо сохранять вручную, используя для определения целевого пути метод GetUrlForFileAttribute.
Поддерживается полноценная работа с расщепленными статьями, включая Many-To-Many и Many-To-One поля. Значения таких полей должны представлять собой строку идентификаторов связанных статей, разделенных запятыми.
Метод не поддерживает отправку уведомлений. Необходимо вручную вызывать SendNotification или использовать альтернативный API.
В методе производятся следующие проверки на сохраняемые поля:
Кроме того:
public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, int content_item_id) public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, int content_item_id, bool updateEmpty) public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, int content_item_id, bool updateEmpty, string statusName) public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id) public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id, bool updateEmpty) public int UpdateContentItem(int site_id, int content_id, ref Hashtable Values, ref HttpFileCollection Files, int content_item_id, bool updateEmpty, string statusName)
Работает как AddFormToContent в режиме обновления существующей статьи. Параметры имеют то же самое назначение.
public void UpdateContentItemField(int site_id, string content_name, string field_name, int content_item_id, ref Hashtable Values, ref HttpFileCollection Files) public void UpdateContentItemField(int site_id, string content_name, string field_name, int content_item_id, ref Hashtable Values)
Работает как AddFormToContent в режиме обновления одного поля. Параметры имеют то же самое назначение. Параметр field_name задает имя поля в контенте.
public void DeleteContentItem(int content_item_id)
Удаление существующей статьи.
Метод не поддерживает отправку уведомлений. Необходимо вручную вызывать SendNotification или использовать альтернативный API.