LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Wiki

携帯対応

携帯対応レンダラー anchor.png

 XCLだけでなく、X2サイト丸ごと携帯対応してくれるレンダリングシステム。HypCommonFuncの中の1機能として提供される。

機能
携帯アクセスのための、レンダリング、簡単ログイン、不要タグ削除、外部サイトリンク用リダイレクト、テーマ下テンプレートの利用、携帯絵文字入力と表示、など
種別
ユーティリティ (非モジュール)
作者
nao-pon
バージョン
HypCommonFunc(XOOPSマニア) Ver 20090125
動作環境
XOOPS2.0 (XOOPS2.0.16a-JP以外未検証?)
XOOPS Cube Legacy 2.1
HypCommonFunc使用、HypCommonPreLoad適用
配布元
XOOPSマニア
複製
Page Top

概要 anchor.png

 X2、XCLどちらのサイトも、同じ形式で携帯対応が可能となるレンダラーシステム。 X2サイトを携帯レンダラーで運用していて、XCLサイトの操作性も統一しておきたい場合にも有効。  XOOPS2の場合、プリロードのインストールと設定に一手間かかります。

Page Top

インストール anchor.png

Page Top

HypCommonFuncのアップロード anchor.png

Page Top
簡単導入パック anchor.png

CVS からダウンロードする最新版は解凍後のディレクトリ構造が異なっているため、アップロード作業が煩雑になりますので、ディレクトリ構造を整理した簡単導入パックが用意されています。(ただし、バージョンが若干古い場合があります。)

Page Top
簡単導入パックのアップロード方法 anchor.png

サーバーにアップロードする場合は以下のように行ってください。

  1. html ディレクトリの中身を XOOPS_ROOT_PATH へアップロード。
  2. xoops_trust_path ディレクトリの中身を XOOPS_TRUST_PATH へアップロード。
  3. XOOPS 2 系のみ、core_addons/html_2.0.16aJP ディレクトリの中身を XOOPS_ROOT_PATH へアップロード。
    (XOOPS Cube Legacy の場合は、このディレクトリは必要ありません。)
  4. パーミッション設定などを参照して適切に設定する。
  5. 必要に応じて、K-tai_emoji.zip を解凍後、html ディレクトリの中身を XOOPS_ROOT_PATH へアップロード。
Page Top

パーミッション設定など anchor.png

  • ファイル作成権限が必要なディレクトリ (例: 707 など。ディレクトリがなければ作成する。)
  • [html側]
    • XOOPS_ROOT_PATH/class/hyp_common/cache
  • [trust側]
    • XOOPS_TRUST_PATH/cache (簡単ログイン機能で使用します)
    • XOOPS_TRUST_PATH/class/hyp_common/favicon/cache
Page Top

HypCommonPreLoad anchor.png

HypCommonFuncを導入します。

  1. Ver 20080604 以降では、すべての機能が無効になっていますので、必要に応じて各機能を有効にしてください。
Page Top
XOOPS Cube Legacy の場合 anchor.png
  1. Cube の XOOPS_ROOT_PATH/preload ディレクトリに アーカイブの html/preload/HypCommonPreLoad.class.php をアップロードされていることを確認してください。
Page Top
XOOPS 2 の場合 anchor.png
  1. 以前に HypCommonFunc, 検索語マーカー, BBQあらしお断りシステム などを 組み込んでいた場合は、common.php を元の状態に戻します。
  2. 検索語マーカー を組み込んでいた場合は、XOOPS_ROOT_PATH/footer.php を元の状態に戻します。
  3. XOOPS_ROOT_PATH/include/common.php を編集します。
    // ############## Include common functions file ##############
    include_once XOOPS_ROOT_PATH.'/include/functions.php';
    // ############# Set Query Words & Load HypCommonFunction Class #############
    include_once XOOPS_TRUST_PATH . '/class/hyp_common/preload/hyp_preload.php';
    $HypCommonPreLoad = @ new HypCommonPreLoad();
    $HypCommonPreLoad->preFilter();
    を挿入。
    if (file_exists('./xoops_version.php')) {
    // ############# POST Filter with HypCommonPreLoad #############
    $HypCommonPreLoad->postFilter();
    を挿入。 面倒な人のために、ハック済み版のfilecommon.phpが用意されています。
Page Top
HypCommonPreLoadの設定 anchor.png
Page Top

アップデート anchor.png

アップロード済のHypCommonFunc各ファイルを更新するだけで完了です。(設定が追加されていれば、編集します。)

Page Top

アンインストール anchor.png

  1. XCLの場合 アップロード済のHypCommonFunc各ファイルを削除すれば完了です。
  2. X2の場合 更に、xoops_root_path/common.phpを元に戻す必要があります。
Page Top

知っておくべき事 anchor.png

(使用方法を説明する前に知っておくべき概念や用語などの説明)

Page Top

設定 (hyp_preload.conf.php) anchor.png

  • "XOOPS_TRUST_PATH/class/hyp_common/preload/hyp_preload.conf.php" を編集して設定をします。該当ファイルがない場合は、同じディレクトリに含まれている "hyp_preload.conf.php.rename" をリネームしてください。
  • 複数のサイトを1つのtrust_pathで運用している場合は、"XOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php" を編集してサイト毎に設定を変えることができます。該当ファイルがない場合は、上記trust側ディレクトリに含まれている "hyp_preload.conf.php.rename" をリネームしてください。

以下、携帯対応レンダラー関連の設定項目

Page Top

携帯対応レンダラーを有効に anchor.png

    • 有効にするには、「1」とします。
       // 各機能のメインスイッチ (On = 1, Off = 0)
       $this->use_k_tai_render      = 0; // 携帯対応レンダラーを有効にする
Page Top

サイトごとの設定 anchor.png

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

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

Page Top
各設定値のキー名に #[XOOPS_URL] を付加する方法 anchor.png

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

例えば、$this->k_tai_conf['disabledBlockIds'] の設定を http://www.xugj.org に対して行いたい場合は、

1
$this->k_tai_conf['disabledBlockIds#http://www.xugj.org'] = array('55','63','154','67','106','34');

のように設定します。

※ trust側で設定する場合は、XOOPS_ROOT_PATH/class/hyp_common/hyp_preload.conf.php を設置してはいけません。

Page Top
XOOPS_ROOT_PATH(html側)/class/hyp_common/hyp_preload.conf.php にて設定する方法 anchor.png

各サイトの 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 は読み込まれなくなります。

Page Top

携帯端末判定用 UA 正規表現 anchor.png

    • この部分は変更なしで大丈夫ですが、3大キャリア以外も同様に携帯対応レンダラーを通したい場合は、「携帯端末判定用 UA 正規表現」に追加が必要です。
      // 携帯端末判定用 UA 正規表現
      $this->k_tai_conf['ua_regex'] = '#(?:SoftBank|Vodafone|J-PHONE|DoCoMo|UP\.Browser)#';
Page Top

携帯用テーマセット名 anchor.png

    • /html/themes/ディレクトリ内に配置する、携帯用のテーマセット名です。 デフォルトではXOOPS_ROOT_PATH/themes/ktai_default/にモバイル用テーマセットがあります。 このテーマセットは通常のテーマセットと同様に複製したり改変することもできますが、"ktai_default"の部分を変更した場合は設定を変更する必要があります。
      // 携帯用テーマセット
      $this->k_tai_conf['themeSet'] = 'ktai_default';
Page Top

携帯用XOOPSテンプレートセット名 anchor.png

    • ver20080818より、携帯用XOOPSテンプレートセットが使えるようになりました。 DBテンプレートに携帯用テンプレートを入れて使用する場合、ここにテンプレートセット名を記載します。
      // 携帯用XOOPSテンプレートセット
      $this->k_tai_conf['templateSet'] = '';
       このとき、テンプレートセットの読み込み順は
      1. テーマ下テンプレート
      2. 上記設定による携帯用DBテンプレート
      3. 通常のDBテンプレート

 となります。

Page Top

使用テンプレート名 anchor.png

    • xoopsのDBテーマセットの「default」を差すのではなく、XOOPS_TRUST_PATH/class/hyp_common/ktairender/templates/default ディレクトリを指していて、このディレクトリには、携帯対応レンダラーで最終的に使うテンプレート header.html, body.html, footer.html が含まれています。
      // 使用テンプレート
      $this->k_tai_conf['template'] = 'default';
Page Top

ブロックのコントロール anchor.png

HypCoomoFunc Ver 20090111 以降(ktai_defaultテーマ)で、ブロックはサブメニューとしてタイトルを一覧表示するようになっています。

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

  • 特定のブロックを常に表示したい

    特定のブロックを、メインコンテンツと共に常に表示することができます。

    メインメニューやユーザーメニューは常に表示させておくと便利でしょう。

    設定は、

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

    で行います。

  • 特定のブロックを無効にしたい

    特定のブロックを無効にすることができます。

    設定は、

    // 非表示にするブロックの bid (Block Id)
    $this->k_tai_conf['disabledBlockIds'] = array();

    で行います。

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

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

// 非表示にするブロックの bid (Block Id)
$this->k_tai_conf['disabledBlockIds'] = array(3, 5, 10);
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 へアップロードする必要があります。
Page Top

インラインイメージのリサイズ最大ピクセル anchor.png

    • HypCommonFunc Ver. 20080820.1以降、携帯対応レンダラーで大きなサイズのインラインイメージをリサイズし、リサイズ後の画像を出力するようになりました。 リサイズ後のサイズは、規定値で Width:200px, Height:200px の範囲に収まるようになっていますが、下記設定値の書き換えで変更できます。
// インラインイメージのリサイズ最大ピクセル
$this->k_tai_conf['pictSizeMax'] = '200';
Page Top

インラインイメージを表示するホスト名 anchor.png

  • 外部サイトのイメージを埋め込んで表示するには、そのサイトのURLをここで指定する必要があります。
    • 閲覧端末から外部サイトへ直接アクセスさせない場合
    • ここで指定したホストの画像はサーバー上にキャッシュしたファイルを参照しますので、閲覧端末から外部サイトへのアクセスはありません。
      // インラインイメージを表示するホスト名(後方一致)
      $this->k_tai_conf['showImgHosts'] = array('amazon.com', 'yimg.jp', 'yimg.com', 'ad.jp.ap.valuecommerce.com', 'ba.afl.rakuten.co.jp', 'assoc-amazon.jp', 'ad.linksynergy.com');
    • 閲覧端末から外部サイトへ直接アクセスさせる場合
    • ここで指定したホストの画像は、閲覧端末から直接外部サイトにアクセスします。閲覧者を保護するため信頼できるサイトのみ指定してください。
      // 直接画像を表示するホスト名(後方一致)
      $this->k_tai_conf['directImgHosts'] = array('google-analytics.com');
Page Top

リダイレクトスクリプトを経由しないホスト名 anchor.png

    • リダイレクトスクリプトを経由せずに直接ジャンプさせるには、そのサイトのURLをここで指定する必要があります。
      // リダイレクトスクリプトを経由しないホスト名(後方一致)
      $this->k_tai_conf['directLinkHosts'] = array('amazon.co.jp', 'ck.jp.ap.valuecommerce.com');
      // 外部リンク用リダイレクトスクリプト
      $this->k_tai_conf['redirect'] = XOOPS_URL . '/class/hyp_common/redirect.php?l=';
Page Top

簡単ログイン設定 anchor.png

    • 簡単ログインを使用するには、ここで設定します。
      // Easy login を有効にする
      $this->k_tai_conf['easyLogin'] = 1;
      // Easy login で IP アドレス帯域をチェックしない
      $this->k_tai_conf['noCheckIpRange'] = 0;
      // リンクメッセージ
      $this->k_tai_conf['msg']['easylogin'] = '簡単ログイン';
      $this->k_tai_conf['msg']['logout'] = 'ログアウト';
Page Top

XOOPS のテーマ調整 anchor.png

HypCommonFunc Ver 20080717 以降では、デフォルトで携帯対応レンダラー専用のテーマセット(ktai_default)を使用し、各モジュールのテーマ下テンプレートに対応しています。

    • 携帯対応レンダラー専用のテーマセットを使用しない場合は、設定で
      // 携帯用テーマセット
      $this->k_tai_conf['themeSet'] = '';
      とします。その場合は、通常のテーマセットが使用されます。)

通常使用するテーマセットが DIVレイアウトの場合は、そのままでもある程度、携帯で見やすい形で表示されますが、TABLE レイアウトの theme では、コンテンツ部分を先に表示したりと、HTMLの再構成をしないと、実用的でない場合があります。

HTML の再構成をする場合は、携帯対応レンダラーが適切に部分抽出できるように、簡単なタグを仕込む必要があります。

Page Top

HTML 再構成用タグの説明 anchor.png

使用できるタグは、設定項目にある「HTML再構築用タグ設定」のキーワードを利用したタグなります。規定値では、次のタグが使えます。

開始タグ終了タグ
<!--headerlogo--><!--/headerlogo-->
<!--headerbar--><!--/headerbar-->
<!--breadcrumbs--><!--/breadcrumbs-->
<!--leftcolumn--><!--/leftcolumn-->
<!--centerCcolumn--><!--/centerCcolumn-->
<!--centerLcolumn--><!--/centerLcolumn-->
<!--centerRcolumn--><!--/centerRcolumn-->
<!--content--><!--/content-->
<!--rightcolumn--><!--/rightcolumn-->
<!--footerbar--><!--/footerbar-->
<!--HypKTaiIgnore--><!--/HypKTaiIgnore-->

"<!--HypKTaiIgnore-->" 以外のそれぞれのタグで囲まれた範囲が、XOOPS_TRUST_PATH/class/Hyp_common/ktairender/templates/default ディレクトリ内にある

  • header.html [ページヘッダ]
  • body.html [コンテンツ部分(必要に応じて分割され、ページナビゲーションが付加されます)]
  • footer.html [ページフッタ]

各ファイルの該当キーワードタグと置換され、「HTML再構築用タグ設定」の 各キーの 'above' の内容が前方に、'below' の内容が後方に挿入されます。

例外として、"<!--HypKTaiIgnore-->" と "<!--/HypKTaiIgnore-->" で囲まれた範囲は、出力から除去されます。*1

例えば、XOOPS Cube Legasy の "cube_default" テーマにおいて、"leftcolumn" を設定する場合は、theme.html に、次のような箇所があると思います

Everything is expanded.Everything is shortened.
 
 
 
 
 
 
 
 
 
 
<{if $xoops_showlblock == 1}>
<td id="leftcolumn" class="leftcolumn">
<!-- Start left blocks loop -->
<{foreach item=block from=$xoops_lblocks}>
<div class="leftblockTitle"><{$block.title}></div>
<div class="leftblockContent"><{$block.content}></div>
<{/foreach}>
<!-- End left blocks loop -->
</td>
<{/if}>

これを次のようにします。

Everything is expanded.Everything is shortened.
 
 
 
 
 
 
 
 
 
 
 
 
<{if $xoops_showlblock == 1}>
<td id="leftcolumn" class="leftcolumn">
<!-- Start left blocks loop -->
<!--leftcolumn-->
<{foreach item=block from=$xoops_lblocks}>
<div class="leftblockTitle"><{$block.title}></div>
<div class="leftblockContent"><{$block.content}></div>
<{/foreach}>
<!--/leftcolumn-->
<!-- End left blocks loop -->
</td>
<{/if}>

注意すべき点は、<{foreach ... }> ~ <{/foreach}> を崩さないようにすることです。

また、携帯対応レンダラーを使っている場合は、Smarty変数の $smarty.const.HYP_K_TAI_RENDER が TRUE になりますので、この値で、場合分けができます。

このようにして、携帯対応レンダラー用タグを仕込んだ "cube_default" テーマの filetheme.html が提供されています。

Page Top

使用方法 anchor.png

  1. 携帯電話から、PCと同じURLにアクセスします。
  2. ページ上部の[簡単ログイン]のリンクからログインをすると、次回からは[簡単ログイン]からアクセスするだけでログインできます。
    • アカウント情報のページで、簡単ログインの設定・解除を行うことができます。
    • 一つのアカウントに複数の端末を登録することができます。
    • 一台の端末に複数のアカウントを設定することはできません。
Page Top

管理画面 anchor.png

今のところありません。

Page Top

ブロック anchor.png

ありません。

Page Top

イベント通知の種類 anchor.png

ありません。

Page Top

Tips anchor.png

Page Top

よくある質問 anchor.png

Page Top

XCLサイトのWizMobileで使用しているテーマ下テンプレートは、X2やXCLサイトの携帯対応レンダラーで共用できますか? anchor.png

 モバイルテンプハウスで配布中の単純に簡素化しただけのテンプレートであれば、基本的には問題なく共用できるはずです。 mbxoopsさん配布のテーマ下テンプレートは、そのままでは動かないこともあるかも知れません。(未検証)

Page Top

d3forumで、ゲスト書き込みができません anchor.png

 d3forum では、スパム対策のデフォルトフィルターで、ゲスト投稿時に JavaScript を利用してフィルタリングを行っていますが、このフィルターが有効になっていると、ゲストが携帯で投稿することができません。  これを回避するには、ここに書かれた方法でd3forum側の手立てが必要です。

Page Top

ライセンス anchor.png

GPL

Page Top

関連モジュール anchor.png

モジュール名説明配布先
           

*1 HypCommonFunc >= 20080626

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 26905, today: 1, yesterday: 10
初版日時: 2008-08-14 (木) 21:08:09
最終更新: 2014-01-13 (月) 22:06:02 (JST) (1379d) by naao
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities