Table of Contents

Методы обновления данных статей

В данном разделе описаны методы класса DBConnector для создания, обновления и удаления статей. В качестве более удобной альтернативы рекомендуется использовать методы класса ContentItem.

AddFormToContent

Метод используется для создания новых и обновления существующих статей.

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)

Параметры

Поведение

В папку контента сохраняются не все файлы из коллекции Files, а только те, которые корректно представлены в коллекции Values (сформированные с помощью FieldName). Если сохраняемый файл существует, то будет сгенерировано измененное имя файла с числовым индексом, например image[1].jpg, при этом будет подправлено соответствующее значение в коллекции Values. Вне зависимости от заполнения коллекции Files, для при выполнении данного метода для статьи будут сгенерированы(перегенерированы) все динамические изображения. В случае невозможности предоставить коллекцию Files, файлы необходимо сохранять вручную, используя для определения целевого пути метод GetUrlForFileAttribute.

Поддерживается полноценная работа с расщепленными статьями, включая Many-To-Many и Many-To-One поля. Значения таких полей должны представлять собой строку идентификаторов связанных статей, разделенных запятыми.

Метод не поддерживает отправку уведомлений. Необходимо вручную вызывать SendNotification или использовать альтернативный API.

В методе производятся следующие проверки на сохраняемые поля:

Кроме того:

UpdateContentItem

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 в режиме обновления существующей статьи. Параметры имеют то же самое назначение.

UpdateContentItemField

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 задает имя поля в контенте.

DeleteContentItem

public void DeleteContentItem(int content_item_id)

Удаление существующей статьи.

Метод не поддерживает отправку уведомлений. Необходимо вручную вызывать SendNotification или использовать альтернативный API.