user icon

baserCMS3系でのサイトマップカスタマイズ

bserCMS3系へのメジャーバージョンアップからはや半年以上、やっと弊社サイトを2.1.1から3.0.2へバージョンアップしました。

バリバリにカスタマイズしているので腰が引けていたのです。

旬を外していたり、イレギュラーなカスタマイズをやっていたりでバージョンアップにはかなり苦労したのですが、その話は次にとっておきまして、まずは以前書いた『baserCMSのサイトマップをカスタマイズ』のフォローを。

上記記事のコードですが、アドオンマイグレーター(http://barket.jp/products/detail.php?product_id=11)でテーマを変換しただけでは(やはり)動きませんでした。

少し修正が必要でしたので修正後の弊社のサイトマップのコードを置いておきます。参考にどうぞ。

BcBaser->sitemap() で呼び出す
 */
//ここから設定
//表示しないurl
$disables = array(
'/index_test',
);

//$inserts = array(before_url=>array(title, url),,,)
//before_urlの次に挿入url,titleで作成したアイテムを挿入
//ブログ、メールフォームなどpage以外を途中に挿入することが出来る。
$inserts = array(
'/sitemap' => array('新着情報', '/news'),
'/news' => array('お問い合わせ', '/contact'),
'/it-model/faq' => array('ダウンサイジングについてのお問い合わせ', '/contact_itmodel'),
'/roundcube/faq' => array('Roundcubeについてのお問い合わせ', '/contact_roundcube'),
'/kolab/faq' => array('Kolabについてのお問い合わせ', '/contact_kolab'),
);
//設定ここまで

//関数
$bcBaser = $this->BcBaser;
$outputPageItem = function ($recursive, $title, $url) use (&$bcBaser) {
?>
  • link($title, $url) ?>
  • link($title, $url); else: echo $category_title; endif; echo PHP_EOL; }; $outputCategoryItemTail = function () { ?>
    • BcBaser->element('sitemap', array( 'pageList' => $pageCategories['children'], 'category_title' => $category_title, 'category_url' => $category_url, 'recursive' => $recursive+1 )); endif; if($outputed_category_li): $outputCategoryItemTail(); endif; endforeach; endif; ?>

    ポイントは「$bcBaser = $this->BcBaser;」して$bcBaserを無形関数に渡して使用するところです。

    Facebooktwitterlinkedintumblrmail

    タグ: ,

    名前
    E-mail
    URL
    コメント

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)