カテゴリ | デザイン・CSS・スキン |
---|---|
サマリ | ユーザーがskinを変更できるようにしたい |
バージョン | 1.4.7 |
投稿者 | F.C. |
状態 | 完了 |
投稿日 | 2012-02-15 (水) 17:22:31 |
こんにちは、いつもお世話になっています。
スマホ版Pukiwikiを作ろうと思っているのですが、それだけであれば、UAを判別してskinファイルを切り替えれば済む話です。 しかし、スマホユーザーの中にはPC版サイトをスマホから見たいと思っていらっしゃる方もいるかと思うので、skinファイルをユーザーが変更できるようにする機能が欲しいです。
そこで、PukiWiki公式サイトを検索したら、以下のskin.inc.phpが出てきました。
このページに掲載されている通りに「default.ini.php」「html.php」「func.php」の3箇所を修正し、pluginフォルダにskin.inc.phpをアップロードして、Menubarに
#skin
と書きましたが、バージョンが古いためか分かりませんがうまくいきませんでした(私が使用しているのは1.4.7ですが、そのページでは1.4.3をもとに説明されています)。 差分に示されている部分も若干記述が違っていたので、変更箇所を間違えた可能性もあります。
できれば、現行の1.4.7に「ユーザーがskinを変更できる機能」を追加する手順をご教授いただければ幸いです。 回答よろしくお願いします。
if (exist_plugin_convert('skin')) echo do_plugin_convert('skin',pukiwiki);と記述しましたが、駄目でした(上の例ではskinをpukiwiki.skin.phpに切り替える)。 -- F.C. 2012-02-16 (木) 00:41:37
//skinの切り替え if( isset($_COOKIE['skin']) ){ // クッキーがあれば読み出し $usr_skin=$_COOKIE['skin']; }else{//なければ $expire = time() + 2592000; //cookie(skin)の有効期限(30日) setcookie('skin', 'sp', $expire);//skin切り替え用のcookieをセット } if($usr_skin=='pc'){ $set_skin='default'; }else{ $set_skin='s_phone'; }
<?php $ref = $_SERVER['HTTP_REFERER'];//リファラー(訪問元URL)を変数$refに格納 $expire = time() + 2592000; //cookieの有効期限(30日) setcookie('skin', 'sp', $expire); if($_COOKIE['skin'] == 'sp'){//元のskinがスマホ用ならPC用に変更 $skin='pc'; }elseif($_COOKIE['skin'] == 'pc'){//元のskinがPC用ならスマホ用に変更 $skin='sp'; } setcookie('skin', $skin, $expire);//cookieをセット header("Location: $ref");//元のページへリダイレクト ?>