マイブームは戦国時代です。webディレクターの田村です。
iii-Storeのホワイトボードは、ホーロー製とスチール製がございます。
「何が違うの?」と問い合わせを受けることは少なくありません。
基本的には
「ホーロー製の方がホーロー加工がある分、大変丈夫で書き心地も滑らか、消し残りもございません。」
という、お話をさせていただきます。
でも、その”丈夫”ってなに?ですよね。
なので、先日メーカにお伺いし、板面取材を決行!!
動画を撮り、YOUTUBEにアップ。早速、
サイトTOPページに挿入致しました。
tamuraさんの投稿 | Published in
symfony, ネットショップiii-Store | 2010.3.10
sfFormExtraPlugin の sfWidgetFormJQueryDateウィジット。
日付入力時にカレンダーがにゅいーんと出てくるたいへんいいプラグインなんですが実装中にバグを発見しました。
バグは、「day」の値が8日もしくは9日だと0だと認識していまい正常にinputされません。
sfWidgetFormjQueryDate.class.phpの86行目〜88行目にあるparseInt関数が原因のようです。
どうやら
Ticketもある模様。
TicketにもあるようにsfWidgetFormjQueryDate.class.phpの、
jQuery("#%s").val(parseInt(date.substring(0, 4)));
jQuery("#%s").val(parseInt(date.substring(5, 7)));
jQuery("#%s").val(parseInt(date.substring(8)));
の3行を
jQuery("#%s").val(parseInt(date.substring(0, 4) , 10));
jQuery("#%s").val(parseInt(date.substring(5, 7) , 10));
jQuery("#%s").val(parseInt(date.substring(8) , 10));
とすれば直ります。
今日が8日でよかったー。
suguruさんの投稿 | Published in
Javascript, symfony | 2010.3.8

symfony1.4からJavascriptヘルパーが使えなくなりました。
link_to_remoteなど多用している方は、対応に悩んでみえると思います。
そんな方に朗報です。
sfJqueryReloadedPlugin
link_to_remoteなどのメソッドがほとんど再利用できます!
では簡単に説明を。
- $ symfony plugin:install sfJqueryReloadedPlugin
プラグインのインストールをします
- $ mkdir {project Dir}/web/sfJqueryReloadedPlugin
公開ディレクトリにsfJqueryReloadedPluginフォルダを作成します。
- pluginフォルダのsfJqueryReloadedPlugin/web以下全てを先ほど作成したディレクトリにコピーします。
- Javascriptヘルパーで使用しているメソッド全てにプリフィックスとして”jq_”を付加しましょう。
link_to_remote() → jq_link_to_remote()
- symfony cc
簡単ですね。
tanakaさんの投稿 | Published in
symfony | 2010.2.8
今日、
ipad が発表されました。
むちゃくちゃ
UIカッコいいですね。
このipad電子書籍対応ですが、epubというフォーマットで対応しているそうです。
PDFも読めるのかな?
このepubというのはXHTMLのフォーマットみたいです。(XHTMLサブセット)
epubは先日ソニーが発表した電子書籍リーダーにも採用されています。
将来的には書籍のデータ形式はepub(XHTML)が主になるのではないでしょうか。
そのときにはwebデザイナが、書籍編集者になって、紙がなくなり電子ペーパーになるんでしょうね。
tanakaさんの投稿 | Published in
Mac, symfony, ネット | 2010.1.28
doctrineでtaskを作成したときにトランザクションが利かなく嵌りました。
task作成時に生成されるコード
// initialize the database connection
$databaseManager = new sfDatabaseManager($this->configuration);
$connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection();
getConnectionメソッドは sfDatabaseのクラスなので、sfDoctrineDatabaseのgetDoctrineConnectionにしなければ
トランザクションが使えない。
$connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getDoctrineConnection();
上記にすればトランザクションが利きます。
tanakaさんの投稿 | Published in
symfony | 2009.10.10
symfonyのバリデータ群は重宝しますね。 ちょっと引っかかると解析に時間が掛かるのが難点ですが、今回はsfValidatorDate でトラブった。
sfValidatorDate をつかって
20090714(ハイフン無しの日付)をバリデートを適用したところ戻り値がnullに!
下記はバリデートの記述
new sfValidatorDate ( array (
'date_format' => '/([0-9]{4})([0-9]{2})([0-9]{2})/’ ), array (
‘bad_format’ => ‘invalid!’) )
sfValidatorDateのソースを確認したところ(下記)
if (!preg_match($regex, $value, $match))
{
throw new sfValidatorError($this, ‘bad_format’, array(’value’ => $value, ‘date_format’ => $this->getOption(’date_format_error’) ? $this->getOption(’date_format_error’) : $this->getOption(’date_format’)));
}
$clean = $this->convertDateArrayToTimestamp($match);
preg_matchを使って$valueに’date_format’($regex)を適用しているだけ。 その値をconvertDateArrayToTimestampに渡している。
convertDateArrayToTimestampはインデックス付の配列を整形するメソッドということはpreg_matchでインデックスと付加し無ければいけない!らしい。
ここで小一時間悩む。
preg_matchのマニュアルを見たところ
例4 名前つきサブパターンの使用法を発見しましたよ!
'date_format' => '/([0-9]{4})([0-9]{2})([0-9]{2})/’を’date_format’ => ‘/(?<year>[0-9]{4})(?<month>[0-9]{2})(?<day>[0-9]{2})/’にすることによって、
| [0] |
2009 |
⇒ |
[year] |
2009 |
| [1] |
07 |
[month] |
07 |
| [2] |
14 |
[day] |
14 |
こーなる。すばらしい!
tanakaさんの投稿 | Published in
symfony | 2009.7.14
今から一年前にアナウンスされていたバージョン1.1.8のリリースです。今後、1.1系はサポート対象外になります。
トップページのリリースから1.1ははずされました。
1.1はつなぎでしたね。

tanakaさんの投稿 | Published in
symfony | 2009.7.7
schema.ymlのリレーション定義一覧
| 名前 |
設定 |
| alias |
リレーションを識別するために使うエイリアス。 |
| class |
リレーション用に使うクラスの名前。 |
| type |
リレーションの型。値はoneもしくはmanyのどちらかでデフォルトはone。 |
| refClass |
多対多のリレーション用に使われる中間の参照クラス。 |
| local |
リレーションで使われるローカルフィールドの名前。 |
| foreign |
リレーションで使われる外部フィールドの名前。 |
| foreignAlias |
リレーションの反対端のエイリアス。autoCompleteがtrueに設定されるときのみ許可されます。 |
| foreignType |
リレーションの反対端の型。autoCompleteがtrueに設定されるときのみ許可されます。 |
| autoComplete |
リレーションを反対側に追加して双方向にするかどうか。デフォルトはtrue。 |
| cascade |
アプリケーションレベルのカスケーディングオプション。 |
| onDelete |
データベースレベルのカスケーディング削除の値。 |
| onUpdate |
データベースレベルのカスケーディング更新の値。 |
| equal |
リレーションが入れ子の多対多に等しいかどうか。 |
tanakaさんの投稿 | Published in
doctrine, symfony | 2009.7.1
propel使用時にデータ型が合わないということが良くあります(私だけ?)
そんなときのため変換表を作りました。
テキスト型
| propel |
備考 |
mysql |
phpデータタイプ |
| CHAR |
Fixed-lenght character data |
CHAR |
string |
| VARCHAR |
Variable-lenght character data |
VARCHAR |
string |
| LONGVARCHAR |
Long variable-length character data |
TEXT |
string |
| CLOB |
Character LOB (locator object) |
LONGTEXT |
string |
数値型
| propel |
備考 |
mysql |
phpデータタイプ |
| NUMERIC |
Numeric data |
DECIMAL |
string (PHP int is limited) |
| DECIMAL |
Decimal data |
DECIMAL |
string (PHP int is limited) |
| TINYINT |
Tiny integer |
TINYINT |
int |
| SMALLINT |
Small integer |
SMALLINT |
int |
| INTEGER |
Integer |
INTEGER |
int |
| BIGINT |
Large integer |
BIGINT |
string (PHP int is limited) |
| REAL |
Real number |
REAL |
double |
| FLOAT |
Floating point number |
FLOAT |
double |
| DOUBLE |
Floating point number |
DOUBLE |
double |
tanakaさんの投稿 | Published in
php, symfony | 2009.6.1
“The Definitive Guide to symfony”から2年経ったようです。
jobeetのチュートリアル
“Practical symfony” が発売されました。
“Practical symfony” はPropel とDoctrineバージョンの2種類あるそうです。(商売上手!)
早速購入。
| Subtotal |
$33.60 |
| Shipping |
$21.55 |
| Total |
$55.15 |
楽しみです。
tanakaさんの投稿 | Published in
symfony | 2009.1.16