ページへ戻る

− Links

 印刷 

携帯対応レンダラー のバックアップソース(No.35) :: XOOPS マニア

xpwiki:keyword/HypCommonPreLoad/KtaiRender のバックアップソース(No.35)

« Prev[5]  Next »[6]
TITLE:携帯対応レンダラー
#nopagecomment
#navi

* 携帯対応レンダラー [#c558a62d]

HypCommonPreLoad に含まれる出力フィルターで、XOOPSを丸ごと携帯対応にすることができます。

- この機能を利用するには、サーバーに HypCommonFunc をアップロード後、XOOPS に HypCommonPreLoad を導入し、[[HypCommonPreLoad の設定>../#y8348a4c]]を行ってください。
- 簡単ログイン機能を使用するには、XOOPS_TRUST_PATH/cache ディレクトリに書き込み権限が必要です。
- RSS 出力に対応。(HypCommonFunc Ver 20080626 以降)
- 各モジュールのテーマ下テンプレートに対応。(HypCommonFunc Ver 20080717 以降)
-- 各モジュールのテーマ下テンプレートは、[[モバイル テンプハウス:http://www.mc8.jp/HD/]] などで入手できます。
- 携帯絵文字に対応しています。携帯三社とPCで絵文字の自動変換を行い、変換できない絵文字は画像で表示されます。(HypCommonFunc Ver 20080720 以降)
-- 携帯絵文字パック: {{keyword/HypCommonFunc/K-tai_emoji.zip}} を XOOPS_ROOT_PATH/images に忘れずアップロードしてください。
-- 詳しくは、[[Blog:携帯絵文字に対応してみた>UsersWiki:nao-pon/blog/2008-07-19]] や [[フォーラム:[HypCommonFunc] Ver 20080720 携帯絵文字に対応:http:///modules/forum/index.php?topic_id=2400]] を参照してください。
- 以前のバージョンで必要であった、XOOPS_ROOT_PATH/class/hyp_common/redirect.php は、HypCommonFunc Ver. 20080910 以降で不要となりました。サーバー上の該当ファイルは不必要になりましたので、削除しても構いません。

:&font(Red){注意事項};|
HypCommonFunc Ver 20080720 以降に含まれる SoftBankの絵文字を営利目的でホームページ、ソフトウェア、書籍等で利用される場合は、以下のアドレスから事前に連絡する必要があります。&br;
http://creation.mb.softbank.jp/web/web_privacy.html

** 設定 (hyp_preload.conf.php) [#gacdaf31]

#block(class:@round@info,width:80%){{
ここに解説のある設定項目でも hypconf モジュールで設定できる項目は、そちらで設定したほうが、はるかに簡単に設定できます。ぜひ、hypconf モジュールをインストールしてご活用ください。

hypconf モジュールは、HypCommonFunc に含まれています。html/modules/hypconf, xoops_trust_path/modules/hypconf の各ディレクトリをサーバーの html側 と trustパス側へそれぞれ間違えないようにアップロードして、XOOPS のモジュール管理からインストールしてください。
}}

"XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.conf.php" を編集して設定をします。該当ファイルがない場合は、同じディレクトリに含まれている "hyp_preload.conf.php.rename" をリネームしてください。

- hyp_preload.conf.php 内の携帯対応レンダラー関連の設定項目 (HypCommoFunc Ver. 20120130)
#code(php,nonumber){{
// 各機能のメインスイッチ (On = 1, Off = 0)
$this->use_set_query_words   = 0; // 検索ワードを定数にセット
$this->use_words_highlight   = 0; // 検索ワードをハイライト表示
$this->use_proxy_check       = 0; // POST時プロキシチェックする
$this->use_dependence_filter = 0; // 機種依存文字フィルター
$this->use_post_spam_filter  = 0; // POST SPAM フィルター
$this->post_spam_trap_set    = 0; // 無効フィールドのBot罠を自動で仕掛ける
$this->use_k_tai_render      = 0; // 携帯対応レンダーを有効にする
$this->use_smart_redirect    = 0; // スマートリダイレクトを有効にする

// 各種設定
$this->configEncoding = 'EUC-JP'; // このファイルの文字コード

$this->encodehint_word = 'ぷ';    // POSTエンコーディング判定用文字
$this->encodehint_name = 'HypEncHint'; // POSTエンコーディング判定用 Filed name
$this->detect_order = 'ASCII, JIS, UTF-8, eucJP-win, EUC-JP, SJIS-win, SJIS';

$this->msg_words_highlight = 'これらのキーワードがハイライトされています';

$this->no_proxy_check  = '/^(127\.0\.0\.1|192\.168\.1\.)/'; // 除外IP
$this->msg_proxy_check = 'Can not post from public proxy.';

// Input filter 制御文字の除去
// 0: null 以外許可, 1: SoftBankの絵文字と\t,\r,\n は許可, 2: \t,\r,\n のみ許可
$this->input_filter_strength = 0;

// POST SPAM
$this->use_mail_notify    = 1;    // POST SPAM メール通知 0:なし, 1:SPAM判定のみ, 2:すべて
$this->send_mail_interval = 60;   // まとめ送りのインターバル(分) (0 で随時送信)
$this->post_spam_a   = 1;         // <a> タグ 1個あたりのポイント
$this->post_spam_bb  = 1;         // BBリンク 1個あたりのポイント
$this->post_spam_url = 1;         // URL      1個あたりのポイント
$this->post_spam_unhost= 5;       // 不明 HOST の加算ポイント
$this->post_spam_host  = 31;      // Spam HOST の加算ポイント
$this->post_spam_word  = 10;      // Spam Word の加算ポイント
$this->post_spam_filed = 200;     // Spam 無効フィールドの加算ポイント
$this->post_spam_trap  = '___url';// Spam 罠用無効フィールド名

$this->post_spam_user  = 150;     // POST SPAM 閾値: ログインユーザー
$this->post_spam_guest = 15;      // POST SPAM 閾値: ゲスト
$this->post_spam_badip = 100;     // アクセス拒否リストへ登録する閾値

// 処理をパスするフォームフィールド名 (,<カンマ> 区切り)
// reference_quote : d3forum
// msg_before,msg_after : PukiWikiMod
$this->post_spam_pass_names = 'reference_quote,msg_before,msg_after';

// Protector 併用設定 (Protector の拒否IP登録の保護グループ設定も有効)
$this->post_spam_badip_ttl     = 900;     // アクセス拒否の拒否継続時間[Sec](0:無期限,null:Protector不使用)
$this->post_spam_badip_forever = 200;     // 無期限アクセス拒否閾値
$this->post_spam_badip_ttl0    = 2592000; // 無期限アクセス拒否継続時間[Sec](0:本当に無期限)

// Proxy Checkers
$this->post_spam_checkers = array(
	//'list.dsbl.org',
	'niku.2ch.net',
	array(
		'dnsbl.spam-champuru.livedoor.com',
		'/^192\.168\.1\.2/'
	),
);

// POST SPAM のポイント加算設定
$this->post_spam_rules = array(
	// 同じURLが1行に3回 11pt
	"/((?:ht|f)tps?:\/\/[!~*'();\/?:\@&=+\$,%#\w.-]+).+?\\1.+?\\1/i" => 11,

	// 65文字以上の英数文字のみで構成されている 15pt
	// '/^[\x00-\x7f\s]{65,}$/' => 15,

	// 無効な文字コードがある 31pt
	'/[\x01-\x08\x0b-\x0c\x0e\x10-\x1a\x1c-\x1f\x7f]+/' => 31,

	// よくあるSPAM 15pt
	'/^\s*(?:Hi|Aloha)! (?:<a[^>]+?href=|\[url=|http:\/\/)/i' => 15,
);

// 無効なフィールド定義
$this->ignore_fileds = array(
	// 'url' => array('newbb/post.php', 'comment_post.php'),
);

// 検索ワード定数名
$this->q_word  = 'XOOPS_QUERY_WORD';         // 検索ワード
$this->q_word2 = 'XOOPS_QUERY_WORD2';        // 検索ワード分かち書き(分かち書き不使用なら空文字''で設定)
$this->se_name = 'XOOPS_SEARCH_ENGINE_NAME'; // 検索元名

// 外部リンクに付加する class属性値
// use_words_highlight = 1 の場合に有効
// 空値指定で class属性の付加なし
$this->extlink_class_name = 'ext';

// KAKASI での分かち書き結果のキャッシュ先
$this->kakasi_cache_dir = XOOPS_TRUST_PATH.'/uploads/hyp_common/kakasi/';

// スマートリダイレクトのポップアップ最短秒数
$this->smart_redirect_min_sec = 5;

// 定数 "HYP_IS_BOT_UA" をセットする UserAgant PCRE 正規表現
$this->bot_ua_reg = '/bot|Slurp|Crawler|Sidewinder|spider|Y!J|Ask/i';

/////////////////////////
// 携帯対応レンダー設定

// 携帯端末判定用 UA 正規表現
$this->k_tai_conf['ua_regex'] = '#(?:Android|Windows Phone|SoftBank|Vodafone|J-PHONE|DoCoMo|UP\.Browser|DDIPOCKET|WILLCOM|iPhone|iPod|mixi-mobile-converter|Googlebot-Mobile|Google Wireless Transcoder|Hatena-Mobile-Gateway)#';

// jQuery mobile を使用するプロファイル
$this->k_tai_conf['jquery_profiles'] = 'android,iphone,ipod,windows phone';

// jQuery mobile のテーマ
// ページ
$this->k_tai_conf['jquery_theme'] = 'b';
// メインコンテンツ
$this->k_tai_conf['jquery_theme_content'] = 'd';
// ブロックコンテンツ
$this->k_tai_conf['jquery_theme_block'] = 'c';

// jQuery 使用時はHTMLの携帯用変換を行わない
$this->k_tai_conf['jquery_no_reduce'] = true;
// jQuery Mobile 適用時に Flash を除去するプロファイル名をカンマ区切りで記述。
$this->k_tai_conf['jquery_remove_flash'] = ''; // 'iphone,ipod,ipad'
// jQuery Mobile 適用時に入れ子になっているテーブルを展開する。
$this->k_tai_conf['jquery_resolve_table'] = false;
// jQuery Mobile 適用時に画像を指定幅[px]サイズまで縮小する。「0」で無効。
$this->k_tai_conf['jquery_image_convert'] = 0;

// HTML再構築用タグ設定
$this->k_tai_conf['rebuilds'] = array(
	'header'         => array( 'above' => '',
	                          'below' => ''),
	'body'           => array( 'above' => '',
	                          'below' => ''),
	'footer'         => array( 'above' => '',
	                          'below' => ''),
	'headerlogo'     => array( 'above' => '<center>',
	                          'below' => '</center>'),
	'headerbar'      => array( 'above' => '<hr>',
	                          'below' => ''),
	'breadcrumbs'    => array( 'above' => '',
	                          'below' => ''),
	'leftcolumn'     => array( 'above' => '<hr>',
	                          'below' => ''),
	'centerCcolumn'  => array( 'above' => '<hr>',
	                          'below' => ''),
	'centerLcolumn'  => array( 'above' => '',
	                          'below' => ''),
	'centerRcolumn'  => array( 'above' => '',
	                          'below' => ''),
	'content'        => array( 'above' => '<hr>',
	                          'below' => ''),
	'rightcolumn'    => array( 'above' => '<hr>',
	                          'below' => ''),
	'footerbar'      => array( 'above' => '',
	                          'below' => ''),
	'easylogin'      => array( 'above' => '<div style="text-align:center;background-color:#DBBCA6;font-size:small">[ ',
	                          'below' => ' ]</div>'),
	'redirectMessage'=> array( 'above' => '<marquee loop="3">',
	                          'below' => '</marquee>'),
	'blockMenu'      => array( 'above' => '<div style="background-color:#E0EEEE;font-size:small">',
	                          'below' => '</div>'),
	'blockContent'   => array( 'above' => '',
	                          'below' => ''),
	'toMain'         => array( 'above' => '<hr /><div style="text-align:center">',
	                          'below' => '</div>'),
	'subMenu'        => array( 'above' => '<div id="submenu" style="background-color:#ccccff"><h2 style="text-align:center">サブメニュー</h2></div>',
	                          'below' => ''),
);
// jQuery Mobile 上書き用
$this->k_tai_conf['rebuildsEx']['jqm'] = array(
	'header'         => array( 'above' => '<div data-role="header" data-theme="'.$this->k_tai_conf['jquery_theme'].'">',
	                          'below' => '</div>'),
	'body'           => array( 'above' => '<div data-role="content" id="keitaiContents" data-theme="'.$this->k_tai_conf['jquery_theme'].'">',
	                          'below' => '</div>'),
	'footer'         => array( 'above' => '<div data-role="footer" data-theme="'.$this->k_tai_conf['jquery_theme'].'">',
	                          'below' => '</div>'),
	'easylogin'      => array( 'above' => '',
	                          'below' => ''),
	'blockMenu'      => array( 'above' => '<div data-role="header" style="line-height:1">',
	                          'below' => '</div>'),
);

// 携帯用XOOPSテーマセット
$this->k_tai_conf['themeSet'] = 'ktai_default';
$this->k_tai_conf['themeSets'] = array();
//$this->k_tai_conf['themeSets']['jqm'] = ''; // jQuery mobile 一括
// carrier 別の設定 (carrier をキーにして設定)
//$this->k_tai_conf['themeSets']['android'] = '';
//$this->k_tai_conf['themeSets']['iphone'] = '';
//$this->k_tai_conf['themeSets']['ipod'] = '';
//$this->k_tai_conf['themeSets']['windows phone'] = '';

// 携帯用XOOPSテンプレートセット
$this->k_tai_conf['templateSet'] = '';
$this->k_tai_conf['templateSets'] = array();
//$this->k_tai_conf['templateSets']['jqm'] = ''; // jQuery mobile 一括
// carrier 別の設定 (carrier をキーにして設定)
//$this->k_tai_conf['templateSets']['android'] = '';
//$this->k_tai_conf['templateSets']['iphone'] = '';
//$this->k_tai_conf['templateSets']['ipod'] = '';
//$this->k_tai_conf['templateSets']['windows phone'] = '';

// 使用テンプレート
$this->k_tai_conf['template'] = 'default';
$this->k_tai_conf['templates']['jqm'] = 'smart'; // jQuery mobile 用

// <body> attributes
$this->k_tai_conf['bodyAttribute'] = '';

// 無効にするブロックの bid (Block Id) (無指定:フィルタリングしない)
$this->k_tai_conf['disabledBlockIds'] = array();

// 有効にするブロックの bid (Block Id) (無指定:フィルタリングしない)
$this->k_tai_conf['limitedBlockIds'] = array();

// 常に表示するブロックの bid (Block Id) (メインメニューなど)
$this->k_tai_conf['showBlockIds'] = array();

// インラインイメージのリサイズ最大ピクセル
$this->k_tai_conf['pictSizeMax'] = '200';

// インラインイメージを表示するホスト名(後方一致)
$this->k_tai_conf['showImgHosts'] = array('amazon.com', 'yimg.jp', 'yimg.com', 'google.com');

// 直接画像を表示するホスト名(後方一致)
$this->k_tai_conf['directImgHosts'] = array('google-analytics.com', 'maps.google.com', 'ad.jp.ap.valuecommerce.com', 'ba.afl.rakuten.co.jp', 'assoc-amazon.jp', 'ad.linksynergy.com');

// リダイレクトスクリプトを経由しないホスト名(後方一致)
$this->k_tai_conf['directLinkHosts'] = array('amazon.co.jp', 'ck.jp.ap.valuecommerce.com', 'afl.rakuten.co.jp', 'maps.google.com');

// 外部リンク用リダイレクトスクリプト
$this->k_tai_conf['redirect'] = XOOPS_URL . '/class/hyp_common/gate.php?way=redirect&amp;_d=0&amp;_u=0&amp;_x=0&amp;l=';

// Easy login を有効にする
$this->k_tai_conf['easyLogin'] = 1;
// Easy login で IP アドレス帯域をチェックしない
$this->k_tai_conf['noCheckIpRange'] = 0;
// docomo の端末IDを確認する間隔(秒)
$this->k_tai_conf['docomoGuidTTL'] = 300;

// リンクメッセージ
$this->k_tai_conf['msg']['easylogin'] = '簡単ログイン';
$this->k_tai_conf['msg']['logout'] = 'ログアウト';
$this->k_tai_conf['msg']['easyloginSet'] = '簡単ログイン:設定';
$this->k_tai_conf['msg']['easyloginUnset'] = '簡単ログイン:解除';
$this->k_tai_conf['msg']['toMain'] = '本文を表示';
$this->k_tai_conf['msg']['mainMenu'] = 'メインメニュー';
$this->k_tai_conf['msg']['subMenu'] = 'サブメニュー';
$this->k_tai_conf['msg']['switchSmart'] = 'スマホスタイルへ';

// アイコン
$this->k_tai_conf['icon']['first']   = '((s:465d))';
$this->k_tai_conf['icon']['prev']    = '((s:465b))';
$this->k_tai_conf['icon']['next']    = '((s:465a))';
$this->k_tai_conf['icon']['last']    = '((s:465c))';
$this->k_tai_conf['icon']['extLink'] = '((i:f8d9))';
$this->k_tai_conf['icon']['hTag']    = '((i:f8e4))';
$this->k_tai_conf['icon']['RSS']     = '((e:f699))';

$this->k_tai_conf['icon']['toMain']  = '((e:f7e4))';

// style
$this->k_tai_conf['style']['highlight'] = 'background-color:#ffc0cb';

// Easy login: 設定 or 解除リンクを表示するURI(XOOPS_URL以降)とuidのGETキーと挿入位置
$this->k_tai_conf['easyLoginConfPath'] = '/userinfo.php';
$this->k_tai_conf['easyLoginConfuid'] = 'uid';
$this->k_tai_conf['easyLoginConfInsert'] = 'content';

// GET query keys
$this->k_tai_conf['getKeys']['page'] = '_p_';
$this->k_tai_conf['getKeys']['hash'] = '_h_';
$this->k_tai_conf['getKeys']['block'] = '_b_';

//// Google Adsense 設定
// config ファイルのパス
$this->k_tai_conf['googleAdsense']['config'] = '';
// 挿入場所 ('header', 'body', 'footer') の下、無指定時はページ最上部
$this->k_tai_conf['googleAdsense']['below'] = '';

// Google Analytics 設定
$this->k_tai_conf['googleAnalyticsId'] = '';

// <a> タグの href 属性の書き換えルール
//$this->k_tai_conf['urlRewrites']['regex'][] = '';
//$this->k_tai_conf['urlRewrites']['tostr'][] = '';

// <img> タグの src 属性の書き換えルール
//$this->k_tai_conf['urlImgRewrites']['regex'][] = '';
//$this->k_tai_conf['urlImgRewrites']['tostr'][] = '';

// 携帯対応レンダー設定 以上
/////////////////////////////
}}

*** サイトごとの設定 [#d50674f5]

$this->k_tai_conf の各設定は、サイトごとに行う必要がある場合がありますので、サイトごとの設定方法を説明します。

方法は、2種類あります。

**** 各設定値のキー名に #[XOOPS_URL] を付加する方法 [#q72f0639]

この方法では、XOOPS_TRUST_PATH 側 (XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.conf.php) で各サイトごとに設定できます。

例えば、$this->k_tai_conf['disabledBlockIds'] の設定を http://xoops.hypweb.net に対して行いたい場合は、
#code(php,nonumbar){{
$this->k_tai_conf['disabledBlockIds#http://xoops.hypweb.net'] = array(55, 63, 154, 67, 106, 34);
}}
のように設定します。(このサイトの設定例です)

&font(Red){※ trust側で設定する場合は、XOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php を設置してはいけません。};

**** XOOPS_ROOT_PATH(html側)/class/hyp_common/hyp_preload.conf.php にて設定する方法 [#uaa66906]

各サイトの XOOPS_ROOT_PATH/class/hyp_common に hyp_preload.conf.php に設置して設定を行います。

XOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php を設置すると、XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.conf.php は読み込まれなくなります。

*** ブロックのコントロール [#tf074ce2]

ブロックは、サブメニューとしてタイトルを一覧表示するようになっています。

また、特定のブロックを常に表示したり、ブロックを無効にすることもできます。

- ''&font(140%,#008080){特定のブロックを常に表示したい};''&font(140%,#008080){ };
~特定のブロックを、メインコンテンツと共に常に表示することができます。
~メインメニューやユーザーメニューは常に表示させておくと便利でしょう。
~設定は、
#code(php,nonumber){{
// 常に表示するブロックの bid (Block Id) (メインメニューなど)
$this->k_tai_conf['showBlockIds'] = array();
}}
~で行います。
- &font(#008080){''&font(140%){特定のブロックを無効にしたい};''};
~特定のブロックを無効にすることができます。
~設定は、
#code(php,nonumber){{
// 非表示にするブロックの bid (Block Id)
$this->k_tai_conf['disabledBlockIds'] = array();
}}
~で行います。

ブロックの設定を行う場合は、その性格上、必ずサイトごとの設定で行う必要があります。

設定方法は、ブロックIDを配列で指定します。例えば、ブロックID 3, 5, 10 を非表示にしたい場合は、次のようになります。

#code(php,nonumber){{
// 非表示にするブロックの bid (Block Id)
$this->k_tai_conf['disabledBlockIds'] = array(3, 5, 10);
}}
:&font(Red){XOOPS 2.0.16a JP での注意事項};|
XOOPS 2.0.16a JP で運用している場合は、HypCommonFunc Ver. 20080916 以降に含まれる header.phpのハック版 ( core_addons/html_2.0.16aJP/header.php ) を忘れずに XOOPS_ROOT_PATH へアップロードする必要があります。

*** モバイルコンテンツ向け google Adsense の利用 [#t99cca95]

- googleAdsense.php を xoops_trust_path/class/hyp_common/ktairender に配置する。
-- &ref(keyword/HypCommonFunc/googleAdsense.php.zip);
- configファイルを作成して任意のディレクトリへ配置してそのパスを hyp_preload.conf.php の $this->k_tai_conf['googleAdsense']['config'] に指定する。
-- configファイル(PHP ファイル) へは google Adsense の「モバイル コンテンツ向け AdSense > 広告ユニット」から「コードを取得」で表示されるコードのうち、$GLOBALS['google']['client'] と $GLOBALS['google']['slotname'] の部分を抜き出してください。
-- 例: xoops_trust_path/class/hyp_common/ktairender/adsenseConf.php
#code(php){{
<?php
$GLOBALS['google']['client']='ca-mb-pub-xxxxxxxxxxxxxxxx';
$GLOBALS['google']['slotname']='xxxxxxxxxx';
}}
-- hyp_preload.conf.php で config ファイルのパスを指定
#code(php,nonumber){{
$this->k_tai_conf['googleAdsense']['config'] = 'xoops_trust_path/class/hyp_common/ktairender/adsenseConf.php';
}}

** 各モジュールの対応など [#p8402e35]

各モジュールのテンプレート内でも、Smarty変数の &font(Blue){''Smarty変数の $smarty.const.HYP_K_TAI_RENDER''}; を使って、場合分けができます。

部分的に場合分けしてもいいですし、大胆に全体を

#pre(){{
<{if $smarty.const.HYP_K_TAI_RENDER == 2}>
 スマートフォン(jQuery mobile 使用時)の場合のテンプレート
<{elseif $smarty.const.HYP_K_TAI_RENDER == 1}>
 携帯の場合のテンプレート
<{else}>
 PCの場合のテンプレート
<{/if}>
}}

とすることもできます。

*** d3forum [#j5f13651]

d3forum では、スパム対策のデフォルトフィルターで、ゲスト投稿時に JavaScript を利用してフィルタリングを行っていますが、このフィルターが有効になっていると、ゲストが携帯で投稿することができません。

そこで、携帯からのアクセスかを IP 帯域で判断して、携帯であると判断した場合は、フィルタリングを行わないフィルターを書いてみました。

- {{D3forumAntispamDefault_ktai.class.php}}

このファイルを、XOOPS_TRUST_PATH/modules/d3forum/class にアップロードし、[ d3forum の管理画面 - 一般設定 - SPAM投稿チェック用クラス ] に 「default_ktai」と指定してください。

*** mailbbs (写メールBBS) [#d0ec1420]

Version 2.3.6 で、携帯対応レンダラーに対応しました。Ver 2.3.6 以降をお使いください。

- [[最新バージョンをCVSからダウンロード:http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/hypweb/mailbbs.tar.gz?only_with_tag=MAIN&view=tar]]

*** yomi (Yomiサーチ) [#d820213d]

Version 0.89 にて、サイトバナーの表示に対応しました。

- [[最新バージョンをCVSからダウンロード:http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/hypweb/yomi.tar.gz?only_with_tag=MAIN&view=tar]]

*** テンプレートでよく使う絵文字 (i-mode 基準) [#idd98a6b]

|TLEFT||||c
|~絵文字     |~絵文字コード  |~意味|~主な使用例|h
| ((i:f952)) | &#40;(i:f952)) |ペン|投稿する|
| ((i:f9be)) | &#40;(i:f9be)) |鉛筆|投稿数|
| ((i:f955)) | &#40;(i:f955)) |人型|投稿者|
| ((i:f8c4)) | &#40;(i:f8c4)) |家型|居住地・ホームページ|
| ((i:f95e)) | &#40;(i:f95e)) |時計|投稿日時|
| ((i:f982)) | &#40;(i:f982)) |New |最終更新・最新投稿|
//| ((i:)) | &#40;(i:)) |||

** 制限について [#w92fcd11]

サーバーの PHP が PHP 4.3.0 未満、又は PHP 5 未満で Web サーバーが Apache でない場合、header('Location: ...') でリダイレクトしているところでセッションが切れてしまいます。ログイン状態であっても、そこでログアウトしてしまうということです。

可能であれば、HTTP Header を検査して Location であれば、セッションID付きURLに書き換えることでセッションが切れないようになっていますが、未対応の環境下ではそれを行うことができないので、携帯対応レンダラー側で対処することはできません。

未対応の環境下サーバーで、リダイレクト時にセッションが切れないようにする方法は以下の2つの方法があります。

+ XOOPS の関数 redirect_header() を使用する
+ Location によるリダイレクト時に URL にセッションIDを追加する

例えば、

#code(php,nonumber){{
header('Location: ' . $url);
}}

となっているところを次のように変更します。

- 1. redirect_header() 使用
#code(php,nonumber){{
if (defined('HYP_K_TAI_RENDER') && HYP_K_TAI_RENDER) {
	redirect_header('Location: ' . $url);
} else {
	header('Location: ' . $url);
}
}}

- 2. セッションIDを追加
#code(php,nonumber){{
if (defined('HYP_K_TAI_RENDER') && HYP_K_TAI_RENDER) {
	$ktairender =& HypKTaiRender::getSingleton(); // リファレンス取得
	$url = $HypKTaiRender->getRealUrl($url);      // 相対URLなら絶対URLに変換 (要: Ver. 20090104 以降)
	$url = $ktairender->addSID($url, XOOPS_URL);  // セッションIDを付加
}
header('Location: ' . $url);
}}

** 意見・要望 [#fe659f99]
- 意見要望を書くところが、あちこち探したがよくわからなかったのでここにコメント欄を作ってみました。 -- [[通りすがりさん]] &new{2008-08-17 (Sun) 10:16:25};
- 携帯判定にWILLCOMと、e-mobileを是非入れて欲しい。 -- [[通りすがりさん]] &new{2008-08-17 (Sun) 10:16:34};
- directLinkHosts に、Adsenseのgooglesyndication.comを入れて欲しい -- [[通りすがりさん]] &new{2008-08-17 (Sun) 10:32:53};
-- WILLCOM と e-mobile の端末の多くは、PCサイトブラウザを搭載していてほとんどのユーザーは、それでアクセスしているので、携帯対応はかえってユーザーの不利益になるという認識なのですが、如何でしょうか。(このあたり、私は詳しくないので間違っているかもしれません。)&br;Adsense対応に関しては、hyp_preload.conf.php にて設定していただければよいと思いますが、規定値に設定しておいたほうがよさそうなら加えておきます。 :-)  -- [[nao-pon]] &new{2008-08-17 (日) 21:38:06};
- e-mobileはよく分かりませんが、WILLCOMのPCサイトブラウザは、端末の能力が他社端末に比べ低く抑えられていることや通信回線の遅さから、依然として非力であり、まだ今1つ実用的とは言えない状態です。むしろドコモやauのPCサイトブラウザの方がよほど快適なくらいで…従いまして、軽いページに対する需要は十分あると思われます。1ユーザーとして、WILLCOMの携帯対応をデフォルトで行っていただけると、大変有り難いです。 -- [[通りすがりさん]] &new{2008-09-20 (土) 23:49:44};
-- そのような事情があるのですね。仕様を調べた上で対応を検討しますね。 :-)  -- [[nao-pon]] &new{2008-09-21 (日) 21:06:49};
-- まずは、このサイトでWILLCOMのケータイモードを対象にしてみました。&br;[[[携帯対応レンダラー] WILLCOM対応 レポート募集中 - XOOPSマニア:http://xoops.hypweb.net/modules/forum/index.php?topic_id=2461]]にレポートを頂けると助かります。 -- [[nao-pon]] &new{2008-09-23 (火) 10:58:50};
- お世話になります。 -- [[しょぼ]] &new{2008-10-18 (土) 20:51:47};
- 初心者なので、初歩的なご質問をさせていただくことをご了承ください。 各設定を行って、無事に携帯でmobile版表示ができたのですが、メインメニューもブロックもコンテンツも表示されません。何が原因なのでしょうか?ご指導いただければ幸いです。 xoopsバージョンは2.0.16で上記の設定通り行ったつもりです。宜しくお願い致します。 -- [[しょぼ]] &new{2008-10-18 (土) 20:56:16};
- Hタグを任意で無効にできる機能があると・・・最高っす! -- [[通りすがりさん]] &new{2009-02-18 (水) 17:43:32};
- 携帯レンダラーでのpiCALの携帯対応について教えてください -- [[通りすがりさん]] &new{2009-09-16 (水) 12:38:03};
- つかっちゃう -- [[通りすがりさん]] &new{2010-04-07 (水) 19:53:30};
- すみません。素人で・・・ブロックIDの調べ方がわかりません。 -- [[通りすがりさん]] &new{2010-10-24 (日) 23:02:23};
-- hypconf モジュールにて簡単に設定できるようになりました。ご活用ください。
- iphoneとアンドロイドの場合に別のテンプレートに飛ばしたいのですが -- [[通りすがりさん]] &new{2012-02-04 (土) 17:07:24};
-- 携帯用XOOPSテーマセット と 携帯用XOOPSテンプレートセット は、それぞれキャリア別に設定できるようになっています。上記の [[設定(hyp_preload.conf.php)>#gacdaf31]] を参考にしてください。テーマセットは適用するテーマ、テンプレートセットは適用するDBテンプレートセット名になっています。DBテンプレートよりもテーマ下テンプレートが優先されますので、テーマ下テンプレートをご利用の場合はご留意ください。 -- [[nao-pon]] &new{2012-02-05 (日) 11:28:32};

#comment


#navi

« Prev[5]  Next »[6]