Re: ページ内のスタックのブロックIDの取得方法
2015年12月17日 at 18:11
あまり時間が取れず検証環境を作れないので、ヒント程度にしかならないかもしれませんが…
stackの取得は
$stack = Stack::getByName('Test Stack');
で出来ます。あとは、これをvar_dump()してみるのはどうでしょうか?
Your post has been saved and will be published after approval by the forum moderator.
わんたん
Re: ページ内のスタックのブロックIDの取得方法
ユーザー定義スタックの中のブロック一覧は下記で取得できました!
$db = Loader::db();
$v = array( Stack::ST_TYPE_USER_ADDED );
$rs = $db->GetCol('select stName from Stacks where Stacks.stType = ?', $v );
$blocks_stack = array();
if (count($rs) > 0) {
$pcp = new Permissions($this);
foreach($rs as $garHandle) {
if ($pcp->canViewPageVersions()) {
$s = Stack::getByName($garHandle, 'RECENT');
} else {
$s = Stack::getByName($garHandle, 'ACTIVE');
}
if (is_object($s)) {
$blocksTmp = $s->getBlocks(STACKS_AREA_NAME);
$blocks_stack = array_merge($blocks_stack, $blocksTmp);
}
}
}
var_dump($blocks_stack);