10月
29
2008
0

[メモ]PHPEclipseのカラースキーマをPHPエディタに合わせる
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

概要

長年1 PHPエディタを使ってきたので、ソースのカラーはPHPエディタと同じがやりやすいってことでその設定メモ。

余談だけど、Eclipseはすぐ壊れる…。
考えなしにプラグインをバンバン入れたりするとあっちがおかしくなり、こっちがおかしくなり。
そのたびに環境を作り直してるんだけど、こういうメモは必須だね。こうやって何度も作っているうちに自分色の安定した開発環境ができていくのかなぁと、まだ先はなげーなーと、そんなことを思いながら現在環境を再構築中。

さらに余談だけれど、この間CakePHP東京カンファレンスのLIVEでXoopsのすごい人のコーディング姿を見ることができたんだけど、完全にCUIのエディタでやってるのね。
慣れるとEmacs?みたいなシンプルなエディタの方が早いって言うけどどんなものなんだろう。
例えばextendsしてるクラスのメソッドを辿ったりするときにEclipse使えば1クリックでそのファイルのそのメソッドを開けるけどCUIのエディタだとどうなるんだろう?grepみたいに検索してそれを別ウィンドウで開くみたいな感じ?
なんかもう完全に独り言になっちゃってるけど、スキルを持った人たちがどんな環境で開発しているかってすごい興味あるんだよなぁ。

手順

  1. ウィンドウ->設定->PHPEclipse->PHP(PHPエディタ設定)を開く。
  2. 構文のタブを選択

以下のように変更

  • 「複数行コメント」「単一行コメント」をオレンジ
  • 「PHPタグ」はに(PHPエディタと違うけど)
  • 「’return’を除外したキーワード」は
  • 「事前定義関数名」は
  • 「変数」は両方とも
  • 「定数」はわかりやすいようにそのまま赤紫
  • 「文字列」は両方とも

多少違うところもあるけど、まあまあ同じような心持ちで使えるようになったかな。

  1. といっても1年ちょっとだけど []
Written by suzukenn in: 記事 | タグ: , ,
10月
25
2008
0

[EC-CUBE]CSV出力項目設定の高度な設定を修正
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

注意!

20081106追記

下記の修正方法は「LC_Page_Admin_Contents_CsvSql_Ex」の基底クラス「LC_Page_Admin_Contents_CsvSql」を直接編集してしまう、オススメできない方法です。1
最新の記事をHappyQuality ? CSV出力項目設定の高度な設定の修正にアップしたのでこちらを参照してください。

概要

EC-CUBEの管理画面->コンテンツ管理->CSV出力項目設定->高度な設定
画面で、SQL一覧からクエリを選んでも下のテキストエリアにソースを吐かないので、おかしいと思い調査しました。

結果バグを見つけましたのでそいつを修正。

修正方法

対象ファイル
/data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.phpのfunction process

コメントの認証可否判定のすぐ下に以下のソースがあるのでコメントアウトすればOK

if (!isset($_POST['mode'])) $_POST['mode'] = "";
if (!isset($_POST['sql_id'])) $_POST['sql_id'] = "";
if (!isset($_GET['sql_id'])) $_GET['sql_id'] = "";
if (!isset($_POST['selectTable'])) $_POST['selectTable'] = "";

$_POSTがif文やswitchで参照されているので本当は別の変数に代入した上で上記と同等の処理をして、if文やswitchに渡せばいいと思うんだけど(というか普通そうするんじゃないの?)、面倒だからコメントアウトだけやった。

解説

まずはこれを見て欲しい。

// POSTされたデータをセットする
if (count($_POST) > 0) {
$arrSqlData[0]['sql_name'] = isset($_POST['sql_name']) ? $_POST['sql_name'] : "";
$arrSqlData[0]['csv_sql'] = isset($_POST['csv_sql']) ? $_POST['csv_sql'] : "";
}
$this->arrSqlData = $arrSqlData[0];	// 選択されているSQLデータ

これを見る限りPOSTがあったら$arrSqlData[0][なにがし]のそれぞれの配列に$_POST[なにがし]を入れたかったんだろうけど、お前さん最初に$_POSTに空文字代入してるからPOST無くても入っちゃうよと。count($_POST)は3になるから。

if (!isset($_POST['mode'])) $_POST['mode'] = "";
if (!isset($_POST['sql_id'])) $_POST['sql_id'] = "";
if (!isset($_POST['selectTable'])) $_POST['selectTable'] = "";

この分ね。

このことによってPOSTがなくて$sql_idが指定された場合でも
$arrSqlData[0]['sql_name']
$arrSqlData[0]['csv_sql']
を上書きしちゃうから、

// 編集用SQLデータの取得
if ($sql_id != "") {
$arrSqlData = $this->lfGetSqlList(" WHERE sql_id = ?", array($sql_id));
}

ここでわざわざDBからとってきた$arrSqlDataが意味ねーよってことになっちゃうんだね。
以上、おしまい。

  1. 無知ゆえの過ちでした…^^; []
Written by suzukenn in: 記事 | タグ:
10月
24
2008
0

[Mylyn]Trac+Mylynを使いこなす
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

概要

Tracのチケット操作をEclipseからできることを知り、早速チャレンジしてみました。

参考サイト

Eclipseへのセットアップはここを参考にすれば問題ないと思います。
Mylyn&Tracでリズムに乗ってタスクを大掃除♪ (1/4) – @IT

スクリーンショットを交えて解説してくれているのでわかりやすいです。そのおかげで勘違いに気付くこともできました。
試験管のなかのコード :: Mylar で Eclipse + Trac Ticket 連携にチャレンジ

20081029追記
Mylynのtracコネクタは

http://download.eclipse.org/tools/mylyn/update/extras

のアップデートサイトからインストールしました。

注意点

新規クエリーを作るときに、条件なしで全て取得したかったんだけど、勘違いして全ての項目を指定してしまったら、全然タスクが表示されなくて焦った(汗
すべての条件を指定しちゃうと、タスク(チケット)の選択項目(コンポーネントとかバージョンとか)を省略して作ったものが表示されないんだよね。当たり前だよね。

それに気付かず1時間くらいアレコレやってましたよ…orz

わからない点はお気軽にコメント欄へどうぞ。

Written by suzukenn in: 記事 | タグ: , , ,

| I have been indebted to Aeros Theme. | Background image owner is NASA.