русский | english

Структура JAX

Шаблон состоит из двух частей: HTM и PHP. При скачивании шаблона PHP и HTM версии упаковываются в один архив, PHP версия находится в каталоге /www, HTM версия находится в каталоге /www/htm. По внутренней структуре обе части идентичны, отличия HTM версии состоят в следующем:

  1. Расширения всех файлов .php в корневом каталоге заменены на .htm.
  2. Для всех продуктов и категорий сгенерированы файлы вида {product name|category name}.htm. Эти файлы содержат входные параметры, передаваемые движку, например: $_GET['product']= 'viagra';.
  3. Расширения всех файлов .php в каталоге /lang и его подкаталогов заменены на .htm.

Далее в данном документе, при указании имени файла в корневом каталоге с расширением .php, будет подразумеваться, что для HTM версии шаблона имена таких файлов должны интерпретироваться с расширением .htm.

Файлы в корневом каталоге, к которым обращаются запросы клиентов (например, /about.php), являются обертками к движку. В таких файлах происходит следующее:

  1. Задается ID страницы: $PAGE_ID='about', и, в некоторых случаях, дополнительные входные параметры.
  2. Включается файл /header.php. Этот файл выводит шапку страницы и список категорий продуктов.
  3. Вызываются методы рабочей части движка, отвечающие за инициализацию необходимых данных и вывод содержимого центральной области страницы.
  4. Включается файл /footer.php. Этот файл выводит правое меню и нижнюю часть страницы.

Рабочая часть движка находится в каталоге /.htclasses. При инициализации создается глобальный объект $Page. Этот объект является экземпляром класса Page и обеспечивает большинство методов, отвечающих за вывод содержимого страницы. Класс Page является потомком классов CommonPage, BasePage и LocalCache. Список основных методов вывода:

  1. Page::draw_head_meta() – выводит теги DOCTYPE, head (включая content-type, stylesheet, shortcut icon, keywords, description и script).
  2. Page::menu() - принимает идентификатор и возвращает html соответствующее меню, например: print $Page->menu('top');.
  3. Page::draw_lang_switch() – выводит панель переключения языков. Список языков для вывода находится в /aff_camp.php.
  4. Page::cart_summary() – возвращает html с информацией о корзине кастомера
  5. Page::link_cart() – возвращает html с линком на страницу корзины
  6. Page::draw_categories_menu() – выводит меню со списком категорий
  7. Page::draw_subtitle() – выводит подзаголовок текущей страницы
  8. Page::draw_filetext() – выводит html страницы с заданным идентификатором
  9. Page::draw_product_list() – выводит html со списком продуктов для заданной категории или найденных по критерию поиска.
  10. Page::draw_product_page() - выводит html страницы заданного продукта
  11. Page::title() - возвращает title сайта

Тексты для страниц находятся в каталогах /lang/{lang}/{page_id}.html. Например, текст для страницы about.php на английском языке находится в файле /lang/en/about.html.

Описания категорий и продуктов находятся в файлах /lang/{lang}/descr/[{description_type|category}-]{product_name|category_name}.html. Описания продуктов бывают трех типов:

  1. short - кратчайшее описание, состоит из 1го – 2х предложений, отображается на странице со списком продуктов
  2. pre - краткое описание, отображается вверху страницы продукта.
  3. full description - полное описание продукта.

Пробелы в названиях продуктов и категорий при генерации имен файлов заменяются символом -, символы ' заменяются символами ___, буквы в верхнем регистре переводятся в нижний. Например, краткое описание для продукта Viagra Soft на английском языке находится в файле /lang/en/descr/pre-viagra-soft.html. Имена файлов для полных описаний продуктов генерируются без префикса типа. То есть, полное описане для Viagra Soft на английском находится в файле /lang/en/descr/viagra-soft.html. Имена файлов для описания категорий генерируются с префиксом category. Соответственно, описание категории Mens's Health находится в файле /lang/en/descr/category-men___s-health.html

Дефолтные description и keywords для сайта находятся в файлах /description.txt и /keywords.txt соответсвенно.

Установка JAX

  1. Распаковать архив со скачанным шаблоном.
  2. Для PHP версии - скопировать содержимое каталога /www в корневой каталог сайта. Каталог /htm копировать не нужно.
  3. Для HTM версии – скопировать содержимое каталога /www/htm в корневой каталог сайта.
  4. Убедиться, что каталог /.htcache/, его подкаталоги и файлы доступны для записи веб-серверу.
  5. Убедиться, что на веб-сервере установлен и разрешен mod_rewrite, и для каталога, в который производится установка, включена директива AllowOverride All.

Работа с JAX

Общие настройки

Основная настройка движка осуществляется через файлы /aff_camp.php. Переменные /aff_camp.php:

  1. $CURRENT_LANG - язык сайта по умолчанию
  2. $TITLE - заголовок сайта.
  3. $SELECTED_OPTIONS - включение/выключение линка Bookmark this site (BOOKMARKUS), линка Affiliate Program (JOINUS), линка Subscribe for News (SUBSCRIBE), бесплатного шиппинга (AIRMAIL_FREE_SHIPPING) и отображения цен в евро при выборе языка en-us (USA_EUROS).
  4. $LANG_AVAIL - массив доступных языков (возможные значения: en, en-us,es,pt,de,fr,jp,it.

Работа с административным интерфейсом JAX

Встроенная в JAX админка позволяет редактировать title, description и keywords для отдельных страниц, а также описания продуктов. Для входа в админку необходимо зайти по следующему урлу:

http://your-shop.com/admin.{php|htm}?password=<password>.

Пароль на админку устанавливается при компиляции шаблона перед скачиванием или автоматической установкой на хостинг равным паролю к фтп-аккаунту на фри-хосте (в ближайшее время будет реализована возможность задавать пароль при выборе параметров компиляции шаблона). Пароль сохраняется в файле .htcache/.httitles как элемент сериализованного хеша. Не рекоммендуется менять вручную пароль через этот файл не зная принципы сериализации данных в PHP. С целью обеспечения безопасности при неправильно указанном пароле JAX выдаст ошибку 404.

Если авторизация прошла успешно, вверху страницы появится ряд линков для редактирования, а также над описаниями продуктов появятся линки edit this text. При нажатии на любой из перечисленных линков откроется всплывающее окно редактора.

Для выхода из административного интерфейса необходимо нажать на линк exit editmode.

Все изменения, произведенные через админку, сохраняются в каталоге .htcache, не перезаписывая, но перекрывая исходные данные.

Редактирование page title, page keywords, page description

Редактирование перечисленных параметров через админку производится отдельно для каждой страницы. Для редактирования необходимо нажать на соответствующий линк вверху страницы (edit page title, edit page keywords или edit page description). Изменения будут применены только в случае, если не установлена автоматическая генерация.

Page title сохраняется в файле .htcache/.httitles для английского языка, или .htcache/lang/{lang}/.httitles для других языков, как элемент сериализованного хеша (пробелы в именах заменяются символом +), page keywords и page description - в файлах .htcache/lang/{lang}/{keywords|description}-{page_id}[-{product_name}].html (пробелы заменяются символом -).

Соответственно, title для страницы продукта Viagra Soft на английском языке сохранится в .htcache/.httitles в элементе product-viagra+soft, keywords для страницы faq.php на немецком сохранится в файле .htcache/lang/de/keywords-faq.html, description для страницы категории Anti Bacterial на английском - в файле .htcache/lang/en/description-category-anti-bacterial.html.

После сохранения данных для отдельной страницы данные по умолчанию на этой странице будут перекрываться сохраненными. Для восстановления исходных данных необходимо нажать в редакторе кнопку reset to default, либо удалить соответствующий файл или элемент хеша вручную.

Редактирование описаний продуктов

Для редактирования описания необходимо нажать на линк edit this text рядом с соответствующим текстом. Описания продуктов сохраняются в файлах в каталоге /.htcache: .htcache/lang/{lang}/descr/[{description_type}-]{product_name}.html.

Редактирование описаний категорий через админку на данный момент не реализовано.

 
 
Script_Sets/JAX/index.txt · Последние изменения: 2009/12/08 12:53 От dima