Для установки системы скачайте вашу версию с сайта foton.name и распакуйте архив в директорию вашего сайта. Перейдите по адресу в строке браузера http{s}://вашсайт/install.php Создайте базу данных и укажите ее параметры на данной странице, а также лицензионный ключ, после этого войдите в открытую форму указав везде demo, перейдите в модуль Обновление модулей, и обновите модули до последней версии, также рекомендуем обновить ядро системы в верхней панели, а также в разделе пользователи изменить ваши данные, более безопасно создать нового администратора, зайти под ним и удалить demo администратора, иначе после изменения логина вас выбросит из системы с ошибкой, и если вы не верно ввели пароль или забыли его вам придется вручную менять ваш пароль в базе данных. Также рекомендуем создать ваш личный ключ нажав на соответствующий значок в верхней панели РСИ, данный ключ требует синхронизации по времени вашего устройства с вашим сервером. Установка для LiteSQL - Для установки системы скачайте вашу версию с сайта inc-lab.ru и распакуйте архив в директорию вашего сайта. Удалите лишние файлы pbase.sql,base.sql,install.php откройте файл core/config.php и укажите: $GLOBALS["host"]='localhost'; $GLOBALS["sql"]='lite'; $GLOBALS["dbname"]='foton'; $GLOBALS["license"]='вашалицензия'; Далее перейдите по адресу http{s}://вашсайт/admin/, далее шаги такие же как и для других SQL версий.
Создание одностраничного приложения
В качестве базы данных мы будем использовать mysql. Мы будем использовать только один метод из ядра: getlist - для вывода списка элементов таблицы Директории, которые нам понадобятся для работы: /app/model/site/ /app/controller/site/ /app/view/site/ /app/view/json/site/ Добавим настройку 'route'=>true в файле /core/config.php
Создаем модель
Создаем файл model_news.php в директории /app/model/site/ Заполняем его следующим содержимым:
Добавляем права на разделы для ролей пользователей:
Добавляем метод для создания самих таблиц:
Добавляем в массив $arr еще один массив:
Валидация данных при вводе и обновлении:
Перейдем в административную часть сайта в меню должен появится пункт Контент с подразделами Новости и статусы, давайте заполним несколько статусов (опубликована-pub, на модерации-moderation, отклонена-no,новая-new) и 2 новости с любым содержанием.
Создаем контроллер
Перейдем в каталог /app/controller/site/ и создадим файл controller_news.php со следующим содержимым:
Создаем представление
Перед созданием представления давайте создадим несколько полей данных для вывода перейдя по ссылке вашдомен/interface_list/html/exfield с названием mail и tel, если они уже существуют, можете просто обновить их значения на свои. Теперь перейдем в каталог /app/view/site/ и создадим файл news_view.tpl со следующим содержимым:
Также давайте создадим файл /app/view/json/site/news_view.tpl со следующим содержимым: @{data['json_page']} Также создадим файл /app/view/xml/site/news_view.tpl со следующим содержимым: @arr{data['xml_page']} Теперь перейдем в административную панель и обновим кеш шаблонов нажав на значок обновления шаблонов.
Либо через консоль зайдя в корневую директорию вашего сайта введите команду#: php foton up Затем давайте перейдем по адресу вашсайт/news/, должен отобразится список опубликованных новостей, стили для страницы вы можете добавить создав файл: /app/view/site/css/news.css, js для страницы вы можете добавить создав файл по адресу: /app/view/site/js/news.js Также перейдя на страницу вашсайт/news.json мы увидим отображение наших новостей в json формате. Перейдя на страницу вашсайт/news.xml мы увидим отображение наших новостей в xml формате.
Полностью код для тестирования по файлам:
Файл /app/model/site/news.php:
Файл /app/controller/site/news.php:
Файл /app/view/site/news_view.tpl:
файл /app/view/json/site/news_view.tpl со следующим содержимым: @{data['json_page']} файл /app/view/xml/site/news_view.tpl со следующим содержимым: @arr{data['xml_page']} Просмотреть логи ошибок и предупреждений вы можете в консоли вашего браузера. Для корректной работы отладки в режиме json необходимо указать дополнительный get параметр, например так: /news.json?format=api_json