スポンサーサイト

一定期間更新がないため広告を表示しています

at , スポンサードリンク, -

-, -, pookmark

アンダーバーと小文字の文字列を、頭文字大文字の文字列に変換

function camelize($lowerCaseAndUnderscoredWord) {
  return str_replace(" ", "", ucwords(str_replace("_", " ",   $lowerCaseAndUnderscoredWord)));
}

これはInflector.php内に記述されているメソッド。
str_replace(" ", "", ucwords(str_replace("_", " ",   $lowerCaseAndUnderscoredWord)));

を使えばOK

at 14:55, morinoshima, cakephp

comments(24), trackbacks(0), pookmark

IE6関連いろいろ

 ・FFで div1(背景設定)
          img
          div2(背景設定)←が上にめり込む時div1のheight指定を削除する。

      paddingで調整するとIE6で崩れる。

 ・div1(背景設定)
  div2
  1と2の間に隙間ができてしまうとき。
 div1にoverflow:hidden;を設定。

・div1  div2
 div style="clear:both"
 ↑改行部分に隙間が出来る場合。

 div style="clear:both;height:0px;"では足りない
 div style="clear:both;height:0px;overflow:hidden;"とすれば解消。

・背景画像が表示されない
 表示したい要素に、
 zoom:1
  を設定するとhaslayoutがtrueになり、解消される。
 zoomはIE独自のプロパティ。
 haslayoutとはIEの読み取り専用プロパティの値で、レンダリングのバグの原因とされる。

・floatは幅に余裕を持って設定(margin:2倍対策)
 marginのかわりにpaddingを使うとかで対策。

・cssファイル、文字コード間違ってサーバにアップしてた




at 16:55, morinoshima, IEでの表示

comments(0), trackbacks(0), pookmark

携帯開発時注意

 携帯開発時はPCと下記が異なるので注意。

・gif画像は使わないこと。
・formのactionのURLにパラメータを付加しないこと。(一部機種で動作しないとのこと)
→hiddenで送る

at 09:17, morinoshima, php

comments(0), trackbacks(0), pookmark

日付差分取得

//判定したい日付
 $view_start_date = date('Y/m/d',strtotime(substr($val['FromStaff']['view_start_date'],0,10)));

//現在日時からのタイムスタンプの差分を日に換算
  $date_diff = (strtotime(date('Y/m/d',time())) - strtotime($view_start_date)) / (60*60*24);

//現在から7日以内の場合はマークをつける、などなどの処理
  $newmark = '';
  if($date_diff<=7){
   $newmark = '&nbsp;<span class="new_news">new</span>';
  }


月の場合は30日や31日があるので上記のように単純に計算できない・・
そういうときはmktimeを使う。(時・分・秒・月・日・年、の順だぞ。)

//現在より6ヶ月前の日付を求める
$link_limit = mktime(0,0,0,$now_month-6,1,$now_year);
//echo date('Y/m/d',$link_limit);

//判定したい日付
$param_date = strtotime($oriyear.$orimonth.'01');
//echo date('Y/m/d',$param_date);

//差分のタイムスタンプが0か、0以上か0以下かで判定などなど
if($param_date-$link_limit>0){


at 15:53, morinoshima, php

comments(0), trackbacks(0), pookmark

ディレクトリ検索

 find / -type d -name php

rootディレクトリ以下の「php」という名前のディレクトリを検索する。

at 14:07, morinoshima, linuxコマンド

comments(0), trackbacks(0), pookmark

find('list')

(1) 取得listのIDを別カラムに変更したい場合

    $this->モデル名->primaryKey = 'company_cd';

上記のようにコントローラ内で、プライマリーキーを変更する必要がある。
使ったら元に戻すのを忘れずに・・・

    $this->モデル名->primaryKey = 'id';


(2)取得listのvalueにするカラムの指定

  (あとで更新)

at 12:19, morinoshima, cakephp

comments(0), trackbacks(0), pookmark

pagenate覚書

 $paginator->sort([一覧のタイトル],[抽出カラム][,$options]);

(1)一覧のタイトルを改行するなど、htmlタグを含める場合は、第三引数の$optionsに
    array('escape' => false)
    を指定する必要あり。

(2)抽出カラムは、データ配列内に存在しなくてはならない
  hasmanyの場合、通常ではカラムがselect出来ないが、その際はselect文でエイリアス
  をつけて抽出しておけば、そのエイリアスでソート可能。

    $fields = array(
        'Good.id',
      'Good.title',
      'Good.bikou',
        'Good.view_flg',
      'Company.company_cd',
      '(select coalesce(count(*),0) from contracts where "Good".id =
     contracts.good_id) as cnt',
   );

  この場合cntでソート可能。
  このcntの抽出がない場合は、Contractsモデルのカラムなのでソートできない。


 

at 11:21, morinoshima, cakephp

comments(0), trackbacks(0), pookmark

上下のセンタリング

 上下のセンタリングで最も簡単なのは、「table」を使用すること。

       <table style="height:100%;width:100%;">
               <tr>
                 <td style="text-align:center;vertical-align:middle;">
          てきすとやがぞう                   
                 </td>
               </tr>
             </table>

at 10:20, morinoshima, CSS

comments(0), trackbacks(0), pookmark

IEの左右マージン対策

(1)ブロック要素単独であれば、margin-leftと、margin-rightに「auto」を設定すればOK

(2)divなどのブロック要素をfloatで左右に並べた場合は(1)ができなくなるので、その場合
  通常のmargin指定をしなくてはならないが、IE6の場合、左右マージンが2倍になってしまう。
  その場合は「*html body」を使う。
  下記のように、IE6対策が必要な要素の定義に「「*html body」と記述し、左右マージンを半分 
  の値に指定する。
  
<style type="text/css">
<!--
div #gazo {
 margin:9px 12px 0px 0px;
 float:right;
 height:167px;
 width:167px;
}
*html body div #gazo {
 margin:9px 6px 0px 0px;
 float:right;
 height:167px;
 width:167px;
}
-->
</style>

at 10:12, morinoshima, IEでの表示

comments(0), trackbacks(0), pookmark

missing view(新規追加時)

 modelも、viewもcontrollerの設定もどう考えてもあっているのに、
missing viewになる。

って時はキャッシュのせいかも。

以下先輩談より

「たまにエラーがあると、強烈にキャッシュが残るんですよね。。
/app/tmp/cache/persistentのemptyファイル以外を削除すると直ったりします
(emptyファイルは別に削除しても構わないですが)
後は、views/errors/以下のファイルをサイト用の見た目に変更してあって原因がわかりずらいので一旦、このerrors内のファイルを削除するとcake本来のエラーが表示されるのでつかみやすいです」

いつもこれにやられるので、メモ。

あと、他からコピーして使うときは、思わぬところが原因になることがあるので、
処理を一度白紙の状態にして試すことをおすすめ。

存在しないmodelを指定してて撃沈したことも・・・

Check

at 16:10, morinoshima, cakephp

comments(0), trackbacks(0), pookmark