Re: blockの作成・編集時に、そのページのテーマのパスを取得したい。
2011年1月21日 at 22:25
ブロックの編集画面は、Pageではなくて、toolsのadd_block_popup.php経由で呼び出されます。
なので、View::getInstance();では編集中のページのviewではなく、ブロックの編集画面のviewを持って来てしまうと思います。
なので、add_block_popup.phpに渡されるcIDからページ(コレクション)オブジェクトを持って来て、使用されているテーマを取得する3の方法が使えます。
ただ、見たところ$currentPageを使わずに、何故かいきなり$ptを使っているのが問題だと思います。
普通に
$currentPage = Page::getByID($_REQUEST["cID"]);
$t = $currentPage->getCollectionThemeObject();
$path = $t->getThemeURL();
で取れると思います。
あと、このブロックの目的が良くわかりませんが、もっと簡単な方法があると思います。
Your post has been saved and will be published after approval by the forum moderator.
iYuKiKi
Re: Re: blockの作成・編集時に、そのページのテーマのパスを取得したい。
ありがとうございます。
提示して頂いた方法で取得する事ができました。
後、試していると
$pt = PageTheme::getSiteTheme();
$path = $pt->getThemeURL();
でも取得する事が出来ました。
まだよくオブジェクトの関係を理解出来ていないようです....
3.の$pt->getCollectionThemeObject();は$pt = $currentPage->getCollectionThemeObject();の打ち間違いでした...