PHPShop 2.1.61 Enterprise

Оглавление

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

1. Системные требования

  1. Apache => 1.3.*
  2. MySQL => 4.*
  3. PHP => 4.*
  4. ZendOptimizer => 2.1.5.3
  5. RewriteEngine ON для Apache
  6. XML Support, Register Globals ON для PHP

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

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

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

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

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

    1. UserFiles/Image
    2. UserFiles/File
    3. files
    4. phpshop/admpanel/csv
    5. phpshop/admpanel/dumper


  5. Для входа в административную панель нажмите F12.
    Панель управления аддаптирована под браузер Microsoft Internet Explorer => 5.5.
    Панель протестирована на браузерах (IE 5.0, IE 5.5, IE 6.0, Mozilla Firefox)

4. Лицензия

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



  2. Для Установки лицензии скопируйте файл с лицензией (имя_домена.lic) в папку /license. Скрипт сам найдет лицензию в этой папке. Для смены лицензии замените лицензионный файл в этой папке. В папке должна лежать только одна лицензия!

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 Ошибка расположения папки с шаблонами дизайна (скины)

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

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

index="main/index.tpl";                                    # Первая страница
shop="main/shop.tpl";                                      # Список страница
menu_search="main/menu_search.tpl";                        # Шаблон поиска
main_product_forma="product/main_product_forma.tpl";       # Шаблон форма продукта
product_page_list="product/product_page_list.tpl";         # Шаблон список продуктов 
product_page_full="product/product_page_full.tpl";         # Шаблон список  подробно
main_product_forma_full="product/main_product_forma_full.tpl"; # Шаблон форма продукта подробно
search_page_list="serach/search_page_list.tpl";            # Шаблон список поиска продуктов
news_page_list="news/news_page_list.tpl";                  # Шаблон список новостей
news_page_full="news/news_page_full.tpl";                  # Шаблон список новотсей весь
main_news_forma="news/main_news_forma.tpl";                # Шаблон новостей
main_news_forma_full="news/main_news_forma_full.tpl";      # Шаблон новостей полный 
gbook_page_list="gbook/gbook_page_list.tpl";               # Шаблон списка отзывов     
main_gbook_forma="gbook/main_gbook_forma.tpl";             # Шаблон отзывов     
left_menu="main/left_menu.tpl";                            # Шаблон левого меню    
search_page_list="search/search_page_list.tpl";            # Шаблон список карты каталогов
map_page_list="map/map_page_list.tpl";                     # Шаблон список карты сайта
main_search_forma="search/main_search_forma.tpl";          # Шаблон поиска 
main_search_forma_2="search/main_search_forma_2.tpl";          # Шаблон поиска 
links_page_list="links/links_page_list.tpl";               # Шаблон список ссылок
main_links_forma="links/main_links_forma.tpl";             # Шаблон формы ссылки
product_page_full="product/product_page_full.tpl";         # Шаблон список  подробно
main_spec_forma="product/main_spec_forma.tpl";             # Шаблон форма спецпредложения
main_spec_forma_icon="product/main_spec_forma_icon.tpl";   # Шаблон форма спецпредложения
main_odnotip_forma_icon="product/main_odnotip_forma_icon.tpl";  # Шаблон форма однотипы
gbook_forma_otsiv="gbook/gbook_forma_otsiv.tpl";           # Шаблон форма заполнения отзыва
page_page_list="page/page_page_list.tpl";                  # Шаблон список генератьра страниц
main_order_forma="order/main_order_forma.tpl";           # Шаблон формы для оформления покупки
main_order_list="order/main_order_list.tpl";            # Шаблон списка для оформления покупки
main_price_forma="price/main_price_forma.tpl";            # Шаблон форма прайса
price_page_list="price/price_page_list.tpl";                # Шаблон списка прайса  
main_price_forma_tip="price/main_price_forma_tip.tpl";      # Шаблон форма прайса заглавие
main_product_odnotip_list="product/main_product_odnotip_list.tpl"; # Шаблон для обнотипных 
error_page_forma="error/error_page_forma.tpl";                        # Форма ошибки навигации
order_forma_mesage="order/order_forma_mesage.tpl";         # Шаблон формы сообщения для заказа
order_forma_mesage_main="order/order_forma_mesage_main.tpl"; # Шаблон формы сообщения для заказа
news_forma_mesage="news/news_forma_mesage.tpl";       # Шаблон формы сообщения для новостей
news_forma_mesage_main="news/news_forma_mesage_main.tpl"; # Шаблон формы сообщения для новостей
news_main_mini="news/news_main_mini.tpl";             # Шаблон ооледние новости
baner_list_forma="banner/baner_list_forma.tpl"               # Шаблон банерной сети
catalog_forma="catalog/catalog_forma.tpl"               # Шаблон каталога
podcatalog_forma="catalog/podcatalog_forma.tpl"               # Шаблон подкаталога

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

  1. Главная и остальные страницы (имя_шаблона/main)

    • @pageTitl@ - титл страницы
    • @pageDesc@ - описание страницы
    • @pageKeyw@ - ключевые слова
    • @pageMeta@ - мета страницы
    • @pageReg@ - копирайт
    • @pageProduct@ - версия софта
    • @pageDomen@ - копирайт на домен
    • @pageCss@ - путь к стилям шаблона
    • @leftCatal@ - вывод меню левой навигации
    • @leftMenu@ - вывод блока левой информации
    • @mainContentTitle@ - заголовок текстовой области на главную страницу (пр-р: Добро пожаловать)
    • @mainContent@ - содержимое текстовой области на главной странице (данная страница должна иметь ссылку=index)
    • @DispShop@ - вывод соответсвующих страниц (контента новостей, страниц, отзывов.)
    • @miniNews@ - вывод последних новостей
    • @banersDisp@ - вывод банерной сети
    • @pageReg@ - копирайт
    • @timeAll@ - кол-во времени отклика базы

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

    • @pageTitle@ - заглавие страницы
    • @pageContent@ - контент страницы

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

    • @catalogName@ - заглавие каталога
    • @catalogPodcatalog@ - заглавие сраниц, ссылающяяся на этот каталог

  4. Товары (имя_шаблона/product)

    • @productSale@ - Язык: в корзину
    • @productInfo@ - Язык: подробно
    • @productName@ - наименование товара
    • @productArt@ - артикул товара
    • @productDes@ - описание товара
    • @productPrice@ - стоимость товара в валюте
    • @productPriceRub@ - стоимость товара в рублях
    • @priceNew@ - новая стоимость товара (старая перечеркивается)
    • @productId@ - идентификатор подкаталога товара
    • @productCat@ (@productCatnav@) - идентификатор каталога для товара
    • @productPageThis@ - текущяя страница
    • @productUid@ - идентификатор товара
    • @catalog@ - Язык: каталог
    • @vendorDisp@ - классификатор товара
    • @catalogCat@ - имя каталога
    • @catalogCategory@ - имя подкаталога
    • @producFound@ - Язык: найдено товаров
    • @productPodcat@ - идентификатор подкаталога
    • @productNum@ - кол-во товаров в подкаталоге
    • @productNumOnPage@ - Язык: товаров на странице
    • @productNumRow@ - заданное кол-во товаров на сранице
    • @productPage@ - Язык: на странице
    • @productPageNav@ - навигация (HTML)
    • @productPageDis@ - список выводимых товаров (HTML)
    • @productImg@ - парсированая картинка
    • @productOdnotipList@ - однотипные товары (HTML)
    • @productOdnotip@ - Язык: товары для совместной продажи

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

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

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

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

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

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

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

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

  9. Поиск (имя_шаблона/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']);
    
  3. Прописываем правило mod_rewrite для нового модуля в файл .htaccess:
    RewriteRule ^linkexchange/?$ index.php?nav=linkexchange [L]
    Данные строки описывают правило, по которому запрос index.php?nav=linkexchange будет переведен в linkexchange/
  4. Вызов нового модуля возможен 2-я способами:

    • /?nav=linkexchange
    • /linkexchange/

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

  1. Дмитрию Котерову за его проект Denwer.ru, и написанные им книги и статьи по PHP.
  2. Господину M@Zai за помощь в разработке проекта.
  3. Прохорову Игорю за помощь в разработке проекта.

На верх