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;