Настройки:Функции

Материал из PHPShop

Перейти к: навигация, поиск

Содержание

Подключение внешнего модуля

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

Пример подключения внешнего модуля обмена ссылками Linkexchanger:

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

Файл .htaccess

Файл .htaccess содержит закомментированные команды:

 #Action php-script /cgi-bin/php
#AddHandler php-script .php
#php_flag register_globals on
#php_flag display_errors on
#php_flag log_errors on
#php_flag error_reporting 0
#php_value memory_limit 100M
#php_flag memory_limit 100M
#php_flag session.use_trans_sid off
#SecFilterEngine Off

Для активации уберите знак #(решетка) перед командой.

Описание команд:

  • Action php-script /cgi-bin/php
    AddHandler php-script .php - если используется CGI сборка PHP для включения Zend Optimizer (Masterhost.ru и др.)
  • php_flag register_globals on - включение опции Globals ON
  • php_flag display_errors on - включение режима показа ошибок (опционально)
  • php_flag log_errors on - включение режима ведения лога ошибок (опционально)
  • php_flag error_reporting 0 - режим скрытия ошибок
  • php_value memory_limit 100M
    php_flag memory_limit 100M - выделение 100М памяти под выполнение скриптов (опционально)
  • php_flag session.use_trans_sid off - отключения вывода "хвоста" в ссылках
    (?PHPSESSID=6cg365fg56565bv65v5365)
  • SecFilterEngine Off - отключение блокировки Ajax на хостингах (Sweb.ru и др.)

Подключение PHP логики

Исходник этого файла расположен по адресу: /page/phptest.php
Возможно использование логики php.
Для подключения HTML файлов используйте файлы в папке /doc/test.html
Разберем модуль PHPTEST:

  • Создаем функцию
 function myTest(){ return "Hello word!"; }
Все переменные возвращаются только return, никаких echo и print!!!
  • Подключаем шаблонизатор
 $SysValue["other"]["DispShop"]=myTest(); @ParseTemplate($SysValue["templates"]["shop"]);
  • В итоге получаем вывод сообщения "Hello word!" в общем дизайне сайта.

Meta заголовки для модулей

Добавить свои заголовки можно в файле /phpshop/inc/meta.inc.php, пример для /phptest/
В контейнер switch добавить запись:

 case("phptest"):
$metas="PhpTest - Ура, заработало!";
$keywords="phpshop cms";
$description="Создание модуля php для phpshopcms";
break;

Подключение SAPE логики

  • Создаем в корне папку с номером участника системы, например: 605007b06af5e0e08a8a05c7e69e6a0y. В нее загружаем файлы, выданные при регистрации в SAPE.
    • links.db
    • sape.php
  • В папке /phpshop/inc/ создаем файл sape.inc.php
 define('_SAPE_USER', '605007b06af5e0e08a8a05c7e69e6a0y');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['force_show_code'] = true;
$sape = new SAPE_client($o);
$SysValue['other']['sape'] = $sape->return_links(5);
  • Подключаем этот файл в загрузчик:
    • /phpshop/inc/config.ini
 [autoload] sape="./phpshop/inc/sape.inc.php";
  • Получаем переменную @sape@, которую вставляем в шаблоны:
    • /phpshop/templates/имя шаблона/main/index.tpl
    • /phpshop/templates/имя шаблона/main/shop.tpl

Подключение HTML файлов

Исходник этого файла расположен по адресу: /pageHTML/test.php
Возможно использование только HTML тегов.

Для чего это нужно?

Не всегда удобно создавать страницу во встроенном редакторе, намного удобнее создавать в специализированных html редакторах, а потом подключать к сайту.

Как создать страницу?

В редакторе создать страницу, например, newstest.php и сохранить ее в папку /pageHTML/
Итоговый адрес страницы будет: имя_сайта/doc/newstest.html

Meta заголовки для HTML файла

Добавить свои заголовки можно в файле /phpshop/inc/meta.inc.php, пример для /phptest/

  • В контейнер switch doc добавить запись:
 case("test"):
$metas="Test - Ура, заработало!";
$keywords="phpshop cms";
$description="Создание html страницы для phpshopcms";
break;

Скрытые настройки config.ini

Конфигурационный файл /phpshop/inc/config.ini включает в себя ряд дополнительных настроек скрипта:

  • Подключение сервера статистики CNStats (покупается отдельно). Для включения нужно заменить параметр enabled на true
 [cnstats]
enabled="false"; # Включить статистику (true/false)
dir="./cnstats/cnt.php";
  • Персональные настройки скрипта. Из всего списка наиболее важный параметр "gzip", включающий сжатие документа на лету и параметр "money_stat" - участие в статистике продаж. Отчет находится на сайте phpshop.ru
 [my] error_reporting="false"; # Включить блокиратор ошибок в PHP (true/false)
error_tracer="true"; # Включить трассировщик ошибок (true/false)
default_page_dir="pages"; # Дирректория с файлами для страниц
index="shop.php"; # Страница ошибок
bufer_tracer="true"; # Включить трассировщик буфера
debug="false"; # Включить отладчик
nav_bufer_tracer="true"; # Включить трассировщик буфера навигации
gzip="true"; # Включить сжатие данных GZIP
gzip_debug="0"; # Включить отчеты GZIP (0 / 1)
gzip_level="1"; # Уровень сжатия GZIP (0 / 9)
check_install="true"; # Проверка сущ. инсталяции (true/false)
time_limit_enabled="true"; # Включить увеличение интервала (true/false)
skin_select="true"; # Смена дизайна пользователями (true/false)
TIME_LIMIT="600"; # Интервал отработки скриптов
money_stat="true"; # Участие в сборе статистике оборота (true/false)
digital_time="5"; # Кол-во дней хранения ссылки для цифровых товаров
digital_pass1="V"; # символ для защиты 1
digital_pass2="X"; # символ для защиты 2
  • Активация режима защиты от взлома панели управления.
 [geoip] geoip="false"; # Включить защиту от атак с proxy-серверов (true/false)
geoip_zone="RU,UA,KZ"; # Регионы разрешенных proxy-серверов для админки
  • Управление кешированием страниц (кэш/cache). Очень важный параметр "last_modified" и "expires" определяющие кеширование страниц. Для отключения кеширования необходимо задать параметру "last_modified" значение "false". Отключение этого параметра отрицательно сказывается на общей ревалентности страниц для поисковиков (Яндекс, Рамблер и др.)
 [cache] cache_mod="3"; # Тип хранения нет/база/файл/оптимизация (0/1/2/3)
time="1800"; # Время хранившегося кеша в секундах
file="phpshop/cache/_.cache"; # Размещение кеша
last_modified="true"; # Включить Last-Modified (true/false)
expires="100"; # Время хранения кеша страниц в минутах

Подключение MainLink логики

  • Создаем в корне папку mainlink. В нее загружаем файлы из архива универсального кода mainlink_install.zip, скаченные с оф. сайта http://mainlink.ru/my/partner/secondmass/universal/
  • В папке /phpshop/inc/ создаем файл mainlink.inc.php
 // Mainlink
function ml_links(){
include_once($_SERVER['DOCUMENT_ROOT']."/mainlink/ML.php");
$ml->ml_cfg[is_mod_rewrite]=1;
$links = $ml->MainLink_Second();
if($ml->ml_cfg['debugmode']) $links .= $ml->ml_cfg['debug_info'];
return $links;
}

$SysValue['other']['mainlink'] = ml_links();
  • Подключаем этот файл в загрузчик:
    • /phpshop/inc/config.ini
 [autoload]
mainlink="./phpshop/inc/mainlink.inc.php";
  • Получаем переменную @mainlink@, которую вставляем в шаблоны:
    • /phpshop/templates/имя шаблона/main/index.tpl
    • /phpshop/templates/имя шаблона/main/shop.tpl