Тема закрыта
Пока такого нет. Но это не проблема. Файл /sys/boot.php грузиться всегда и в первую очередь. Там и можно добавить проверку. По сути, даже не проверка нужна а ссылка на страницах "ПДА версия", по нажатии на которую, будет писаться что-то в сессию. Некий флаг, по которому можно определять какой шаблон отдавать.
Все что нужно сделать - это проверку этого флага в файле /sys/fnc/document_parser.class.php (метод getAndParse) и отдача либо полного, либо порезанного шаблона.
Суть ясна?
ПДА версия Fapos
Отправлено: 26 Apr 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
pda_bottom
Спасибо участникам 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
Версия: 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>';
}
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>';
<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
Edit by author 25 Jan 2013
Отправлено: 26 Apr 2011#2
поищите поиском по файлам строки $this->getAndParse(). Это и есть получение шаблона и его парсинг на наличие чанков и сниппетов в Fapos.
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 26 Apr 2011#3
так не только шаблоны нужны, нужно еще определение откуда пришел пользователь и что ему грузить. Такое уже есть?
Все мое имхо...
------
Не флуди и не да зафлудим будешь!
------
Не флуди и не да зафлудим будешь!
Отправлено: 26 Apr 2011#4
Ater пишет:
так не только шаблоны нужны, нужно еще определение откуда пришел пользователь и что ему грузить. Такое уже есть?
Все что нужно сделать - это проверку этого флага в файле /sys/fnc/document_parser.class.php (метод getAndParse) и отдача либо полного, либо порезанного шаблона.
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 26 Apr 2011#6
1
2
3
4
<?php if ($_SERVER['HTTP_USER_AGENT']== 'pda' ) // Вроде так, но стоит проверить
{
$obj['tpl'] -> parsetpl('PDA');
}?>
Суть ясна?
Отправлено: 26 Apr 2011#7
типа того)
Ну если вы сами не знаете ПХП, то попросить кого-то помочь с этим. Тем более что все довольно просто. А если у вас это еще и получится хорошо, то можно будет в стандартную сборку включить)
Сашка_из_Шебекино пишет:
Чёт вы занаучили, я и слов таких не знаю [smile] ну попробую ченить смастерить [smile]
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 27 Apr 2011#8
skad0, ну теперь сразу понятно. А то всякие парсинги, флаги
Drunya, учусь
Спасибо
Добавлено 2011.04.27 10-22
А как сделать проверку, это главная страница или к примеру страница с юзерами. Нужно чтобы {CONTENT} не появлялся на главной, но был на всех остальных страницах
Drunya, учусь
Спасибо
Добавлено 2011.04.27 10-22
А как сделать проверку, это главная страница или к примеру страница с юзерами. Нужно чтобы {CONTENT} не появлялся на главной, но был на всех остальных страницах
Отправлено: 27 Apr 2011#9
если открыть файл /index.php то в нем можно увидеть как происходит разбор параметров УРЛ(строки запроса).
По этим параметрам и определяется страница.
Обычно, главная это модуль - pages и экшен - index.
Добавлено 2011.04.27 15-41
Если обрать внимание на эту строку
То тут мы как раз передаем эти параметры($params) на обработку.
$params[0] - module(если нет, то pages)
$params[1] - action(если нет, то index)
В скобках указаны значения по умолчанию.
По этим параметрам и определяется страница.
Обычно, главная это модуль - pages и экшен - index.
Добавлено 2011.04.27 15-41
Если обрать внимание на эту строку
1
2
<?php $data = $this->callAction($params);?>
$params[0] - module(если нет, то pages)
$params[1] - action(если нет, то index)
В скобках указаны значения по умолчанию.
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 30 Apr 2011#10
Я вот пишу в index.php
if($params[0] == pages && $params[1] == index){
echo '1';
}else{
echo '2';
}
не работает. Не бейте больно, я только учу пхп.
if($params[0] == pages && $params[1] == index){
echo '1';
}else{
echo '2';
}
не работает. Не бейте больно, я только учу пхп.
Сейчас online: 8. Зарегистрированных: 0. Гостей: 8.

