EZCATALOG.DirectoryData

Интерфейс позволяет редактировать информацию о разделе каталога.

property Number: WideString

Свойство содержит номер раздела каталога

property Name: WideString

Свойство содержит наименование раздела каталога

property SysID: SYSINT

Уникальный номер записи «ID». Не подлежит изменению.

property FilterData: WideString

Позволяет задавать условие фильтрации товара в разделе. Если значение = пустая строка, то раздел обычный, если задано условие, то раздел отображает отфильтрованные товары.

procedure SaveChanges

Позволяет записать данные после изменения

Методы перебора подразделов

function ChildsFirst: OleVariant;

Перейти на первый подраздел

function ChildsNext: OleVariant;

Перейти к следующему подразделу

function ChildsEOF: OleVariant;

function ChildsOpen: OleVariant;

Открыть список подразделов

procedure ChildsClose;

Если выполнялся метод ChildsOpen, то обязательно освободите ресурсы вызвав ChildsClose.

Методы для работы с изображением раздела

function PictureExists: OleVariant;

Возвращает True если есть изображение раздела или False, если его нет.

procedure PictureLoadFromFile(const aFileName: WideString);

Загрузить изображение раздела из файла. Поддерживаются файлы формата Jpeg.

procedure PictureSaveToFile(const aFileName: WideString);

Сохранить изображение раздела в файл

aFileName имя файла сохранения

Методы для работы с описанием раздела

function DescriptionExists: OleVariant;

Возвращает True если есть описание или False, если его нет.

procedure DescriptionLoadFromFile(const aFileName: WideString);

Загрузить описание раздела из файла

procedure DescriptionSaveToFile(const aFileName: WideString; aSaveFormat: SYSINT);

Сохранить описание раздела в файл

aFileName имя файла сохранения

aSaveFormat - 0 - txt; 1 - rtf; 2 - html

Методы для работы с данными для SEO

property SeoUrl: WideString;

SEO ссылка на страницу. Может быть пустой. Будет сгенерирована автоматически

property SeoTitle: WideString;

Внутренний заголовок страницы (title)

property SeoDescription: WideString;

Внутреннее описание страницы (description).

property SeoHeader: WideString;

Видимый заголовок страницы (H2)

property SeoKeyWords: WideString;

Список ключевых слов через ,

Примеры условий фильтрации товаров для свойства FilterData

P.FNEW = '1'

Отобрать все новинки

P.FTOP = '1'

Отобрать все популярные товары

P.FNAME CONTAINING 'CAMERA'

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

P.FATT_STR_8 LIKE '%HDD%' OR P.FATT_STR_8 LIKE '%FLASH%'

Отобрать товары если в атрибуте FATT_STR_8 содержится фрагмент HDD или FLASH с учетом регистра

Пример рекурсивного перебора разделов каталога

procedure ReadChilds(ProductCatalog,DirectoryData: OLEVariant);

var DirID,SubDirectoryData, DirName : OLEVariant;

begin

DirID := DirectoryData.ChildsOpen;

try

while not VarIsNull(DirID) do

begin

SubDirectoryData := ProductCatalog.GetDirectoryData(DirID);

if not VarIsNull(SubDirectoryData) then

begin

DirName := SubDirectoryData.Name;

ReadChilds(ProductCatalog,SubDirectoryData);

end;

DirID := DirectoryData.ChildsNext;

end;

finally

DirectoryData.ChildsClose;

end;

end;

 

procedure DirectoryExample;

var

ProductCatalog, DirectoryData : OLEVariant;

begin

ProductCatalog := CreateOleObject('EZCATALOG.ProductCatalog');

if (ProductCatalog.Connect(eDBpath.Text,eDataPath.Text, eFBClientDLL.Text) = 1) then

DirectoryData := ProductCatalog.GetDirectoryData(0);

If not VarIsNull(DirectoryData) then

begin

ReadChilds(ProductCatalog,DirectoryData);

end;

finally

ProductCatalog.Disconnect;

end;

end;