遅レスですみません。
もはや解決済みかもしれませんが、同じカスタマイズの要望があるかもしれませんので。
レイアウト編集でブロックを使用していないと、その部分のコード(html/frontparts/bloc/以下のファイル)が評価されないために、Smarty変数に値がセットされないのですね。
ですから、該当部分のコードをページのphpに追加する必要があります。
具体的には次のようなコードですかね。
require_onceの下あたりに記述:
class LC_CatPage {
function LC_CatPage() {
}
}
$objSubPage = new LC_CatPage();
// 選択中のカテゴリIDを判定する
$category_id = sfGetCategoryId($_GET['product_id'], $_GET['category_id']);
// 選択中のカテゴリID
$objSubPage->tpl_category_id = $category_id;
$objSubPage = lfGetCatTree($category_id, true, $objSubPage);
ファイルのどこかに記述:
// カテゴリツリーの取得
function lfGetCatTree($parent_category_id, $count_check = false, $objSubPage) {
$objQuery = new SC_Query();
$col = "*";
$from = "dtb_category left join dtb_category_total_count using (category_id)";
// 登録商品数のチェック
if($count_check) {
$where = "del_flg = 0 AND product_count > 0";
} else {
$where = "del_flg = 0";
}
$objQuery->setoption("ORDER BY rank DESC");
$arrRet = $objQuery->select($col, $from, $where);
$arrParentID = sfGetParents($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $parent_category_id);
$arrBrothersID = sfGetBrothersArray($arrRet, 'parent_category_id', 'category_id', $arrParentID);
$arrChildrenID = sfGetUnderChildrenArray($arrRet, 'parent_category_id', 'category_id', $parent_category_id);
$objSubPage->root_parent_id = $arrParentID[0];
$arrDispID = array_merge($arrBrothersID, $arrChildrenID);
foreach($arrRet as $key => $array) {
foreach($arrDispID as $val) {
if($array['category_id'] == $val) {
$arrRet[$key]['display'] = 1;
break;
}
}
}
$objSubPage->arrTree = $arrRet;
return $objSubPage;
}
そして、以下の部分を変更します。
$objView = new SC_SiteView();
$objView->assignobj($objPage);
$objView->display(SITE_FRAME);
↓
$objView = new SC_SiteView();
$objView->assignobj($objPage);
$objView->assignobj($objSubPage); // category部分をSmartyにセット
$objView->display(SITE_FRAME);
ちなみに、上記の変更は未検証ですので、自己責任でお願いします。
いかんせん僕のスキルがプアなので間違っているかもしれませんし、もっとスマートな方法があると思いますので、たたき台程度にお考えください。