商品リスト(カテゴリ)について ver.2
テーブルのレイアウトを変更する場合、デザインを確定し、管理画面で表示の順番などを確定させてから変更するほうが、後々面倒にならないと思います。
かつ、今後変更しないという前提が必要。……でもないか。可変性の高い段組で作成することもできるかも?
とりあえず現段階での見た目OKは、
/includes/templates/template_default/common/tpl_tabular_display.phpのline19-line42
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="<?php echo 'cat' . $cPath . 'Table'; ?>" class="tabTable"> <?php for($row=0; $row<sizeof($list_box_contents); $row++) { $r_params = ""; $c_params = ""; if (isset($list_box_contents[$row]['params'])) $r_params .= ' ' . $list_box_contents[$row]['params']; ?> <tr <?php echo $r_params; ?>> <?php for($col=0;$col<sizeof($list_box_contents[$row]);$col++) { $c_params = ""; $cell_type = ($row==0) ? 'th' : 'td'; if (isset($list_box_contents[$row][$col]['params'])) $c_params .= ' ' . $list_box_contents[$row][$col]['params']; if (isset($list_box_contents[$row][$col]['align'])) $c_params .= ' ' . $list_box_contents[$row][$col]['align']; if ($cell_type=='th') $c_params .= ' scope="' . $cell_scope . '" id="' . $cell_title . 'Cell' . $row . '-' . $col.'"'; if (isset($list_box_contents[$row][$col]['text'])) { ?> <?php echo '<' . $cell_type . $c_params . '>'; ?><?php echo $list_box_contents[$row][$col]['text'] ?><?php echo '</' . $cell_type . '>' . "\n"; ?> <?php } } ?> </tr>
を
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="<?php echo 'cat' . $cPath . 'Table'; ?>" class="tabTable"> <?php for($row=1; $row< ( sizeof($list_box_contents) * 2 ); $row++) { $r_params = ""; $c_params = ""; if (isset($list_box_contents[$row]['params'])) $r_params .= ' ' . $list_box_contents[$row]['params']; ?> <tr> <?php for($col=0;$col< sizeof($list_box_contents[$row]);$col++) { $c_params = ""; $cell_type = ($row==0) ? 'th' : 'td'; if (isset($list_box_contents[$row][$col]['params'])) $c_params .= ' ' . $list_box_contents[$row][$col]['params'] ; if (isset($list_box_contents[$row][$col]['align'])) $c_params .= ' ' . $list_box_contents[$row][$col]['align']; if ($cell_type=='th') $c_params .= ' scope="' . $cell_scope . '" id="' . $cell_title . 'Cell' . $row . '-' . $col.'"'; if (isset($list_box_contents[$row][$col]['text'])) { ?> <?php if ( $column_list[$col] == 'PRODUCT_LIST_IMAGE' ) { echo ' <td rowspan="2">' . $list_box_contents[$row][$col]['text'] . '</td>' . "\n"; } elseif ( $column_list[$col] == 'PRODUCT_LIST_NAME' ) { echo ' <td>' . $list_box_contents[$row][$col]['text'] . '</td>' . "\n" . ' </tr>' . "\n"; } else { echo ' <tr>' . "\n" . ' <' . $cell_type . $c_params . '>' . $list_box_contents[$row][$col]['text'] . '</' . $cell_type . '>' . "\n" . ' </tr>' . "\n"; } ?>
こんな感じに。
現段階ではかなり強引なので、これから洗練させていく予定。
ちなみに一行目の見出しをカットする場合は、
includes/modules/product_listing.php、line18
$list_box_contents[0] = array('params' => 'class="productListing-rowheading"');
をコメントアウト。
ただしこのままだと、最初にからのtrタグだけ吐き出されてしまうので、
includes/templates/template_default/common/tpl_tabular_display.php、line21
for($row=0; $row<sizeof($list_box_contents); $row++) {
を
for($row=1; $row<sizeof($list_box_contents); $row++) {
とし、初期値を「1」にすると、きちんと表示される。