检测 Block 在 Concrete5 中是否处于活动状态
Detect if Block is active in Concrete5
Concrete5 块在 "removed" 时不会被删除,因为历史中的一致性原因。
现在我有以下情况:
我有一个 自定义块,数据库 table 名为 btMyCustomBlock。
看起来像这样:
|---bID---|---cID---|---someParam---|
现在,当这样一个块是 "removed" 并且页面被保存时,数据库仍然会维护这个块 - 这没问题。
但是:我需要一种方法来检测我的块现在是否在此页面上使用。我正在寻找类似的东西:
Select a random entry from btMyCustomBlock WHERE entry is used as a block on the page right now.
我该怎么做?我发现 table Blocks 有字段 bIsActive
但似乎这与我正在寻找的内容不相关,是吗?
我相信你要找的就是这个
SELECT b.*
FROM btMyCustomBlock b
INNER JOIN CollectionVersionBlocks cvb ON b.bID = cvb.bID
INNER JOIN CollectionVersions cv ON cvb.cvID = cv.cvID
WHERE cv.cvIsApproved = 1
获取连接到当前批准的页面版本的所有记录。
Concrete5 块在 "removed" 时不会被删除,因为历史中的一致性原因。
现在我有以下情况: 我有一个 自定义块,数据库 table 名为 btMyCustomBlock。
看起来像这样:
|---bID---|---cID---|---someParam---|
现在,当这样一个块是 "removed" 并且页面被保存时,数据库仍然会维护这个块 - 这没问题。
但是:我需要一种方法来检测我的块现在是否在此页面上使用。我正在寻找类似的东西:
Select a random entry from btMyCustomBlock WHERE entry is used as a block on the page right now.
我该怎么做?我发现 table Blocks 有字段 bIsActive
但似乎这与我正在寻找的内容不相关,是吗?
我相信你要找的就是这个
SELECT b.*
FROM btMyCustomBlock b
INNER JOIN CollectionVersionBlocks cvb ON b.bID = cvb.bID
INNER JOIN CollectionVersions cv ON cvb.cvID = cv.cvID
WHERE cv.cvIsApproved = 1
获取连接到当前批准的页面版本的所有记录。