 |
РАБОТА МОДУЛЯ КАТАЛОГА ПРОДУКЦИИ
- Продукция снабжается кодом с произвольным количеством полей произвольной длины. Количество уровней и разрядность кода задается в настройках, например 1,2,2,3 предполагает код вида abbccddd, 2,2,2,2,4 - aabbccddeeee. Последнее ненулевое поле в коде обозначает "конечный" продукт, а там где последнее поле нулевое - это вершины дерева. Пример: 2,2,2,2 => 15020001, 15020000. Продукты могут появляться на любом уровне.
- Код может быть и буквенно-цифровым, но "нулевое" требование должно соблюдаться, например: ЕЕ16АВ00, ЕЕ16АВRR. При обработке коды дополняются справа нулями, если их длина меньше требуемой и режутся, если больше.
- Данные каталога готовятся в виде 2-х или более файлов. Файл с полностью нулевым именем - оглавление первого уровня. Остальные файлы определяются по оглавлению первого уровня, каждый из них содержит строки, описывающие и дерево (второго, третьего и т.д. уровней) и "конечные" продукты. Т.е., если в файле 00000000 указано 01000000, 02000000, то будут использоваться именно файлы 01000000 и 02000000. Наличие в этих файлах строчек со "старшим" кодом необязательно, но не помешает.
- Каждая значащая строчка (пустые и содержащие # в первой позиции строки пропускаются) содержит несколько полей, отделенных вертикальной чертой |, первое поле - код. Прочие поля используются произвольно, но однотипно (подстановка в шаблоны вывода по номеру поля). Например, все вершины содержат вторым полем название, у продукта второе поле - наименование, третье - единица измерения, четвертое - цена, пятое - производитель. Все это позволяет легко экспортировать данные из 1С или MS Excel. Одно из полей (например, производителя) можно добавлять к наименованию в поиске.
- Каталог обрабатывается по запросу, например 15025500. В результате выбирается текущее состояние дерева (все вершины первого уровня и раскрытые следующие уровни, если таковые имеются), а также все "конечные" продукты (если есть). Это позволяет построить деревообразное меню и страницу каталога с продуктами. Результаты сортируются по коду.
- Поиск по каталогу в большой степени зависит от мощности и загруженности хостингового сервера. При поиске учитываются наименования старших вершин (номер поля и коэффициенты ранга по уровням задаются в настройках). Поиск является опциональным.
- Строятся следующие системы навигации:
- Дерево каталога с раскрытием и закрытием вершин одной ветки;
- Форма поиска (опционально);
- Текущая ветка (заголовок) со ссылками на старшие вершины (опционально);
- Меню следующего уровня, если на текущем нет товарных позиций (опционально);
- При поиске строятся ветки старших уровней по группам товаров и производится страничное разбиение результатов.
- Можно использовать стандартный модуль электронного заказа.
- Информация по отдельному продукту (опционально) вытаскивается на основе кода продукта или специального отдельного поля-идентификатора:
- Определяется есть ли, что показывать (файл данных или картинка jpg, gif, png). Если уже найдена картинка jpg, gif и png не ищутся, если найден gif, не ищется png;
- Если есть изображение и из него можно сделать превьюшку (требуется библиотека GD), она формируется как объект ссылки, иначе опционально берется искаженная картинка или стандартный объект. Превьюшки могут быть одинаковой ширины/высоты или одинаковых размеров с вырезом фрагмента исходной картинки и уменьшением;
- Если есть файл данных, формируется открытие отдельного окна с вызовом обработчика контента (предполагается, что большая картинка вызвана в файле, там, собственно, можно много чего наворотить);
- Если файла данных нет, формируется открытие отдельного окна для показа большой картинки.
- Отдельные окна могут быть те же самые, а могут быть отдельными для каждого вызова (для картинок, правда, свое, а для текстов - свое).
- Информация по странице каталога выбирается по коду страницы (с нулевым окончанием).
- Если есть файл код.dat, он показывается в отдельном окне.
- Если есть файл код.i.dat, он выводится перед таблицей (ясно, что туда не надо много запихивать - например несколько картинок в линию или абзац текста).
- Реальные показатели производительности:
- Частота процессора: 3 ГГц
- Время поиска по одному слову: 2.5 с
- Формирование страницы: 0.6 с
|
 |