PHPShop 2.1.78 Enterprise

Оглавление

1 Требования
1 Установка Denwer
1 Установка
1 Лицензия
1 Коды ошибок
1 Шаблонизатор
1 Переменные
1 API
1 Благодарности

1. Тест системных требований

  1. Apache => 1.3.*     ............ Ok
  2. MySQL => 4.* ...............?
  3. PHP => 4.*       ............ Ok
  4. RewriteEngine ON для Apache   ............ Ok
  5. Register Globals ON для PHP    ............ Ok
  6. GD Support для PHP ............ Ok
  7. FreeType Support для PHP ............ Ok
  8. FreeType Linkage для PHP ............ Ok

    Расшифровка: Ok - тест пройден, Error - тест не пройден (возможны проблемы при работе скрипта, обратитесь к документации сервера или свяжитесь с администратором сервера)
    Показать информацию о PHP

2. Установки на локальный сервер Denwer

  1. Установить Denwer - набор дистрибутивов, используемый Web-разработчиками (программистами и дизайнерами) для отладки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет.
  2. Установить PHPShop в любую директорию на сервере, например в demo.ru. (в некоторых случая нужна дополнительная директория demo.ru/www/)
  3. Запустить web-сервер, воспользовавшись ярлыком "Run Server" в меню "Программы".
    Если ярлыки не создались, то запустить Run.exe из папки Диск:\WebServers\etc

3. Установка и обновление для всех серверов

  1. Создайте новую базу MySQL на своем сервере.
  2. Отредактируйте файл связи с базой MySQL "config.ini", лежащий в папке "ваш_сайт/phpshop/inc/config.ini".
    [connect]
    host="localhost";             # имя вашего хоста
    user_db="Enterprise";         # имя вашего пользователя
    pass_db="dennion";            # пароль вашей базы
    dbase="Enterprise";           # имя вашей базы
    
  3. Воспользуйтесь встроенным инсталлятором для установки базы.

  4. Установите опцию CMOD 777 (UNIX сервера) для папок (существование папок определяется версией ПО):

    1. UserFiles/Image
    2. phpshop/admpanel/dumper/backup


  5. Для входа в административную панель нажмите F12.
    При установке пользователь и пароль по умолчанию root.
    Внимание, настоятельно рекомендуется сменить начальный пароль.
    После смены пароля требуется перезапуск браузера.

  6. Обновление выполняется по инструкции

    1. Создаем папку /old/ загружаем туда все файлы из корневой директории www
    2. Загружаем в очищенную директорию www новые файлы из архива новой версии
    3. Из старого файла config.ini берем параметры подключения к базе данных (первые 5 строк) и вставляем в новый конфиг (/phpshop/inc/config.ini)
    4. Запускаем апдейтер баз данных (ваш_сайт/install/update/), выбираем текущую версию, если ее там нет, то обновлять базу не нужно. Стираем папку /install/
    5. Из папки /old/ копируем папку /UserFiles со старыми картинками в обновленный скрипт в тоже место
    6. По необходимости копируем старый шаблон /phpshop/templates/, но с учетом что в нем могли быть внесены изменения для новой версии (сравнить с оригиналом)

4. Лицензия

  1. Лицензионное соглашение



5. Коды ошибок

  1. 101 Ошибка подключения к базе

    • Проверьте настройки подключения к базе данных: host, user_db, pass_db, dbase.
    • Откройте файл phpshop/inc/config.ini и отредактируйте вышеописанные переменные под вашу базу.
      [connect]
      host="localhost";             # имя хоста
      user_db="Enterprise";         # имя пользователя
      pass_db="dennion";            # пароль базы
      dbase="Enterprise";           # имя базы
      
  2. 102 Не установлены базы


  3. 103 Ошибка расположения папки с файлами

    • Проверьте настройки в установочном файле dafault_page_dir.

  4. 104 Ошибка расположения папки с шаблонами дизайна (скины)

    • Не включена опция Register Globals ON
    • Проверьте существования папки с выбранным шаблоном: phpshop/templates/имя_шаблона.
    • Через панель администрирования (опция "Система") выберете существующий шаблон.
    • Имя шаблона должно совпадать с именем папки (см. выше)

  5. 105 Ошибка существования папки /install/

    • В целях безопасности удалите или переименуйте папку /install/.
      Проверка работает только на UNIX серверах, при локальной установке ошибка блокируется.

6. Шаблонизатор

Папка с шаблонами расположена по адресу: phpshop/templates/имя_шаблона/
Имя текущего шаблона можно узнать по нажатию клавиши F9 клавиатуры или в разделе смены шаблонов административной части. Файлы выполнены на языке HTML. В файлах шаблонов действует логика: @перемнная@ заменяется на результат вывода функции и подставляется в файл. Список основных перемнных расположен ниже.
main/index.tpl - Первая страница (основная правка)
main/shop.tpl -  Все остальные страницы (основная правка)
main/left_menu.tpl -  Шаблон левого текстового блока    
main/right_menu.tpl -  Шаблон правого текстового блока


serach/search_page_list.tpl - Шаблон список поиска продуктов

news/news_page_list.tpl - Шаблон страница новостей кратко news/news_page_full.tpl - Шаблон страница новотсей подробно news/main_news_forma.tpl - Шаблон формы новостей кратко news/main_news_forma_full.tpl - Шаблон формы новостей подробно

gbook/gbook_page_list.tpl - Шаблон списка отзывов gbook/main_gbook_forma.tpl - Шаблон формы отзывов gbook/gbook_forma_otsiv.tpl - Шаблон форма заполнения отзыва

map/map_page_list.tpl - Шаблон список карты сайта

links/links_page_list.tpl - Шаблон список ссылок links/main_links_forma.tpl - Шаблон формы ссылки

page/page_page_list.tpl - Шаблон формы вывода страниц

error/error_page_forma.tpl - Форма 404 ошибки

news/news_main_mini.tpl - Шаблон последние новости кратко

banner/baner_list_forma.tpl - Шаблон банерной сети

catalog/catalog_forma.tpl - Шаблон каталога catalog/podcatalog_forma.tpl - Шаблон подкаталога

7. Переменные шаблонизатора

Папка с шаблонами расположена по адресу: phpshop/templates/имя_шаблона/
  1. Главная и остальные страницы (имя_шаблона/main)

    • @pageTitl@ - титл страницы
    • @pageDesc@ - описание страницы
    • @pageKeyw@ - ключевые слова
    • @pageMeta@ - мета страницы
    • @pageReg@ - копирайт
    • @pageProduct@ - версия софта
    • @pageDomen@ - копирайт на домен
    • @pageCss@ - путь к стилям шаблона
    • @leftCatal@ - вывод меню левой навигации
    • @leftMenu@ - вывод блока левой текстовой информации
    • @rightMenu@ - вывод блока правой текстовой информации
    • @mainContentTitle@ - заголовок текстовой области на главную страницу
    • @mainContent@ - содержимое текстовой области на главной странице
    • @DispShop@ - вывод соответсвующих страниц (контента новостей, страниц, отзывов.)
    • @miniNews@ - вывод последних новостей
    • @banersDisp@ - вывод банерной сети
    • @pageReg@ - копирайт
    • @name@ - вывод имени сайта
    • @descrip@ - вывод описания сайта
    • @serverName@ - вывод имени сервера
    • @topMenu@ - главное навигационное меню
    • @pageCatal@ - вывод каталога статей (страниц)
    • @oprosDisp@ - вывод опросов
    • @skinSelect@ - выбор смены дизайна
    • @telNum@ - имя телефона компании
    • @leftMenuName@ - заглавие текстового блока
    • @leftMenuContent@ - содержание текстового блока
    • @topMenuLink@ - ссылка на страницу главного меню
    • @topMenuName@ - имя страницы главного меню

  2. Страницы (имя_шаблона/page)

    • @pageTitle@ - заглавие страницы
    • @pageContent@ - контент страницы
    • @pageNav@ - вывод навигации по страницам, появляется если вставить в тело тег "HR"
    • @pageName@ - имя страницы
    • @catName@ - имя каталога статей
    • @podcatalogName@ - имя подкаталога статей

  3. Каталог (имя_шаблона/catalog)

    • @catalogName@ - заглавие каталога
    • @catalogPodcatalog@ - заглавие сраниц, ссылающяяся на этот каталог
    • @catalogUid@ - ID каталога
    • @catalogd@ - ID каталога
    • @catalogCat@ - имя родителя каталога
    • @parentName@ - имя родителя каталога
    • @catalogList@ - вывод списка подкаталогов
    • @podcatalogName@ - имя подкаталога
    • @podcatalogContent@ - описание подкатлога

  4. Банерная сеть(имя_шаблона/baner)

    • @banerContent@ - контент банера

  5. Отзывы (имя_шаблона/gbook)

    • @producFound@ - Язык: найдено позиций
    • @productNum@ - кол-во позиций
    • @productNumOnPage@ - Язык: кол-во на странице
    • @productNumRow@ - кол-во на странице
    • @productPage@ - Язык: текущяя страница
    • @productPageThis@ - текущяя страница
    • @productPageNav@ - вывод навигации
    • @productPageDis@ - вывод контента
    • @gbookData@ - дата отзыва
    • @gbookMail@ - почта автора
    • @gbookTema@ - тема сообщения
    • @gbookOtsiv@ - отзыв
    • @gbookOtvet@ - ответ администрации

  6. Партнеры (ссылки) (имя_шаблона/links)

    • @producFound@ - Язык: найдено позиций
    • @productNum@ - кол-во позиций
    • @productNumOnPage@ - Язык: кол-во на странице
    • @productNumRow@ - кол-во на странице
    • @productPage@ - Язык: текущяя страница
    • @productPageThis@ - текущяя страница
    • @productPageNav@ - вывод навигации
    • @productPageDis@ - вывод контента
    • @linksImage - кнопка ссылки
    • @linksName@ - название ссылки
    • @linksOpis@ - контент ссылки

  7. Новости (имя_шаблона/news)

    • @producFound@ - Язык: найдено позиций
    • @productNum@ - кол-во позиций
    • @productNumOnPage@ - Язык: кол-во на странице
    • @productNumRow@ - кол-во на странице
    • @productPage@ - Язык: текущяя страница
    • @productPageThis@ - текущяя страница
    • @productPageNav@ - вывод навигации
    • @productPageDis@ - вывод контента
    • @newsData@ - дата публикации
    • @newsZag@ - заглавие новости
    • @newsKratko@ - краткий контент новости
    • @newsAll@ - ссылка на подробности
    • @newsPodrob@ - подробный контент новости
    • @mesageText@ - сообщение для подписки

  8. Поиск (имя_шаблона/search)

    • @productNum@ - найдено позиций
    • @productSite@ - название сайта
    • @productName@ - заглавие найденной страницы
    • @productDes@ - краткое описание страницы

8. API подключение внешнего модуля

Для автоматического включения внешнего модуля служит опция [autoload] установочного файла ( далее конфигуратора config.ini)

Пример подключения внешнего модуля обмена ссылками Linkexchanger 0.7:
  1. Задаем имя и путь нового модуля:
    [autoload]
    linkexchanger="phpshop/modules/linkexchanger";
    
  2. Создаем файл pages/имя_модуля.php. Имя файла должно точно совпадать с его будущей ссылкой (?nav=имя_модуля). Записываем код в наш файл:
    // Определяем переменые
    $SysValue['other']['DispShop']=Linkexchanger(); 
    // подключение вашей функции, которая находится по указанному адресу "phpshop/modules/linkexchanger"
    // все данные функции должны возвращяться методом return $var;
    // вывод функции перехватывает переменная $SysValue['other']['DispShop']
    // и выводит их в заданном месте по запросу @DispShop@
    
    // Подключаем шаблон 
    @ParseTemplate($SysValue['templates']['shop']);
    

9. Благодарности

  1. Дмитрию Котерову за его проект Denwer.ru, и написанные им книги и статьи по PHP.
  2. МаЗаю за помощь в разработке проекта.
  3. Прохорову Игорю за помощь в разработке проекта.
  4. Бабаджанову Эрику за помощь в разработке проекта.

На верх