LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 15:24:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Гененрация контента для КПК.  (Прочитано 13082 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« : 23.03.2007, 09:34:19 »

Вопрос вот в чем, как и можно ли вообще сделать так чтобы при заходе на сайт Joomla определяля браузер и под него генерировала контент?
Т.е. поясню, я допустим очень активно серфю с КПК и меня как и многих напрягает стоимость GPRS трафика, так вот на своем сайте я бы хотел чтобы джумла генерила странички под КПК. Это возможно?  ????
Записан
Mitrich
Администратор
*******

Репутация: +520/-13
Offline Offline

Пол: Мужской
Сообщений: 2481


Все можно. Но сначала учиться, учиться и учиться.


« Ответ #1 : 23.03.2007, 12:15:33 »

Тоже задавался таким вопросом
Пока решения не нашел
Вопрос в том что браузеров гора как под Win/Mac/*NIX так и под PDA
Можно отдавать разный CSS , но вес траницы при этом останется тем же
Надо бы глянуть как PDA браузер определяется. Если на Windows Mobile он говорит что он IE
то вообще нет идей. С Palm'овским браузером думаю проблем не будет.
Может сделать страницу входа на сайт которая через ,скажем ,3 секунды будет перенаправлять .....
Короче если есть мысли стучи в асю
Меня эта тема тоже занимает
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #2 : 23.03.2007, 12:32:57 »

Можно сделать субдомен для сайта типа lite.site.ru, который будет alias'ом основному сайту. А в начале /index.php проверять имя хоста и, если это lite.site.ru, то выставлять упрощенный шаблон и изменять $mosConfig_live_site.
Записан
Mitrich
Администратор
*******

Репутация: +520/-13
Offline Offline

Пол: Мужской
Сообщений: 2481


Все можно. Но сначала учиться, учиться и учиться.


« Ответ #3 : 23.03.2007, 15:50:32 »

Не вариант
Интересно распознавать устройство до начала загрузки
Записан
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« Ответ #4 : 25.03.2007, 10:44:14 »

Ребят, спасибо что хоть ответили но я так сказать пользователь хоть и с 15 летним опытом на компах... так что с программированием у меня туго... а идеи без воплощения - пусты.

Я думал что ктонить уже находил решения под джумлу.

Буду ща тупо перебирать CMS-ки и искать чтонить под ПДАшку. Если что найду не сочтите за рекламу - дам тут ссылку.
Записан
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« Ответ #5 : 25.03.2007, 11:10:06 »

Вот. хотелось бы получить что то такоеже на выходе...
хттп://pda.uw.ru/

Этого то можно добиться от джумлы?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #6 : 25.03.2007, 11:21:12 »

Ну, это примерно то, что я описал. Только lite.site.ru замени на pda.site.ru.
Записан
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« Ответ #7 : 25.03.2007, 11:44:20 »

хттп://www.compdoc.ru/internet/java/faq2/16.shtml - это может как нить помочь? Правда это для явы.
Записан
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« Ответ #8 : 25.03.2007, 12:01:32 »

Ну, это примерно то, что я описал. Только lite.site.ru замени на pda.site.ru.

Как это можно реализовать? есть мануал какойнибудь?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #9 : 25.03.2007, 16:23:26 »

Можно сделать субдомен для сайта типа lite.site.ru, который будет alias'ом основному сайту.
Для этого нужно в httpd.conf (файл конфигурации Apache) для Вашего хоста прописать строку
Код:
ServerAlias "site.ru" "lite.site.ru"
(после наверняка существующей записи ServerAlias "site.ru" "www.site.ru"). Скорее всего, Вам нужно будет лишь попросить хостера о создании алиаса, а не вносить изменения вручную.
А в начале /index.php проверять имя хоста и, если это lite.site.ru, то выставлять упрощенный шаблон и изменять $mosConfig_live_site.
У меня появилась другая идея — сделать это через мамбот.
pda.xml
Код:
<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall version="1.0.0" type="mambot" group="system">
<name>PDA template</name>
<version>0.1</version>
<author>Denis Ryabov</author>
<creationDate>25 Mar 2007</creationDate>
<copyright>Denis Ryabov</copyright>
<license>GNU/GPL</license>
<authorEmail>dryabov@ya.ru</authorEmail>
<authorUrl>http://sanrsu.org.ru/</authorUrl>
<description>Changes template to PDA on pda.site.com host.</description>
<files>
<filename mambot="pda">pda.php</filename>
</files>
<params />
</mosinstall>
pda.php
Код:
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$_MAMBOTS->registerFunction( 'onStart', 'botPDA' );
function botPDA() {
global $mosConfig_live_site;
if($_SERVER['HTTP_HOST']=='pda.site.ru')
{
$mosConfig_live_site='http://'.$_SERVER['HTTP_HOST'];
$_COOKIE['jos_user_template']='pda';
}
}
?>
Плюс, нужно создать и установить "минималистический" шаблон PDA типа
Код:
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
?><html>
<head>
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<link href="<?php echo $mosConfig_live_site;?>/templates/pda/css/template_css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="pathway"><?php mosPathWay(); ?></div>
<?php mosMainBody(); mosLoadModules('pda',-2); ?>
</body>
</html>

PS. Это всё — «теория», проверяйте сами на свой страх и риск.
« Последнее редактирование: 02.04.2007, 08:53:21 от Physicist » Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #10 : 02.04.2007, 08:40:35 »

Решил «реанимировать» тему.

Интересно распознавать устройство до начала загрузки

На http://thebogles.com/blog/projects/mobile-optimized-forums-template/ это предлагают делать таким кодом:
Код:
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$is_mobile = preg_match('/(up-browser)|(blackberry)|(windows ce)|symbian|palm|nokia/i', $user_agent);
if ($is_mobile) {
  //...
}
?>

Еще полезными могут оказать ссылки:
List of user agents for mobile phones
User agent

В проекте CodeIgniter содержится примерно такой код:
Код:
<?php
$mobiles = array(
'mobileexplorer' => 'Mobile Explorer',
'openwave' => 'Open Wave',
'opera mini' => 'Opera Mini',
'operamini' => 'Opera Mini',
'elaine' => 'Palm',
'palmsource' => 'Palm',
'digital paths' => 'Palm',
'avantgo' => 'Avantgo',
'xiino' => 'Xiino',
'palmscape' => 'Palmscape',
'nokia' => 'Nokia',
'ericsson' => 'Ericsson',
'blackBerry' => 'BlackBerry',
'motorola' => 'Motorola'
);
$agent = '';
if(isset($_SERVER['HTTP_USER_AGENT']))
$agent = trim($_SERVER['HTTP_USER_AGENT']);
$is_mobile = FALSE;
foreach ($mobiles as $key => $val)
{
if (FALSE !== (strpos(strtolower($agent), $key)))
{
$is_mobile = TRUE;
break;
}
}
?>

Таким образом, можно заменить в pda.php проверку хоста pda.site.ru на проверку браузера.
« Последнее редактирование: 02.04.2007, 08:46:05 от Physicist » Записан
Uborevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 19


« Ответ #11 : 06.04.2007, 19:54:13 »

Идея интересная, сейчас начал прорабатывать ее.

Завтра посмотрю, где то встречал компонент и мамботы под него, так вот, этот компонент очень корректно отображал кто каким браузером пользуется... думаю имеет смысл подсмотреть методу определения.
Записан
Lu
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 20



« Ответ #12 : 16.05.2007, 15:18:18 »

Ну так появились какие-нибудь конкретные решения по этому поводу?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #13 : 30.05.2007, 14:35:04 »

Ага, появились.
Я оформил всё выше написанное в виде мамбота и шаблона:
http://joomup.com/blog/2007/05/29/pda-version-of-joomlas-site/
« Последнее редактирование: 04.06.2008, 00:12:18 от Physicist » Записан
Lu
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 20



« Ответ #14 : 30.05.2007, 16:14:18 »

Здорово! Спасибо. Попробую.
Записан
Sedoy
Support Team
*****

Репутация: +77/-10
Offline Offline

Пол: Мужской
Сообщений: 1084


Интересно,в какой кодировке пишут врачи?


« Ответ #15 : 30.05.2007, 18:50:00 »

Physicist, сенкс
но если не затруднит выложи здесь и желательно на родном языке Azn 
с подробным описанием "как" для всех, вплоть до уровня "плинтуса" Azn
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #16 : 30.05.2007, 19:06:35 »

Хорошо. Попробую.

Сначала устанавливаем PDA-шаблон (см. вложение), который будет использоваться для вывода информации в упрощенном (без особых излишеств) виде. Шаблон содержит позиции для модулей header и footer. Если эти позиции уже имеются в основном шаблоне сайта - подредактируйте шаблон, чтобы пересечений не было (или наоборот, чтобы, например, меню выводилось в одну и туже позицию в обоих шаблонах). Настраиваем в админке, какие модули будут выводиться в этих позициях.

Затем устанавливаем и активируем PDA-мамбот (см. вложение), который будет выставлять установленный ранее PDA-шаблон если на сайт заходят с карманного компьютера (или мобильного телефона — но! pda-версия и wap-версия сайта это разные вещи, так что не все телефоны отобразят содержимое сайта).

* pdabot.zip (1.25 Кб - загружено 175 раз.)
* pda.zip (7.28 Кб - загружено 190 раз.)
« Последнее редактирование: 08.06.2007, 19:27:15 от Physicist » Записан
Sedoy
Support Team
*****

Репутация: +77/-10
Offline Offline

Пол: Мужской
Сообщений: 1084


Интересно,в какой кодировке пишут врачи?


« Ответ #17 : 30.05.2007, 19:26:54 »

сенкс
продолжаем "как":
1 - как это проверить можно локально (если можно для отладки) и нужен ли обязательно КПК (скажем через дата кабель подключен к компу) или можно и так посмотреть или обязательно нужно на хосте?
2 - лично я так и не понял, достаточно ли выложенное тобой установить или все таки нужно некий спец-клон сайта делать?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #18 : 30.05.2007, 19:46:16 »

Я локально просто выставил шаблон pda «по-умолчанию» и настраивал отображение в Opera в режиме Shift+F11 (эмуляция КПК). Реально же проверял только окончательный вариант, временно поставив «чистую» Joomla на сервер.

Достаточно установить выложенное и настроить отображение модулей в соответствующих позициях (по-умолчанию header и footer — я, например, в header установил копию модуля Поиск, а в footer копию mainmenu). Никакой «спец-клон» сайта не нужен.
« Последнее редактирование: 30.05.2007, 19:49:43 от Physicist » Записан
Sedoy
Support Team
*****

Репутация: +77/-10
Offline Offline

Пол: Мужской
Сообщений: 1084


Интересно,в какой кодировке пишут врачи?


« Ответ #19 : 30.05.2007, 19:53:07 »

ок
сенкс
Записан
Timon_Crazy
Завсегдатай
*****

Репутация: +31/-4
Offline Offline

Пол: Мужской
Сообщений: 565


Лицензнаци


« Ответ #20 : 31.05.2007, 05:56:54 »

также можно проверить:
1) выставив юзер агент в браузере
2) поставив эмулятор PDA (есть и Палм (ladoshki.com) и PocetPC (microsoft.com)
3) если PDA подключен шнуром к компу то при заходе на сайт будет определяться он.

проверка идет по версии браузера?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #21 : 31.05.2007, 06:20:07 »

Проверка идет по (если одно из условий выполняется, то зашли с КПК):
1) HTTP_ACCEPT = text/vnd.wap.wml
2) HTTP_ACCEPT = application/vnd.wap.xhtml+xml
3) HTTP_X_WAP_PROFILE =
4) HTTP_PROFILE =
5) X-OperaMini-Features =
6) UA-pixels =
7) HTTP_USER_AGENT = содержит в виде подстроки одно из значений массива названий браузеров
Записан
Timon_Crazy
Завсегдатай
*****

Репутация: +31/-4
Offline Offline

Пол: Мужской
Сообщений: 565


Лицензнаци


« Ответ #22 : 31.05.2007, 06:48:49 »

можно ли менять значение массива названий браузера?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #23 : 31.05.2007, 06:58:09 »

Через настройки мамбота — нет. А дописать отсутствующее значение в массив всегда можно просто отредактировав файл pdabot.php
Записан
Timon_Crazy
Завсегдатай
*****

Репутация: +31/-4
Offline Offline

Пол: Мужской
Сообщений: 565


Лицензнаци


« Ответ #24 : 31.05.2007, 09:13:27 »

планируется ли настройка с панели управления?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #25 : 31.05.2007, 09:21:58 »

Возможно. Только я планировал настраивать не список user agent'ов, а названия позиций модулей, используемых в pda-шаблоне (всё-таки позиции header и footer могут быть и в основном шаблоне сайта).
Записан
Timon_Crazy
Завсегдатай
*****

Репутация: +31/-4
Offline Offline

Пол: Мужской
Сообщений: 565


Лицензнаци


« Ответ #26 : 31.05.2007, 09:36:07 »

ну ето тоже актуально

правда вопрос: компоненты выводиться будут?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #27 : 31.05.2007, 09:45:36 »

правда вопрос: компоненты выводиться будут?
Так вроде ж mosMainBody из шаблона никто не убирал Azn
Записан
Timon_Crazy
Завсегдатай
*****

Репутация: +31/-4
Offline Offline

Пол: Мужской
Сообщений: 565


Лицензнаци


« Ответ #28 : 31.05.2007, 09:47:12 »

следовательно: еслив них (компонентах) юзается ява, аякс - на пда то не посмотришь? тем более через wap
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #29 : 31.05.2007, 10:13:15 »

Естественно. А что есть возможность это исправить???
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet