cakephp1.2 formヘルパーのactionを指定したい場合

formヘルパーを使っていてactionが意図したものにならない場合

<?PHP e($form->create('Sample',array( 'action' => 'edit', 'type' => 'post' ))); ?>

こう書いても、アクセス方法によっては

<form id="SampleEditForm" method="post" action="/samples/edit/1">

みたいな感じでactionに余計なパラメータがつく場合などがある。
これを例えばパラメータを消したい場合以下のようにurl属性を使う。

<?PHP e($form->create('Sample',array( 'url' => 'edit', 'type' => 'post' ))); ?>

こうすると

<form method="post" action="/samples/edit">

となる。なおurl指定するとidが消えるぽいので、idをつけたければidも指定すること。

<?PHP e($form->create('Sample',array( 'id' => 'SampleEditForm', 'url' => 'edit', 'type' => 'post' ))); ?>

資産形成におすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html

安全靴や作業着を買うならこちら。
http://azmaya.jp

2段階認証しているgmail宛のメールをvmwareのcentosで送る手順

CentOSのpostfixでGmail(二段階認証)へのSMTP Authを設定する - uehatsu's tech blog

この記事を参考にすればok


資産形成におすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html

安全靴や作業着を買うならこちら。
http://azmaya.jp

php5.2 mb_send_mailを使うと半角カナが文字化けする

mb_send_mailって便利だけどその辺注意する事

cakephp1.2 キャッシュエラーになる原因について

cakephp使っているとたまにキャッシュファイルがunlink出来なかったとかtouch出来なかったとか出る時がある。

通常アクセスが多い場合等、同時アクセスが起きた時に発生する場合があるらしいが、別にアクセスはほとんど無いのにキャッシュエラーが頻繁に起きるからなんでだろう~と思っていたら、ajaxが原因だった。

要は、ajaxでアクセスしてそれが返ってくる前に別のajaxアクセスをしていたがために発生していたことが分かった。なのでajaxが返ってくるまで待って、別のajaxを実行するようにしたら発生しなくなった。

今後は注意すること。

資産形成におすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html

安全靴や作業着を買うならこちら。
http://azmaya.jp

jquery-ui 1.7.2 datepickerを同じページに複数表示したい場合、setDefaultsが便利だった件

同じページに複数datepickerを表示したかったんだけど、共通の設定を何度も書くのが嫌でどうすればよいか悩んだ挙句、setDefaultsを使えば良いことが分かった。

// 共通設定
$.datepicker.setDefaults({
    showOn: "both"
});

// 個別設定1
$("#date1").datepicker({
  minDate: new Date($("#min_date1").val())
});

// 個別設定2
$("#date2").datepicker({
  minDate: new Date($("#min_date2").val())
});

資産形成におすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html

安全靴や作業着を買うならこちら。
http://azmaya.jp

cakephp1.2 スマホ判定

appController内でRequestHandler読み込んでbeforeFilterの中で以下のようにする。

<?php
// モバイル判定
if ($this->RequestHandler->isMobile()) {
    $this->view = 'theme';
    $this->theme = 'mobile';
}

こうするとviews/themed/mobile/controller/index.ctpみたいな感じでthemed/mobile内を自動で読み込み、ファイルがなければ通常のviews内を読み込む、という挙動になる。
ちなみにisMobile()はcake1.2だけあってUAが古かったりするので、以下の定数を定義することでisMobile()がそれを読み込んでくれる。ひとまず「Android|iPod|iPad」を追加しておく。

<?php
define('REQUEST_MOBILE_UA', '(Android|iPod|iPad|~後はデフォルト)');

資産形成におすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html

cakephp キャッシュ周りがおかしい場合はキャッシュしないようにすること

モデルで少しトリッキーなことをしたらキャッシュが悪さをしてしまい機能によって動いたり動かなくなったりしてしまった。そういう場合はもうキャッシュ自体を無効にしてしまうことも検討すること。以下で無効にできる。

<?php
Configure::write('Cache.disable', true);