Web Games

年・月別アーカイブ

最近のエントリー

またしてもだいぶ期間があいてしまったが、FoxArcadeを使ったサイトリニューアル、最後の仕上げ。
●Sitemap、RSS
  • system\application\config\routes.phpに以下の2行を追加する。
    $route['rss'] = "frontend/rss";
    $route['sitemap'] = "frontend/sitemap";
    これで/rss、/sitemapの両パスが有効になる。
  • system\application\controllers\frontend.phpにshow_sitemap()とshow_rss()を追加
    sitemapもRSSもxml出力なので、frontend.phpではload_viewではなく、load->viewを記述する
    templates\default\rss.phpと、同じくsitemap.phpを書く
    RSSのヘッダにサイト全体の情報(タイトルとdescription)を使いたかったので、テンプレートをrssheaderとrssに分割してみた。
    1行目の<?xmlをecho出力にするのも忘れずに
  • robots.txtにsitemapを記述

●RSS→Twitter連携
RSS出力自体も重要ではあるのだが、Playground@千正.comのような弱小サイトのRSSを購読してくれる奇特な方がそうそういるとも思えない。Playground@千正.comにおけるRSS出力の目的は、ずばり、Twitter連携である。RSSから自動でTweetするサービスはいくつかあるが、今回はFeedburnerを利用してみた。

●Analytics
Google Analyticsサイトで取得したスクリプトをheader.phpに追加

●SocialButton設置、OpenGraphProtocol対応
/js/配下にjqueryとjquery.socialbuttonをアップロード。
header.phpにソーシャルボタンの記述とオープングラフプロトコルの記述を追加する。
header.phpの記述をシンプルに保ちつつ、ページ固有の値を記述するために、frontend.phpをいじったが、これは明らかにやりすぎ。
style.cssにソーシャルボタンの記述も必要。
frontpageとcategoryについてはog:imageを複数記述する(こうすることで、FacebookでShareする際に引用する画像を選択できる)


前回からだいぶ間が開いてしまった。見栄えの調整として以下を実施した。
  • favicon設置
    favicon.ico設置、templates\default\header.phpにfavicon関連の記述を追加
  • Adsense
    Adsenseの管理ページで取得したコードをFox Arcade管理画面に貼り付けるだけ。Aboveにリンクユニット、Belowに大きめバナー、SidebarにWide Scraper
  • ロゴマーク(大106x105小80x79)
    templates\default\images\foxarcade_logo_small.pngを差し替えればいいのだが、適切なものを用意するのが面倒なので、templates\default\header.phpの21行目からimgタグを削除。
  • HTML文法に従うよう、修正
    表示テンプレートはtemplates\defaultに集まっているので、修正。特にheader.php。一部内部処理を書き換える必要あり。system\application\helpers\view_helper.php内、get_template_icon()。
    記述をXHTMLにするなら1行目の<?xmlをecho出力に変更
  • ゲームが左寄せで表示される。
    style.cssの#single_gameにtext-align:center;を追加する

さて、前回まででサイトは無事に動き始めたのだが、セキュリティ上、気になる部分がいくつかあったので修正。

  • ヘッダーの「Contact us」「Administration」のリンクは要らない
    →templates\default\header.php(18): の記述内容を「Blog」(http://quod.senmasa.com/web_games.php)に変更
  • 管理画面トップで、ニュースの取得に失敗した旨、エラー表示
    →system\application\config\constants.php(4):で、「http://foxarcade.net/public/news_source.php」を取得し、ざっくりevalして表示している。ブログのRSSでも表示してやろうかと思ったが、自己満足以上の意味はない。結局、system\application\controllers\admin\main.php(9):のcurlコマンドをコメントアウト。
    これでエラーが瞬時に表示されるように(笑)。
  • フッターのリンク先を変更する
    →各ページのフッターから「<サイト名> is powered by FoxArcade云々」でリンクが張られる。繰り返しになるがリンク先のfoxarcade.netは既に存在していない。これはcode.google.comのfoxarcade scriptのページに変更した。

あとは見栄えを調整してSEO関連の工夫をするだけ。


前回、なんとか動くところまでこぎつけたが、まだまだ直すべき点は多い。

いくつかゲームをアップしてみて、おかしなところに手を入れていく。

  • サムネイルのアスペクト比がおかしい。
    →サムネイル画像の表示サイズは100x100ピクセル固定らしいので、画像のほうを修正。
  • なんか警告が出る。
    →カテゴリーをきちんと作ることでエラー解消
  • 「タイトルは5文字以上」の制限に引っかかる。
    →system\application\controllers\admin\games.phpで、
    $this->form_validation->set_rules('title', 'title', 'required|min_length[5]');の[5]→[3]に変更。
ここで大き目の問題に。タイトルに日本語を入力すると、エラーが出てしまう。FoxArcadeでは、URLを「SEO-friendly」にする、と称してゲームタイトルを含んだURLを生成しているのだが、このタイトル変換ロジックが欧文前提の仕様になってしまっているのだ。
タイトルをすべて英文にしてしまえば解決するのだが、ここは思い切ってURLencodeしてしまった。

  • URL生成の際、ゲームタイトルをURLencodeする。
    →system\application\helpers\seo_url_helper.phpの、 function get_game_url($game_id)の中身をurlencodeに変更する。→system\application\config\config.phpでEnable Query StringsをTRUEに。
  • そうすると、エラーメッセージが変わる。
    →system\libraries\Input.phpで当該のエラーメッセージを出している関数を探し、マッチパターンに「日本語」を追加する(参考:http://phpspot.org/blog/archives/2006/12/php_67.html
この手術はやるかやらないか慎重に検討すべき。手法として安全な・正しいものかどうかもこちらとしては保証しかねます。


Playground@千正.com、またしても久々に、またしてもサイトリニューアル。
世の中には奇特な方がいるもので、FoxArcadeなるオープンソースCMSがあって、それを使うとFlashゲームを紹介するサイトが簡単に作れる。今回、実際に使ってみたらけっこう大変だったので、何回かに分けて「こんな風にやりました」を残しておこうと思う。

  • FoxArcadeをダウンロードする
    ダウンロードはGoogle Codeのこちらから→FoxArcade free arcade script
  • ダウンロードした.zipファイルを解凍し、同梱されているHOW_TO_INSTALL.txtの指示に従う
    • 解凍してできたフォルダの内容をサーバーにアップする
    • DBを新規作成し、FoxArcade_05.sqlを使ってテーブルを作成する
    • config.phpにDBへの接続用ID・パスワードなどを記述する
    • 当該サイトの/adminにアクセスし、ログインする(そしてパスワードを変更する)
    • URLをカッコよくするために、
      • htaccess.txtを.htaccessに変更、ファイル内のRewriteBaseを必要に応じ変更する(今回はサイトトップからFoxArcadeを稼動させるので"/"のままにしておく)
      • config.phpの$config['index_page']を"index.php"から""(空文字列)に変更する

■なーんだ、簡単、と/adminにアクセスしたら、エラー。ソースを覗いてみると、PHPの開始タグが短縮タグになっている。
→.htaccessに"php_flag short_open_tag On"を追加。これは環境によってphp.iniをいじれたり、そもそも短縮タグが有効だったり、いろいろあると思うので注意。
■エラーが出なくなったので、管理画面からサイト情報を登録、トップページにアクセスしてみたら…文字化け。
→FoxArcade_05.sql内で、いくつかの項目についてデフォルトのキャラクターセットを"latin1"としている。これを"utf8"に変更して解決。
■いくつかゲームをアップロードしてみたが、サムネイル画像のアスペクト比がおかしい。
→サムネイルの画像サイズは100ピクセル×100ピクセル固定、らしい。画像のほうを変更。
■個別のゲーム紹介画面を開くと何やら警告が。
→ゲームにはそれぞれカテゴリーを設定できるのだが、未設定だと警告が出るらしい。これはカテゴリーを登録して解決。

これでまあ、とりあえずゲームを登録して表示させることはできるはず。しかし、ここから更に苦闘が続くことになるとは予想してなかったなあ。


Playground@senmasa.comを久々に大きくリニューアル。たぶん4回目くらいになると思う。今回は前回リニューアルに引き続きMTでの更新だが、カテゴリー構成や個々のエントリーにあまりこだわらず、更新の頻度を高くしていきたいと考えている。その代わり、エントリーにはさまざまな切り口でタグを追加し、ブックマークのしやすさやSEO効果を狙っていく。

というわけでこのカテゴリーにも丸2年ぶりの投稿。

この季節になると思い出すのが雪合戦ゲーム「Snowcraft」。最新のフクザツなゲームに比べると素朴だが、飽きの来ない独特の味わいがある。

に「Rocket Mania」と「Heli Attack 3」を追加。

Playground@senmasa.comを追加。
このパズル、日本では既に「知る人ぞ知る」存在だが、現在ヨーロッパで大流行。世界大会まで開かれているらしい。次はぜひ、スリザーリンクを流行らせてほしい。

アーカイブ

Link