Руководство разработчика Общие сведения Требования к установке Установка - korshu.ru o_O
Главная
Поиск по ключевым словам:


страница 1
Похожие работы
Название работы Кол-во страниц Размер
Средства технические телематических служб общие технические требования 14 3430.98kb.
Инструкция по установке, настройке и управлению сертификатами ключа... 1 35.5kb.
1. Минимальные требования к компьютеру 1 237.96kb.
1. Минимальные требования к компьютеру 1 238.08kb.
Практикум Краткая версия Глава Общие сведения 1 411.6kb.
4 1 Системные требования 5 2 Поддержка ip камер 7 Установка по 9 5 512.67kb.
Инструкция № о мерах пожарной безопасности Общие требования безопасности 3 540.41kb.
Особенности вышивки на трикотажном полотне 1 50.48kb.
«общие требования к организации хранения подлинных материалов в музеях... 1 144.58kb.
1. общие сведения 4 Особенности системы 4 Используемые термины 6... 7 912kb.
Программа курса Пользователь программы AutoCad 1 41.63kb.
Беспокоят тяжесть, периодически возникающие боли в желудке в правом... 1 34.64kb.
Инструкция по работе с сервисом «sms-платеж» 1 218.94kb.

Руководство разработчика Общие сведения Требования к установке Установка - страница №1/1


СИСТЕМА УПРАВЛЕНИЯ ВЕБ-САЙТОМ
CuteSITE
Руководство разработчика

СОДЕРЖАНИЕ


  1. Введение

    1. Общие сведения

    2. Требования к установке

    3. Установка




  1. Объектная структура сайта

    1. Общие сведения

    2. Типы объектов

    3. Поддержка нескольких языков




  1. CuteSITE объекты

    1. Объект $site

    2. Контейнеры (containers, folders)

    3. Шаблоны (templates)

    4. Методы (PHP methods)

    5. Изображения (images, Mimages)

    6. Строки (strings)

    7. Многострочные тексты (text)

    8. Переменные (variables)




  1. API CuteSITE

    1. Инициализация сайта

    2. Управление объектами

    3. Разработка шаблонов и методов

    4. Функции работы с объектами

    5. Функции работы с базой данных




  1. Техническая поддержка

  1. Введение



    1. Общие сведения

CuteSITE – является средством для разработки и управления веб-сайтами. Предполагает метод разработки сайтов полностью через веб-интерфейс. Содержит в себе все нужные наборы средств и инструментов для создания разного рода сайтов, от персональных сайтов до крупных порталов и электронных магазинов.




    1. Требования к установке


Hardware:
Процессор - Pentium III 500 МГц

ОЗУ - 128 МБ

Свободное дисковое пространство: 2 Мб + размер данных сайта
Software:
CuteSITE может работать как на UNIX, так и на Windows платформе.
Для работы ядра CuteSITE на сервере должно быть установлено следующее ПО:


  1. PHP 4.3.0 и выше, модули zlib, iconv
    В настройках PHP директива register_globals должна быть активизирована (register_globals = on). Если на вашем сервере нет возможности внести изменения в файл php.ini нужно указать эту директиву в файле .htaccess находящийся в корне сайта

php_flag register_globals On




  1. Вебсервер Apache 1.3 или Apache 2
    Модуль mod_rewrite должен быть скомпилирован и подключен к веб-серверу;

  2. База данных MySQL версии 3.23.36 или выше.




    1. Установка

Установка системы возможна только в корневой директории сайта. Скопируйте содержимое архива дистрибутива CuteSITE.

Внесите изменения в файл cutesite.ini
[common]
; Путь к папке где установлен CS. Слеш в конце пути обязателен.

; Для Windows серверов C:\путь\к\сайту\, для Unix /путь/к/сайту/


site_root = "c:\path\to\htdocs\"
; Директория, в которой CS будет сохранять резервные копии сайта.
var_dir = "c:\path\to\htdocs\var\"
; Директория где сохранять файловые объекты

files_dir = "d:\www\cutesite\files\"


; Директивы, которые вряд ли вам понадобится когда ни будь изменять
store_file = store

start_folder = main

start_template = main

images_dir = images


; Страница Ошибка 404 будет вызываться если запрашиваемая папка будет

; отсутствовать в структуре сайта. Активизируйте эту опцию только в случае

; если вы уже создали эту страницу в объектной структуре сайта, иначе

; система зациклится


;error_page = "/error/"
; Название (title) сайт менеджера.
admin_title = "CuteSITE Manage Area"
; Сообщение выводимое в приветствии на странице входа в систему.
welcome_message = "CuteSITE - develop server"
; Управление кэшированием страниц сайта.

; Первый уровень http-кэш, время в секундах

; Второй уровень – кэширование результатов работы шаблонов в базе

; Если время равно нулю то кэширование выключено


http_cache = 0

cute_cache = 0


[database]
; Настройки подключения к базе данных MySQL
DB_HOST = localhost

DB_NAME = test

DB_USER = root

DB_PASS = secret

Далее нужно запустить скрипт, который установит и настроит систему:
http://yourservername/install.php
Результатом удачной установки должен быть такой вывод результатов работы:
Preparing to install CuteSITE

Let's see on cutesite.ini file:

Looking good.
Preparing MySql database:

200 ok.
Default user created. Login 'admin', password 'admin'

English language created

Default container 'folders' created.

Main folder 'main' created.

Start template 'main' created.


All systems go!
Система готова к работе.
После установки не забудьте удалить скрипт install.php из корневой директории сайта.


  1. Объектная структура сайта



    1. Общие сведения

Система управления веб-сайтом CuteSITE основывается на построении объектной структуры сайта и работы с такими объектами как строка, текст, папка и т.п. В CuteSITE объектная структура содержит в себе информацию об объектах и, как правило, не содержит самого содержимого. В объектах изображений к примеру хранится имя файла который был сохранен в файловой системе, в шаблонах и строках хранится ссылка на запись в базе данных которая содержит текстовое содержимое объектов.




    1. Типы объектов



CuteSITE объекты разделяются на две категории: контейнерные типы (папка, или пользовательский контейнер) которые могут содержать в себе произвольное число других объектов любого типа, а также на единичные объекты, которые содержат в себе некое содержимое и не могут содержать другие объекты.


    1. Поддержка нескольких языков

Система CuteSITE поддерживает прозрачную многоязычность, все объекты (за исключением некоторых особенных) имеют несколько значений для каждого из языков. Значение объекта (его содержимое) будет подставляться автоматически в зависимости от установленного языка на сайте. Все содержимое объектов сайта хранится в системе в универсальной кодировке UTF-8. Сгенерированная страница отдается клиенту в кодировке указанной в конфигурации языков. Настройка кодировок проводится в объекте languages в корне сайта.

Следует обратить внимание что все строковые объекты так-же как и шаблоны хранятся в базе в кодировке UTF-8, если в шаблон динамически вывести информацию из внешних источников, например из данных посланных клиентом, то произойдет сбой перекодирования. Для предотвращения подобных ошибок имеются следующие средства:
Чтобы преобразовать текст из клиентской кодировки во внутрисистемную:
cs_encode($string);

или


$site->output($string);
Обратно, из системной в клиентскую:
cs_decode($sting);

или


$site->input($string);
Функции возвращают преобразованную строку.


  1. CuteSITE объекты




    1. Объект $site

Объект класса _site является основополагающим в структуре сайта. Он содержит все корневые объекты сайта, а также некоторые конфигурационные значения которые инициируются при запуске сайта.


var $folders = Array()

var $templates = Array()

var $images = Array()

var $strings = Array()

var $methods = Array()

var $text = Array()

var $variables = Array()

var $store_name = string

var $current_path = string

var $containers = Array()

var $languages = Array()

var $api_version = version number

var $path = "/"
Класс _site обладает методами создания новых объектов в корне сайта:
new_container($name, $type = "folders", $status)

new_template($name)

new_php_method($name)

new_strings($name)

new_text($name)

new_image($name, $src, $width, $height, $type, $size, $descr)

new_variables($name)
Основную функцию получения объектов из дерева сайта:
getObject($path)
Проверка на существование объекта в дереве сайта:
isObject($path)



    1. Контейнеры (container, folder)

Контейнерные объекты описываются классом:


_container << _containers
Как видно, контейнерные объекты наследуют класс _containers, который обладает основными свойствами контейнерных объектов – содержать в себе объекты другого типа. Объекты этого типа имеют такие свойства:
var $name = string

var $status = enum[active, not_active, hidden, closed]

var $path = string

var $folders = Array()

var $images = Array()

var $templates = Array()

var $strings = Array()

var $methods = Array()

var $text = Array()

var $variables = Array()


Содержит методы для создания объектов и копирования данного объекта.


    1. Шаблоны (template)

Класс _template позволяет работать с шаблонами, на которых строится логика работы сайта, содержит такие свойства:


var $name = string

var $body = object store


Свойство $body всегда содержит реализацию класса store, который позволяет создавать, получать и обновлять текстовую информацию из базы данных.


    1. Методы (PHP method)

Класс _php_method реализует работу с PHP методами, работа которых очень похожа на работу шаблонов, но отличается от них тем что метод возвращает некоторое значение – результат своей работы и ничего не выводит в браузер, т.е. аналогия с функциями в обычном языке программирования.


var $name = string

var $body = object store




    1. Изображения (image, Mimage)

Класс _image реализует работу с изображениями.


var $name = string

var $width = int

var $height = int

var $type = string type

var $src = string source name

var $size = int

var $descr = string
Содержит методы изменения содержимого изображения и его копирования. В версии CS 1.18 появился новый объект MImage – изображение зависящее от установленного языка. Это удобно для построения например графического навигационного меню или надписей. MImage использует тот же класс _image


    1. Строки (string)

Класс _strings реализует хранение и редактирование однострочного текста. Строка является мультиязычным объектом, всегда содержит несколько версий своего значения в зависимости от выбранного языка на сайте. Административный интерфейс позволяет редактировать все версии значения строки для всех языков, но при выводе объекта на сайте будет показано значение установленного языка. Включает в себя такие свойства:


var $name = string

var $body = object store




    1. Многострочные тексты (text)

Класс _text реализует хранение и редактирование многострочного текста. Объект также является мультиязычным. Для редактировании объекта используется WYSIWYG HTML редактор. Содержит такие свойства:


var $name = string

var $body = object store




    1. Переменные (variable)

Класс _variables используется для работы с простыми буквенно-цифровыми значениями. Значение хранится в одном экземпляре и не зависит от языка. _variables единственный класс, объекты которого хранят свое значение в себе.


var $name = string

var $value = string value

Как видно, все объекты обладают общим обязательным свойством $name – имя объекта. Имя объекта задается при его создании, может содержать латинские буквы, цифры знак подчеркивания и тире.



  1. API CuteSITE




    1. Инициализация сайта

Система CuteSITE сохраняет объект сайта в базе данных в сериализованном виде. Таким образом реализован метод persistent objects. Чтобы восстановить объект его нужно достать из базы и десериализовать обратно.

В обычном режиме просмотра сайта требуется только восстановить объект из базы:

$site = new _site();

Persistent::checkout($site, $store_file);
В сайт-менеджере после проделанных изменений объект сайта сохраняется в базу данных:
Persistent::commit($site, $store_file);
Во всех версиях объект сайта содержит глобальная переменная $site, так принято и отступать от этого правила бессмысленно.


    1. Управление объектами

В CS доступ к объектам возможен двумя путями.

Первый – это использование метода getObject($path_to_object) класса _site. Путь к объекту состоит из имен папок и контейнеров к этому объекту. Например:
Объект – папка main в корне сайта:

$main =& $site->getObject("/main");


Объект – картинка logo в папке images в корне сайта:

$logo =& $site->getObject("/images/images:logo");


Тип объекта в его пути указывается перед его именем, затем двоеточие и имя объекта.

Если тип не указан то имеется в виду тип folders.

Допустимые имена стандартных типов объектов:
images

templates

methods

strings


text

variables


Примеры правильного пути к объектам:
/methods/methods:getCurrentDate

/templates:PageBody

/news/archive/year2003/issue2/images:default
Для пользовательских контейнерных типов, на месте типа объекта будет указано название контейнера
/news/news:SobranieAkcionerov

/portfolio/artwork:Triumph


Второй метод доступа к объектам – это доступ напрямую через объект $site

Этот метод при разработке шnfаблонов сайта используется в редких случаях.


Объект – папка main в корне сайта:

$main =& $site->folders["/main"];


Объект – картинка logo в папка images в корне сайта:

$logo =& $site->folders["/images"]->images["logo"];




    1. Разработка шаблонов

В системе CuteSITE шаблоны (и методы) разрабатываются, используя синтаксис языка PHP, без использования замысловатых конструкций типа {HEADER} или

и т.д.

Шаблон может включать в себя как HTML, так и PHP конструкции.



Как правило – используются такой синтаксис:

сделать что-то на языке PHP

?>
Total:

Тоже самое:

Total:

Вывести что-то




Циклы:
$product): ?>











и т.п.
Шаблон исполняется в пространстве имен функции template() [файл cs.lib.php] глобальное пространство имен доступно в шаблоне через переменную $GLOBALS

По умолчанию в шаблоне напрямую доступны следующие переменные из глобального пространства имен: $site, $cs_config и $current_template.


Та же ситуация и с PHP методами, отличие одно – в PHP методы не выводят информацию в браузер, они возвращают некоторое значение. Для работы метода ему можно передать некоторые параметры которые затем будут доступны в самом методе с помощью переменной $params. Результат работы нужно вернуть, как это делается в обычных функциях. Пример PHP метода возвращающего некоторые данные из MySQL таблицы:
// $params["start"]

// $params["limit"]


return sql_fetch_all("SELECT * FROM products LIMIT ".$params["start"].

", ".$params["limit"]);




    1. Функции работы с объектами

Система управления веб-сайтом обладает набором функций для работы с объектами сайта, получения их значения или свойства, работа с наборами объектов их перечисление и т.п.


Функции вызова CuteSITE объектов:
template(string name[, object that])

Вызывает на выполнение шаблон name, возвращает результат работы шаблона в виде строки. Параметр name может принимать два рода значения имя шаблона и полный путь к шаблону от корня сайта. В первом случае шаблон будет искаться по следующей схеме: в содержимом конфигурации контейнеров в разделе Controls страница Containers, затем в текущем контейнере (в текущей папке), и в последнюю очередь корне сайта. Если задается полный путь к шаблону, не нужно указывать тип объекта template, как было сказано в разделе 4.2. т.е. Если шаблон не будет найден, в браузер выведется ошибка. Дополнительный параметр that при вызове шаблонов используется редко, обычно сама система CuteSITE подставляет на место этой переменной ссылку на текущий объект (как это делается при вызове функции ls() см. ниже). Примеры вызова шаблонов:








method($name[, $params])

Вызов метода на выполнение. Параметр $name также как и для шаблонов может принимать значение имени метода или пути к методу. Параметры для работы метода можно передать с помощью параметры $params. Примеры вызова методов:




array("artist_name" => "Pinchuk", "year" => 2003)); ?>



strings(string name)
Функция возвращает строку из строкового объекта. В качестве параметра name может выступать имя строкового объекта или полный путь к объекту. В первом случае объект будет искаться вначале в текущем контейнере затем в корне сайта, если объект не будет найден, выведется ошибка CS ERROR.

text(string name)
Функция возвращает содержимое многострочного текста из текстового объекта. Параметр name такой же, как и для строковых объектов.

image(string name[, int width[, int height[, string template[,

string params]]]])


Возвращает содержимое HTML кода для отображения картинки в браузере. Параметр name, как и для других объектов принимает значение имени картинки или полного пути к объекту, еще возможен вариант передачи вместо имени объекта ссылку на сам объект. Дополнительные параметры width – ширина и height – высота используются для указания размеров картинки, если они не указаны или равны нулю, то устанавливается реальный размер загруженной картинки. Четвертый дополнительный параметр позволяет сделать нестандартный вывод HTML кода для отображения картинки в браузере. Стандартным считается такой код:

Пример использования шаблона форматирования для отображения картинки:

Задача: вывести картинку в виде фона в ячейке таблицы. HTML код:


>
Для этого в корне сайта создается шаблон ImageBackground содержащий:
background="//src ?>"
Вывод в браузер будет примерно таким:

Как можно заметить, в вызываемом шаблоне переменная that содержит ссылку на объект картинки. Еще важный момент: надпись image("/images/Background") означает путь к объекту в древовидной структуре сайта, а не в файловой системе сервера в папке по имени images.

ls(string path, string template[, string type[, int limit]])
Основная функция для перечисления объектов, генерации меню на сайте, циклического вывода некоторого содержимого состоящего из блоков (папок, контейнеров).

Первый параметр указывает полный путь в дереве сайта к объектам, которые нужно вывести. Второй параметр – имя шаблона которым нужно вывести это содержимое. Третий необязательный параметр указывает на тип объектов, которые нужно перечислить. Последний параметр – лимит количества итераций.


Примеры использования:
Создается структура сайта, заглавные страницы в корне сайта содержат строковые объекты title, в которых написано название страницы. В верхней или левой части страницы (в одном из шаблонов) пишется:

В корне сайта создается шаблон по имени ListNav содержащий:
path ?>">

Получаем вывод в виде ссылок на заглавные страницы:


Заглавная

Продукция

Клиенты

О компании



Другой пример: вывести все картинки из папки images в корне сайта:

Шаблон ListImages в корне сайта содержит:

Переменная $that в этом шаблоне содержит ссылку на объект картинки.

Вывод может быть примерно таким:










    1. Функции работы с базой данных

CuteSITE имеет небольшой, но в тоже время достаточный набор функций для работы с базой данных. Вы можете использовать их как вам захочется. Если любите проводить время весело, можете установить и использовать дополнительную библиотеку для работы с БД, такую как PEAR::DB или ADODB и попробовать работать с ней.



sql(string sql_statement, boolean debug)

Исполняет SQL запрос и возвращает результат. Если это был запрос SELECT, SHOW, EXPLAIN или DESCRIBE возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, sql() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда. Как правило, используется для запросов INSERT, UPDATE и REPLACE.




sql_fetch(string sql_statement, boolean debug)

Исполняет запрос и возвращает массив, содержащий данные первого обработанного ряда. Используется для запросов SELECT.



sql_fetch_all(string sql_statement, boolean debug)

Исполняет запрос и возвращает массив, содержащий данные всех рядов полученных в результате SQL запроса. Используется для запросов SELECT.




  1. Техническая поддержка

По вопросам технической поддержки, а также за получением консультаций по работе с CMS CuteSITE обращайтесь в компанию АМТ:


AMT Ltd.

ул. Шота Руставели, 31-б, оф. 18

Тел.: (38044) 220-5219, 220-6027

Тел./факс: (38044) 531-1314

E-mail: support@cutesite.ru

Web: www.cutesite.ru



Персона: Сергей Волков


­Система управления веб-сайтом CuteSITE.
Руководство разработчика

© АМТ Ltd., 2003-2004.
Все права зарегистрированы
- -