2009年3月アーカイブ

<body onload="pageTracker._trackPageview('/step01.html');">
といったコードを、それぞれのページで設定すると
同一URLのページでもトラッキングができるそうなのだが
テンプレート内で設定してもトラッキングされませんでした

このpageTrackerを利用する場合は、当然その前にこの関数が読み込まれていけないので
(FireBugでエラー表示して気づいたのですが)
フッター等でanalyticsのコードを読み込んでいる場合はnot foundになってしまいます

このような場合、ヘッダー等でanalyticsのコードを読み込むことで
not foundが解消されます
前の記事でも書いたのですが
SlavePNEでもオープン制SNSの設定を行おうと思いました。
webapp_ext/にinit.incを作成して
//define('IS_CLOSED_SNS', true);
とコメントアウトするも、一向に新規登録リンクできません
すぐにリダイレクトされてしまう、前の状況のままでした......

また、順にどこでIS_CLOSED_SNSの値が1になっているか追いかけたところ
再びinit.incにたどり着きました。

どこかの設定でしょうか?他のスクリプトはwebapp_extで動くのですが
init.incはききませんでした

webapp/init.incを直接編集したところ
無事、Slave接続でオープン制にすることに成功しました。

まだ、会員登録やら、情報変更やらは外部認証なので作りこまないとですが



[GOLD]php[/GOLD]

OpenPNEをSlavePNEにしてSOAPによる認証を行おうとしてたのですが
新規登録も受け付けなきゃならなくなりました。
SOAPなんで新規登録のフローは作り直さなきゃかなと思ってたのですが
差し当たり、管理画面の招待制の部分を有効にして更新してみました。

新規のリンクは作ってあったので
sns/?m=pc&a=page_o_public_invite
をクリックしてみても再度ログイン画面が描画されてしまいます。

DBのc_admin_configのIS_CLOSED_SNSの部分を見てもちゃんと更新はされているのですが
プログラム上ではこの値が1のままになっていました。。。

grepして探してみるとwebapp/init.inc  の中に

// 外部認証の場合は招待・新規登録はできない
if (OPENPNE_AUTH_MODE == 'slavepne') {
    // 招待用URLがPC・携帯どちらも空の場合は招待不可
    if (!(defined('SLAVEPNE_SYOUTAI_URL_PC') && SLAVEPNE_SYOUTAI_URL_PC) &&
        !(defined('SLAVEPNE_SYOUTAI_URL_KTAI') && SLAVEPNE_SYOUTAI_URL_KTAI)) {
        define('IS_USER_INVITE', false);
    }
    define('IS_CLOSED_SNS', true);
}

なる記述が。。。

既存の会員情報を生かしながら、新規を募集するとややこしくなるとは思ってたのですが
それだったらSOAP等になってる場合って管理画面で変更できないようにするのがいいような......

問題解決までは行きませんでしたが、はまり注意ということで




PHPと全く関係ないです(汗
うちの会社名は有限会社アリウープというのですが
アリウープというのはバスケットのプレーです。
当然のようにバスケット大好きで
スラムダンクはバイブルです(^^
(作品の中でもアリウープいっぱい出てきます)

でスラムダンクはちょっと中途半端な形で終わるんですが
その最終話からの10日後を描いた作品です
といってもイベントで廃校の学校の黒板に作者自ら描きまくったものを
収録したものです


まとめ読みSLAM DUNK スラムダンク 【コミックセット】
パーマリンクにて/%postname%/等を設定すると
404 Not Foundになってしまう場合がある
これを解決するためには
htaccessに
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8″
を設定する必要がある(文字コードにあわせて)

参考:Powershift

これでも日本語タイトルのページはnot foundになってしますので
この場合書くページのスラッグをアルファベット表記にして
回避することが可能
http://kashioka.net/index.php/test/hoge/日本語/のようなURIを使おうとすると
The URI you submitted has disallowed characters.
というエラーが発生した。
パラメタを扱うときに行っている正規化表現に含まれていないため発生してしますようだ
/config/config.php内の
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
の部分を
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-';
と変更し
config.phpファイルに感じを利用したために
nkfにて文字コードをUTF8に変換したところエラーが解消し
利用することが可能となったがURIの仕組みによってまだエラーが出るので
libraries/URI.php
のpregをかけている部分
if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))

if ( ! preg_match("/|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i/u", $str))
としてUTFでマッチさせてみたらエラーには解消された
結構強引に修正してしまったけど
正しい方法はどうなんでしょうか?(汗

SimpleXMLを利用した場合、結果の返り値には
SimpleXMLObjectが帰ってくる
値を表示するときはそのまま表示されるが
フレームワークのviewに渡すとき等
繰り返し処理のために配列に格納する方が便利な場合が多い
そのような場合はSimpleXMLObjectの前に(string)を置いて
型キャストしてから格納することで、通常使っている配列に変換できる
(階層が深い場合や使い方によってはstringでは無くarrayにキャストしてもよい)

    $ret = array();
    foreach($xml->Result as $val) {
        array_push($ret,(string)$val);
    }

最初、コードイグニターって呼んでました
コードイグナイタなんですね(汗

ということでインストールしてみました

 wget http://codeigniter.com/download.php
 unzip CodeIgniter_1.7.1.zip
 cd CodeIgniter_1.7.1/
 ls -la
 mv * ../
 cd ..
 chmod 0777 system/
 chmod 0777 system/cache/
 chmod 0777 system/logs/
 vi system/application/config/config.php
 vi system/application/config/database.php
 vi system/application/config/autoload.php

全てドキュメントルートで作業しました。
config.phpではURLを自分のURLに設定します
database.phpで行う定義はphpMyAdmin等で作成したものと同様に
ホスト名、データベース名、ユーザ名、パスワード、DBタイプ
を設定します
autoload.phpではデータベースを利用できるように
$autoload['libraries'] = array('database');
と設定しました

指定したURLで表示されらばインストールは完了



効果的なWEBページを調査するのにABテストというものがある
AプランとBプランのどちらが効果があるかというような事から来ていると思われるが
googleのwebsiteoptimaizerにそれを無料で試す機能がある。
アドセンスを利用していたりanalyticsにて分析を行っている方は同様の方法で
ABテストを行うことができる

ABテストの場合、必要なものは
テスト対象となるページ
比較対象となるページ
コンバージョンページである

コンバージョンページはクリックアウト等にも対応はしている

測定するためには測定用のスクリプトを貼らなければいけないのだが
コンテンツ毎の振り分けがwordpressや動的に生成している場合にはなかなか面倒だ

wordpressの場合であればis_homeやis_page()等を利用したり
footer.phpで測定スクリプトを入れる場合は
<?php if(($page_id == 272)||($page_id == 259)): ?>
のようにページID等で切り替えることが必要です


WordCampが4月12日に東京都江戸川区・葛西区民館にて行われます
とMTに書いているのもあれですが(汗
他のblogはWordPress化してあるんすけどね

当日はスタッフとして協力させていただきます

今回のCampではWordPressの創始者のMatt氏が来日する予定です
募集方法等はまだ調整中です
(一ヶ月前には申し込めるようにする予定です)
もう少々お待ちください