三愛企画ブログ

tamura iii-Store:ホーロー製とスチール製の比較

マイブームは戦国時代です。webディレクターの田村です。



iii-Storeのホワイトボードは、ホーロー製とスチール製がございます。



「何が違うの?」と問い合わせを受けることは少なくありません。


基本的には

「ホーロー製の方がホーロー加工がある分、大変丈夫で書き心地も滑らか、消し残りもございません。」

という、お話をさせていただきます。


でも、その”丈夫”ってなに?ですよね。


なので、先日メーカにお伺いし、板面取材を決行!!



動画を撮り、YOUTUBEにアップ。早速、サイトTOPページに挿入致しました。

tamuraさんの投稿 | Published in symfony, ネットショップiii-Store | 2010.3.10

suguru sfWidgetFormJQueryDateのバグ挙動

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

tanaka javascript ヘルパー

symfony_logologo_jquery_215x53
symfony1.4からJavascriptヘルパーが使えなくなりました。

link_to_remoteなど多用している方は、対応に悩んでみえると思います。

そんな方に朗報です。
sfJqueryReloadedPlugin
link_to_remoteなどのメソッドがほとんど再利用できます!

では簡単に説明を。
  1. $ symfony plugin:install sfJqueryReloadedPlugin
    プラグインのインストールをします
  2. $ mkdir {project Dir}/web/sfJqueryReloadedPlugin
    公開ディレクトリにsfJqueryReloadedPluginフォルダを作成します。
  3. pluginフォルダのsfJqueryReloadedPlugin/web以下全てを先ほど作成したディレクトリにコピーします。
  4. Javascriptヘルパーで使用しているメソッド全てにプリフィックスとして”jq_”を付加しましょう。
    link_to_remote() → jq_link_to_remote()
  5. symfony cc
簡単ですね。

tanakaさんの投稿 | Published in symfony | 2010.2.8

tanaka epub フォーマット

e784a1e9a18c
今日、ipad が発表されました。

むちゃくちゃUIカッコいいですね。
このipad電子書籍対応ですが、epubというフォーマットで対応しているそうです。
PDFも読めるのかな?

このepubというのはXHTMLのフォーマットみたいです。(XHTMLサブセット)
epubは先日ソニーが発表した電子書籍リーダーにも採用されています。
将来的には書籍のデータ形式はepub(XHTML)が主になるのではないでしょうか。

そのときにはwebデザイナが、書籍編集者になって、紙がなくなり電子ペーパーになるんでしょうね。

tanakaさんの投稿 | Published in Mac, symfony, ネット | 2010.1.28

tanaka generate:taskしたときにトランザクションが利かない

logo
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

tanaka sfValidatorDate バリデータ後の値がnullになる件

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

tanaka symfony 1.1の最終版が公開されました。

今から一年前にアナウンスされていたバージョン1.1.8のリリースです。今後、1.1系はサポート対象外になります。

トップページのリリースから1.1ははずされました。
1.1はつなぎでしたね。

e784a1e9a18c

tanakaさんの投稿 | Published in symfony | 2009.7.7

tanaka symfony doctrineのschema.ymlのリレーション定義一覧

schema.ymlのリレーション定義一覧

名前 設定
alias リレーションを識別するために使うエイリアス。
class リレーション用に使うクラスの名前。
type リレーションの型。値はoneもしくはmanyのどちらかでデフォルトはone。
refClass 多対多のリレーション用に使われる中間の参照クラス。
local リレーションで使われるローカルフィールドの名前。
foreign リレーションで使われる外部フィールドの名前。
foreignAlias リレーションの反対端のエイリアス。autoCompletetrueに設定されるときのみ許可されます。
foreignType リレーションの反対端の型。autoCompletetrueに設定されるときのみ許可されます。
autoComplete リレーションを反対側に追加して双方向にするかどうか。デフォルトはtrue。
cascade アプリケーションレベルのカスケーディングオプション。
onDelete データベースレベルのカスケーディング削除の値。
onUpdate データベースレベルのカスケーディング更新の値。
equal リレーションが入れ子の多対多に等しいかどうか。

tanakaさんの投稿 | Published in doctrine, symfony | 2009.7.1

tanaka propelとmysql間のデータ型の変換表

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

tanaka symfony本 ”Practical symfony”

“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

Next Page »