動的な表の出力ヘルパーtableHeaders/tableCells

HTMLヘルパーのtableHeaders, tableCellsは、配列の数だけth/tdを出力してくれる、動的に表を作る際に実に便利なヘルパーなのですが、

tableHeaders第三引数オプションの$thOptionsは、全部のthに同じオプションしか指定できません。

CookBookだけでは分からなかったので、メモ。
http://book.cakephp.org/ja/view/840/tableHeaders

例えば

$html->tableHeaders(
	$values,
	$tr_options,
	array("id" => "test")
);

と指定すると、全thタグに、id="test"が出力されます。
 これはいただけません(>_<)。

ためしに、

$html->tableHeaders(
	array("姓", "名"),
	$tr_options,
	array(array("id" => "familyName"), array("id" => "firstName"))
);

と指定してみましたが、全thタグが<th 0="0" 1="">となりました。



今回、目的は「列ごとに固定幅を指定する」でした。
tableCellsの第4引数、$useCount を trueにすると、

<td class="column-1">…</td><td class="column-2">…</td>・・・

のように、列ごとにclassが自動指定されるので、こちらを利用して実装しました。
http://book.cakephp.org/ja/view/841/tableCells


でも、tdではなくあくまでth側に、行ごとのオプション指定が必要な場合、ハックして、$value[$k]と対応する$th_options[$k]を出力するヘルパーを作る必要があるかも知れません。