检测Block是否在Concrete5中处于活动状态


Detect if Block is active in Concrete5

Concrete5 block在被"移除"时不会因为历史记录中的一致性原因而被删除。

现在我有以下情况:我有一个自定义块与数据库表称为btMyCustomBlock

它看起来像这样:

 |---bID---|---cID---|---someParam---|

现在,当这样的块被"删除"并且Page被保存时,数据库仍然会维护该块-这是ok的。

BUT:我需要一种方法来检测我的块现在是否在这个页面上使用。我在找这样的东西:

从btMyCustomBlock中选择一个随机条目,WHERE条目现在被用作页面上的块。

我该怎么做呢?我发现表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

获取连接到当前批准的页面版本的所有记录