携帯サイトへの対応など
さて、Nucleusを使ってちょっと本格的にモバイルサイトへの対応を考える。
Nucleusのプラグインには、NP_Moblieというプラグインがある。これ、アクセスしてきたUAを判別し、携帯電話ならば
基本NP_MoblieWithSinglePageを使って表示。だけれど、最初にHeaderで宣言を追加しておく必要があるようだ。
そういうわけで、
これで一通りの携帯対応が終了。なんとか色つきで見られるサイトができた。
Nucleusのプラグインには、NP_Moblieというプラグインがある。これ、アクセスしてきたUAを判別し、携帯電話ならば
- 文字コードをSJIS
- スキンを携帯電話ように
- 本文中のタグを一部残して除去
- 本文の文字数を制限
- 携帯電話用のURLにリダイレクト
基本NP_MoblieWithSinglePageを使って表示。だけれど、最初にHeaderで宣言を追加しておく必要があるようだ。
そういうわけで、
function event_PreSkinParse
に、 // header送信
header('Content-Type: application/xhtml+xml; charset=Shift_JIS');
header("Pragma: no-cache");
echo '<?xml version="1.0" encoding="Shift_JIS"?>';
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
のように、Docutypeの宣言を追加。また、携帯電話の場合に表示の変更が必要なプラグインには、function MobileUA() {
global $CONF;
$ua = serverVar('HTTP_USER_AGENT');
$isMobile = (
preg_match('/DoCoMo|J\-PHONE|UP\.Browser|KDDI\-|Vodafone|SoftBank/i', $ua) &&
!$CONF['UsingAdminArea']
);
return $isMobile;
}
という、携帯を判別するためのファンクションを追加。これで一通りの携帯対応が終了。なんとか色つきで見られるサイトができた。
宿表示のプラグインNP_TrRelated
昨日作ったプラグイン
宿を紹介するプラグイン【農場主の日常】
参考にしたのはNP_Related。記事投稿画面から、エリアを選択すると、そのエリアの宿を5件表示する。
昨日表示はできたので、次の段階としてランダムに5件表示、横にGoogleMapsを表示して、A~Eのアイコンを表示。リストにA~Eのアルファベットを表示してやる。そして、下にるるぶトラベルへのリンクをつける。
そんな感じで完成。だけど、いまいちな気もする。
宿を紹介するプラグイン【農場主の日常】
参考にしたのはNP_Related。記事投稿画面から、エリアを選択すると、そのエリアの宿を5件表示する。
昨日表示はできたので、次の段階としてランダムに5件表示、横にGoogleMapsを表示して、A~Eのアイコンを表示。リストにA~Eのアルファベットを表示してやる。そして、下にるるぶトラベルへのリンクをつける。
そんな感じで完成。だけど、いまいちな気もする。
宿を紹介するプラグイン
旅行関係のブログをやっていて、少しそれ向けのプラグインを作ってみようかなと。
たとえば、
秋葉を少し歩く【農場主の漫遊記】
のような記事。記事の内容は秋葉なのだけれど、そこ周辺の宿を表示するプラグインを作るのはどうかなと。
とりあえず、数箇所の旅行代理店のデータは手に入る。その中から、るるぶトラベルのデータを表示することに。
地域を入力すると、その中から5件のデータを記事の下に表示するというプラグイン。
とりあえず、リスト表示はOK。だけど、リストだけじゃちょっとさびしい。横に地図を表示できたらいいのだけれどね。
たとえば、
秋葉を少し歩く【農場主の漫遊記】
のような記事。記事の内容は秋葉なのだけれど、そこ周辺の宿を表示するプラグインを作るのはどうかなと。
とりあえず、数箇所の旅行代理店のデータは手に入る。その中から、るるぶトラベルのデータを表示することに。
地域を入力すると、その中から5件のデータを記事の下に表示するというプラグイン。
とりあえず、リスト表示はOK。だけど、リストだけじゃちょっとさびしい。横に地図を表示できたらいいのだけれどね。
家でのNucleusデバッグ環境の文字化け
先日、XAMPPを使って家のPCにデバッグ環境を作ったのは良いのだけれど、Nucleusをインストールするとどうも文字化けする。
NucleusはUTF8。データベースをみると、特殊記号が混ざったような状態。
これは、XREAの新しいサーバに移行したときも起こったのだけれど、こちらはどうにも直らない。
サーバにアップロードしてあるサイトのファイルと、データベースの内容を書き戻しても、だめ。
具体的には、phpMyAdminで見るデータベースの内容が文字化け。投稿しても文字化けという状態。
これ、いくつか問題点があった部分を列挙。
まず、デフォルトのデータベースの文字コードについて。何も設定していない場合、データベースの照合順は、「latin1_general_ci」となり、文字コードは「latain1」になる。
このまま使うと、見事に文字化けが起こるので、MySQLの設定で、デフォルトの照合順を「utf8_general_ci」,文字コードを「utf8」に変更する。
そしてNucleus本体側。/nucleus/libs/globalfunctions.phpファイルのデータベースの接続直後に
mysql_query("SET NAMES utf8");
を記載。でもこれ、最新版のNucleusには回避策が入っているように見える。
そんな感じでNetの情報を集めて対策してみたのだけれど、どうしても文字化けが直らない。
何でかなあとphpMyAdminを眺めていたら、テーブルがすべて「latin1_general_ci」のままだったことに気がつく。
デフォルトの照合順を「utf8_general_ci」に変更しても、すでに作成されたテーブルの照合順は変更されるわけじゃないわな。
phpMyAdminでテーブルを選び、「操作」タブから照合順を「utf8_general_ci」に変更。これでやっと文字化け対策は完了。
わかってみれば単純なことなんだよな。
NucleusはUTF8。データベースをみると、特殊記号が混ざったような状態。
これは、XREAの新しいサーバに移行したときも起こったのだけれど、こちらはどうにも直らない。
サーバにアップロードしてあるサイトのファイルと、データベースの内容を書き戻しても、だめ。
具体的には、phpMyAdminで見るデータベースの内容が文字化け。投稿しても文字化けという状態。
これ、いくつか問題点があった部分を列挙。
まず、デフォルトのデータベースの文字コードについて。何も設定していない場合、データベースの照合順は、「latin1_general_ci」となり、文字コードは「latain1」になる。
このまま使うと、見事に文字化けが起こるので、MySQLの設定で、デフォルトの照合順を「utf8_general_ci」,文字コードを「utf8」に変更する。
そしてNucleus本体側。/nucleus/libs/globalfunctions.phpファイルのデータベースの接続直後に
mysql_query("SET NAMES utf8");
を記載。でもこれ、最新版のNucleusには回避策が入っているように見える。
そんな感じでNetの情報を集めて対策してみたのだけれど、どうしても文字化けが直らない。
何でかなあとphpMyAdminを眺めていたら、テーブルがすべて「latin1_general_ci」のままだったことに気がつく。
デフォルトの照合順を「utf8_general_ci」に変更しても、すでに作成されたテーブルの照合順は変更されるわけじゃないわな。
phpMyAdminでテーブルを選び、「操作」タブから照合順を「utf8_general_ci」に変更。これでやっと文字化け対策は完了。
わかってみれば単純なことなんだよな。
Webサーバのテスト環境を構築(xampp for windows)
10/07/25 | Webネタ・サイト更新 , Nucleus | サクラキャンドル
少しまともにサイトをいじろうと思うと、ローカル環境にPHPやMySQLが動作する環境があった方が良いと思い立つ。
ただブログをやるだけならいらないのだけれどね。
ApacheやPHP、MySQLをインストールして環境を作るパッケージに、XAMPPというものがある。
apache friends - xampp for windows
サーバを立てる場合に必要なファイルがすべてあるという優れもの。早速これをインストールして設定。
インストールは成功して、Nucleusを動かそうとするとエラーが。どうも、XAMPP 1.7.3ではエラーがでて動かないらしい。
昔のNucleus本を引っ張り出してみると、そこには1.7.1にインストールした記事がある。
そういうわけで、少し古い1.7.1をインストール。もちろん、外部からはアクセスできないように設定する。
そのあとは普通に動作。サーバのバックアップファイルを書き戻してみても、まったく問題なく。これならばいろいろできそうだ。
ただブログをやるだけならいらないのだけれどね。
ApacheやPHP、MySQLをインストールして環境を作るパッケージに、XAMPPというものがある。
apache friends - xampp for windows
サーバを立てる場合に必要なファイルがすべてあるという優れもの。早速これをインストールして設定。
インストールは成功して、Nucleusを動かそうとするとエラーが。どうも、XAMPP 1.7.3ではエラーがでて動かないらしい。
昔のNucleus本を引っ張り出してみると、そこには1.7.1にインストールした記事がある。
そういうわけで、少し古い1.7.1をインストール。もちろん、外部からはアクセスできないように設定する。
そのあとは普通に動作。サーバのバックアップファイルを書き戻してみても、まったく問題なく。これならばいろいろできそうだ。