Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Тема закрыта
1 2 3 ... >>

ПДА версия Fapos

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#1
Модуль ПДА версия для Fapos CMS


НОВАЯ ТЕМА С НОВОЙ ВЕРСИЕЙ


Версия: 0.0.3
Лицензия GNU GPL

Совместимо с версией фапоса 1.1.9.75

Установка:
Распаковать архив на сайт. Если в файлах index.php или sys/fnc/document_parser.class.php вы делали изменения то сравните эти файлы к примеру с помощью Diffuse (лицензия GNU GPL)

Внимание! Также в template/' . ваш_диз . '/html/default/ появился файл main_index.html то есть отдельный дизайн для главной страницы.
Побочный эффект - теперь из админки для главной страницы нельзя отредактировать дизайн.
Если эта фунция вам не нужна то не заменяйте файл index.php и не перемещайте на сайт sys/inc/modulei.php

Если ваш дизайн не 12 то переименуйте папку 12 (в template) на название вашего дизайна.

Также в админке создайте 2 сниппета:

pda_minipda

Code:
if (!empty($_SESSION['user']['id'])) { 

echo '<div align="center"><a href="{PERSONAL_PAGE_LINK}">{FPS_USER_NAME}</a></div>'; 

} else { 

echo '<div align="center"><a href="/users/login_form/">вход</a> | <a href="/users/add_form/">регистрация</a></div>'; 

}

pda_bottom

Code:
echo '<Form><Select Name="mymenu">
<Option Value="/">Главная
<Option Value="/news/">Новости
<Option Value="/forum/">Форум
<Option Value="/forum/last_posts/">Форум (новые сообщения)
<Option Value="/loads/">Файлы
<Option Value="/stat/">Статьи
<Option Value="/foto/">Галерея
<Option Value="/users/">Пользователи
<Option Value="?version=full">Полная версия
<Option Value="/chat">Чат
</Select>
<Input Type="button" Value="Выбор" OnClick="top.location.href=this.form.mymenu.options[this.form.mymenu.selectedIndex].value">
</Form>';

Спасибо участникам Fapos CMS за помощь в реализации.

----------------------------------------------------------------------------------------------------------

CHANGELOG

- Изменение в index.php - теперь всегда загружается шаблон для главной страницы
- Изменение в mobile_device_detect.php - удалена проверка $_SERVER['HTTP_ACCEPT'], чтобы для поисковиков не вылезало ошибок
- Мелкие измения в шаблонах
- Для адаптации к другим шаблонам нужно всего лишь переименовать папку 12 в нужную вам (изменения внутри папки не требуются)

----------------------------------------------------------------------------------------------------------

А теперь докума.

1. В index.php я добавил функцию

if($_SERVER['REQUEST_URI']=='/' || $_SERVER['REQUEST_URI']=='/?version=full' || $_SERVER['REQUEST_URI']=='/?version=pda') {
include_once 'sys/inc/modulei.php';
} else {
include_once 'sys/inc/module.php';
}

Это делает проверку это главная страница или нет и выводит разные файлы в зависимости от этого.

2. Скрипт mobile_device_detect.php определяет это мобильное устройство или нет.

3. Скрипт /sys/inc/modulei.php отличается от стандартного /sys/inc/module.php только тем, что в нем вызывается не main.html, а main_index.html
То есть (см 1 пункт докумы) если главная страница то выводить не template/шаблон/html/default/main.html , а template/шаблон/html/default/main_index.html

Это нужно чтобы выводить для пда версии (и полной) для главной отдельный дизайн. Если не надо - заменить index.php официальным от fapos cms, удалить /sys/inc/modulei.php, template/12/html/default/main_index.html и template/12/html/default/pda_main_index.html

4. В /sys/fnc/document_parser.class.php определяет если с мобильного то выводить шаблоны, начинающиеся с pda_
В том же файле инклюдится mobile_device_detect.php
Прикрепленные файлы:
Прикрепление1: Открыть файл 34.877 Kb
Отредактировано автором 25 Янв 2013

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:109 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#2
поищите поиском по файлам строки $this->getAndParse(). Это и есть получение шаблона и его парсинг на наличие чанков и сниппетов в Fapos.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#3
так не только шаблоны нужны, нужно еще определение откуда пришел пользователь и что ему грузить. Такое уже есть?

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:109 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#4
Ater пишет:
так не только шаблоны нужны, нужно еще определение откуда пришел пользователь и что ему грузить. Такое уже есть?
Пока такого нет. Но это не проблема. Файл /sys/boot.php грузиться всегда и в первую очередь. Там и можно добавить проверку. По сути, даже не проверка нужна а ссылка на страницах "ПДА версия", по нажатии на которую, будет писаться что-то в сессию. Некий флаг, по которому можно определять какой шаблон отдавать.

Все что нужно сделать - это проверку этого флага в файле /sys/fnc/document_parser.class.php (метод getAndParse) и отдача либо полного, либо порезанного шаблона.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#5
Чёт вы занаучили, я и слов таких не знаю gg) ну попробую ченить смастерить :)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#6
 1 
 2 
 3 
 4 
<?php if ($_SERVER['HTTP_USER_AGENT']== 'pda' // Вроде так, но стоит проверить
{
  
$obj['tpl'] -> parsetpl('PDA');
}
?>

Суть ясна?

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:109 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#7
типа того)

Сашка_из_Шебекино пишет:
Чёт вы занаучили, я и слов таких не знаю [smile] ну попробую ченить смастерить [smile]
Ну если вы сами не знаете ПХП, то попросить кого-то помочь с этим. Тем более что все довольно просто. А если у вас это еще и получится хорошо, то можно будет в стандартную сборку включить)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#8
skad0, ну теперь сразу понятно. А то всякие парсинги, флаги gg)

Drunya, учусь :)



Спасибо

Добавлено 2011.04.27 10-22

А как сделать проверку, это главная страница или к примеру страница с юзерами. Нужно чтобы {CONTENT} не появлялся на главной, но был на всех остальных страницах

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:109 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#9
если открыть файл /index.php то в нем можно увидеть как происходит разбор параметров УРЛ(строки запроса).

По этим параметрам и определяется страница.
Обычно, главная это модуль - pages и экшен - index.

Добавлено 2011.04.27 15-41

Если обрать внимание на эту строку
 1 
 2 
<?php $data $this->callAction($params);?>
То тут мы как раз передаем эти параметры($params) на обработку.
$params[0] - module(если нет, то pages)
$params[1] - action(если нет, то index)

В скобках указаны значения по умолчанию.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#10
Я вот пишу в index.php

if($params[0] == pages && $params[1] == index){

echo '1';

}else{

echo '2';

}

не работает. Не бейте больно, я только учу пхп.

1 2 3 ... >>
Сейчас online: 20. Зарегистрированных: 2. Гостей: 18.