Структура папок и файлов WebAsyst

Общая структура, Ключевые файлы, Сервисы, Shopping Cart

Общая структура
/data/ - файлы, загружаемые пользователями в приложениях, которые не должны быть доступны напрямую из браузера; 
/dblist/ - XML-описания баз данных; 
/kernel/ - ядро. файлы, которые не должны быть доступны по HTTP и являются общими для всех сервисов; 
/published/ - файлы, к которым идет обращение по HTTP, содержит: код конкретных сервисов (имеют двухбуквенные имена: AA, CM, etc.); 
/published/common/ - общие файлы, отдающиеся по HTTP (images, javascript, css, etc.); 
/published/publicdata/ - файлы аккаунтов, которые нужно отдавать в браузер (изображения в книгах, картинки продуктов Shopping Cart). должны быть доступны напрямую по адресу; 
/published/wbsadmin/ - управление установкой WebAsyst (настройка доступа к базе данных, настройка отображения Frontend, общие системные настройки). 
/temp/ - временные файлы.

Ключевые файлы
на что обратить внимание если что-то не работает, или что-то нужно изменить: 
/kernel/wbs.xml - содержит основные настройки установки: параметры подключения к Mysql-серверу, доступные для выбора языки, другие системные настройки; 
/kernel/includes/smarty/compiled/ - в эту директорию складываются откомпилированные шаблоны Smarty, обязана быть доступна для записи; 
/temp/ - также должен быть доступен для записи; 
/dblist/ - все настройки конкретной БД (доступ к базе данных, установленные приложения, выбранный тарифный план), хранятся в XML-описании базы данных. 
/data/ и /published/data/ - все приложенные файлы (картинки продуктов Shopping Cart, файлы сервиса Files, etc) сохраняются в эти директории. publicdata - для тех файлов, которые должны быть доступны напрямую. поддиректории внутри них создаются по принципу <имя базы данных>/attachments/<имя приложения>/. 
К примеру, файлы картинок Shopping Cart в базе данных TEST будут находится по адресу /published/publicdata/TEST/attachments/SC/products_pictures/

Сервисы
1. Все сервисы находятся в /published/ и обозначены двумя символами;
2. В установке обязательно есть сервисы:

  • AA - Control Panel (Панель управления) - управление аккаунтом, также содержит в себе общие строки локализации;
  • UG - Users and Groups (Пользователи и группы) - управление пользователями, группами, правами.
  • MW - My Webasyst (Мой Аккаунт) - управление текущим юзером. Фактически вызывает экран редактирования текущего пользователя из UG;
  • WG - Widgets (Виджеты) - общая инфраструктура виджетов.

Заказать дипломную работу

3. Все сервисы WebAsyst (за исключением Shopping Cart - SC) имеют примерно одинаковую структуру:

  • /help/ - файлы справки сервиса;
  • /html/ - скрипты и шаблоны конкретных экранов;
  • /html/ajax/[optional] - ajax-handler'ы;
  • /html/cssbased/ - smarty-шаблоны, используемые скриптами (в большинстве случаев имя шаблона совпадает с именем скрипта);
  • /html/img/ - картинки, используемые сервисом (в том числе значок, и картинка сервиса в верхней панели);
  • /html/scripts/ - скрипты экранов, вызываются по HTTP напрямую;
  • /includes/[optional] - разнообразные приложения к сервису;
  • /localization/ - файлы локализации сервиса;
  • /reports/[optional] - файлы отчетов;
    __________________________________________________________
    _screens.php - содержит информацию о главном экране сервиса: адрес, локализованное название, необходимые права. нужен, чтобы не грузить всю информацию о сервисе при загрузке любой страницы;
    wbs_application.xml - XML-описание сервиса, описывает связь с другими сервисами, если это необходимо. например при удалении пользователя опрашиваются другие сервисы - не задействован ли он в них
    xx_metadata.sql - SQL-инструкции, вызываемые при подключении приложения в базу (создают таблицы, необходимые сервису); 
    user_rights.php - описывает дерево прав сервиса;
    __________________________________________________________
    xx.php - файл, подключающий все функции сервиса;
    xx_consts.php - константы;
    xx_dbfunctions_cmn.php - бизнес-логика сервиса;
    xx_functions.php - вспомогательные функции;
    xx_queries.php - шаблоны SQL-запросов к БД (используются в xx_dbfunctions_cmn.php);


Shopping Cart
Shopping Cart имеет отличающуюся от остальных сервисов структуру файлов, схожую со структурой Shop-Script:

  • Все скрипты сервиса находятся в директории /published/SC/html/scripts/
  • Исходной точкой запуска для всех экранов SC (как Backend, так и Frontend) является файл index.php;
  • За преобразование URL отвечает файл /published/SC/html/scripts/.htaccess, а при включении ЧПУ также файл /.htaccess находящийся в корне установки;
  • Для доступа к базе данных и сохранению файлов SC использует инфраструктуру WebAsyst:
    • все пользовательские данные (файлы шаблонов, изображения продуктов, приложенные файлы) сохраняются как файлы сервиса SC в директории /published/publicdata/ и /data/;
    • параметры доступа к базе данных хранятся в файле XML в директории /dblist/;
    • но, локализация SC не хранится в файлах;

frame.html - каркас страниц (теги <html></html><head></head><body></body>)
category_tree.html - отображение дерева категорий на боковой панели
category.tpl.html - содержимое категории (подкатегории, товары)
product_brief.html - отображение товара в списке категории или в результатах поиска

customer_survey.html - голосование

login.html - форма входа для клиентов. Читаем здесь.

m.* - шаблоны для PDA User-Agent-ов. Еще не разбирался.

news.frontend.shortlist.tpl.html - Шаблон новостей для боковой панели
news.frontend.list.tpl.html - Список новостей
news.frontend.post.tpl.html - Просмотр выбранной новости

order_* - шаблоны заказа
checkout.* - шаблоны оформления заказа

product_name.htmlproduct_description.htmlproduct_price.html - Название товара, описание, цена

product_discussion.html - Все отзывы о товаре + написать отзыв
product_discuss_link.html - Последние отзывы о товаре

product_images.html - Способ отображения фотографий товара

product_list.html - Ограниченый список (новинки, распродажа...)

product_params_fixed.html и product_params_selectable.html - доп.характеристики товара

product_rate_form.html - рейтинг товара (звездочки)

product_related_products.html - "Советуем посмотреть"

register* - шаблоны форм регистрации

root_categories.html - перечень категорий и подкатегорий товаров (по умолч. на главной странице)

shopping_cart_info.html - Корзина на боковой панели
shopping_cart.html - страница корзины (в виджете или на отдельной странице)