現在使用中のテーマディレクトリのパスを取得する
[2014.1.5追記]
baserCMS3にて、現在使用中のテーマディレクトリのパスを出力する関数 themeUrl() と、取得する関数 getThemeUrl() が追加されました。本記事の最後に、その使い方を追記しましたのでよろしければご参照ください。
オリジナルのテーマを作っていると、現在使用中のテーマディレクトリのパスを取得する必要が出てくるかと思います。『Foundation』をベースに作っている(2013年7月現在)本サイトのテーマがまさにそうでして、同梱されている Zepto.js と jQuery へのパスをHTMLソースとして出力する必要があるのです。
で、WordPressだとたとえば get_stylesheet_directory_uri() でテーマディレクトリへのパス(URI)を取得できるので、同様のことがbaserCMSでもできないかなー?とソースを探ってみたんですね。
結論からいうと、関数一発で取得!というわけには現状いかなそうです。
さしあたりの解決策として、こんなコードで本サイトでは実装してます。
$theme_dir = $bcBaser->getRoot() . 'themed/' . $siteConfig['theme'];
$bcBaser->getRoot() は公式ドキュメントにもある「baserCMSが設置されているパスを取得する」関数。これと、管理パネルの「システム管理」での設定値などが入っている連想配列 $siteConfig 内の値を組み合わせてパスを生成してるというわけです。
もし「いやいや、こうすればもっと簡単に取得できるヨー」というのがあれば @tecking までお知らせくださるとうれしいです。
[2014.1.5追記]
baserCMS3にて追加された関数 themeUrl() と getThemeUrl() のおかげで、パスの出力・取得がずいぶん楽になりました。下記のようにコードを記述すれば、テーマディレクトリのパスを出力・取得できます。
《出力》 /theme/{テーマディレクトリ名}/ が出力されます
<?php $this->BcBaser->themeUrl() ?>
《取得》 変数 $theme に文字列 /theme/{テーマディレクトリ名}/ が代入されます
<?php $theme = $this->BcBaser->getThemeUrl() ?>