--.--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

2010.09.05

cakePHP1.3へ移行

今までcakePHP1.1を使っていたのですが、新しく開発しているシステムは、1.3で開発しています。
1.1の頃とはだいぶ仕様が変わっていますね。
viewのファイル名は.thtmlから.ctpになっているし、大きく変わったのは、フォームヘルパーかな。
ちょっと戸惑いますね^^;

Posted at 03:01 | cakePHP | COM(2) | TB(0) |
2010.06.04

【EC-CUBE】開発環境と本番環境のDBのデータ移管

開発環境でお客様に商品を登録してもらって、まとめて本番環境に移行しようと思っていたら、
その間に本番環境のほうでどんどん注文が入ってしまって・・・。
要するに、開発環境には商品情報がどんどん追加され、本番環境には、顧客データ・注文データがどんどん追加されている状態。
注文が入るのは嬉しいのですが、開発環境とのDBのマージが大変。
顧客データ、注文データ関連のみを、開発環境のDBに入れたい。

顧客データ・注文データ関連のテーブルは、
・dtb_bat_order_daily〜
・dtb_customer〜
・dtb_order〜

Posted at 20:02 | EC-Cube | COM(0) | TB(0) |
2010.03.18

【EC-CUBE】ご注文の流れの中に入力項目を追加

商品に名前を入れるような、オーダー毎に対応する項目を追加するカスタマイズです。

商品詳細ページで入力していただく方法もありますが、今回は、ご注文の流れの中でご記入いただく仕様にしました。

<変更テーブル>
・dtb_order
・dtb_order_temp

上記テーブルに、追加項目のカラムを追加します。

<変更ファイル>
・/data/class/pages/shopping/LC_Page_Shopping_Payment.php
<変更箇所>
557行目:
$col = "payment_id, use_point, deliv_time_id, message, point_check, deliv_date";
<変更内容>
追加項目のカラムを追加
例)$col = "payment_id, use_point, deliv_time_id, message, name, point_check, deliv_date";

※入力チェックをする場合
<変更箇所>
329行目に追加
例)$this->objFormParam->addParam("名前", "name", LTEXT_LEN, "KVa",array("EXIST_CHECK"));

受注完了メールに追加項目を記載します。
<変更ファイル>
・/data/Smarty/templates/default/mail_templates/order_mail.tpl
<変更内容>
35行目に追記
例)名入れ:<!--{$name}-->

<変更ファイル>
・/data/class/helper/SC_Helper_Mail.php
<変更内容>
105行目に追記
例)$objPage->name = $arrOrder['name'];

Posted at 13:18 | EC-Cube | COM(1) | TB(0) |
2010.02.19

【EC-CUBE】商品一覧ページのサムネイルを自動的に正方形にトリミング

WordPressではサムネイルは正方形ですが、EC-CUBEでは正方形ではありません。
正方形にしたい!!

<修正ファイル>
/data/module/gdthumb.php

(1)一覧画像の場合、短いほうの片が130pxになるようにする(デフォルトは長いほうが130pxになる)
デフォルトの行数:107行目〜
修正前
if($tmp_w > $tmp_h) {
$re_size[0] = $this->imgMaxWidth;
$re_size[1] = $size[1] * $this->imgMaxWidth / $size[0];
} else {
$re_size[1] = $this->imgMaxHeight;
$re_size[0] = $size[0] * $this->imgMaxHeight / $size[1];
}
修正後
if($this->imgMaxWidth==130){
if($tmp_w > $tmp_h) {
$re_size[1] = $this->imgMaxHeight;
$re_size[0] = $size[0] * $this->imgMaxHeight / $size[1];
} else {
$re_size[0] = $this->imgMaxWidth;
$re_size[1] = $size[1] * $this->imgMaxWidth / $size[0];
}
}else{
if($tmp_w > $tmp_h) {
$re_size[0] = $this->imgMaxWidth;
$re_size[1] = $size[1] * $this->imgMaxWidth / $size[0];
} else {
$re_size[1] = $this->imgMaxHeight;
$re_size[0] = $size[0] * $this->imgMaxHeight / $size[1];
}
}


(2)ファイル名保持(デフォルトでは上書きされてしまう)
デフォルトの行数:214行目
<修正前>
$dst_file = $dst_file . ".jpg";
<修正後>
$dst_file_new = $dst_file . ".jpg";
※この修正に伴い、この後の変数も変更して下さい。

(3)サムネイル生成
$squaresize=130;
$image = $dst_file_new;
$width = $re_size[0];
$height = $re_size[1];

$width = $width-$squaresize;
$height = $height-$squaresize;

$x = $width/2;
$y = $height/2;
$src = ImageCreateFromJpeg($image);
$tmb = ImageCreateTrueColor($squaresize,$squaresize);

ImageCopy($tmb, $src, 0, 0, $x, $y, $squaresize, $squaresize);

//header('Content-type: image/jpeg');
$dst_file_new=$dst_file.'_thumb.jpg';
ImageJpeg($tmb, $dst_file_new);
ImageDestroy($src);
ImageDestroy($tmb);



Posted at 23:43 | EC-Cube | COM(0) | TB(0) |
2010.02.19

【WordPress】カテゴリアーカイブページで子カテゴリ別記事一覧

EC-Cubeでもそうなんですが、カテゴリ一覧ページで「子カテゴリ別記事(商品)一覧」を表示させたいというご要望が多いです。

たとえば、カテゴリが

■Web
 ○プログラミング
  └WordPress
  └EC-Cube
  └cakePHP
 ○デザイン
 ○コーディング
■データベース
■DTP

という構成になっている場合に、「Web」の一覧ページでは、デフォルトでは全記事が投稿日順に出てきます。
それを、子カテゴリ別・孫カテゴリ別に表示したい。
こんなかんじ↓

Web記事一覧
 ○プログラミング
  ◆WordPress
  ・カテゴリ一覧ページで現在のカテゴリIDを取得
  ・テーマの作者名
  ・WordPressテーマのカスタマイズ【カテゴリ表示】 
  ・WordPressで権限管理
  ◆EC-Cube
  ・カテゴリの説明文を登録する
  ・管理画面のロゴ等変更
  ・顧客編集画面に項目追加【会員の権限管理】
  ・PHPMyAdmin上の文字化けを回避
  ◆cakePHP
  ・RewriteRuleでURL短縮
  ・CakePHPでキャッシュをオンにする
  ・cakePHPのPagination
  ・追加したフィールドが取得できない
 ○デザイン
  ◆Photoshop
  ◆Illustrator
 ○コーディング
   ・
   ・
   ・

カテゴリ別にソートするくらいなら可能だとは思いますが、その場合、カテゴリ名をタイトル表示ができません。

まず、get_categories('parent=現在表示しているカテゴリ');で、子カテゴリ配列(WordPress,EC-Cube,CakePHP...)を取得します。
現在表示しているカテゴリIDの取得はこちら
取得結果の子カテゴリ配列をぐるぐるまわして、get_categories('parent=子カテゴリID');で、孫カテゴリ配列を取得。
孫カテゴリ配列をぐるぐるまわして、孫カテゴリの記事を取得します。

サンプルコード

<?php
$chihirdren=get_categories( 'parent=3&hide_empty=0&orderby=order');
foreach($chihirdren as $child){
?>
<h2><?php echo $child->cat_name ?></h2>

<?php
$grandchildren=get_categories( 'parent='.$child->cat_ID.'&hide_empty=1&orderby=order');
foreach($grandchildren as $grandchild){
?>
<?php if (have_posts()) : query_posts('cat='.$grandchild->cat_ID'); ?>
<?php $post = $posts[0]; ?>
<?php while (have_posts()) : the_post(); $count++; ?>
<h2><a href="/?cat=<?php echo $grandchild->cat_ID ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>

<?php endwhile;?>
<?php endif; ?>
<?php
}
}
?>


※この場合は孫カテゴリまで取得していますが、カテゴリの階層の深さによって適宜調節して下さい。

Posted at 15:45 | WordPress | COM(0) | TB(0) |