獲取對象的所有標籤:
$tags = \Pimcore\Model\Element\Tag::getTagsForElement("object", 3);
foreach ($tags as $tag) {
echo $tag->getName() . " (ID=" . $tag->getId() . ")<br>";
}
$ CTYPE是指一種元素類型(對象,文件,資產)和$ CID是指一個元素ID(對象ID,文檔ID,資產ID )。
要獲得有一定的標籤使用該對象的列表:
$type = "object";
$tagId = 3;
$tag = Pimcore\Model\Element\Tag::getById($tagId);
$tagPath = $tag->getFullIdPath();
$considerChildren = true;
if ($considerChildren) {
$conditionForTags = "o_id IN (SELECT cId FROM tags_assignment INNER JOIN tags ON tags.id = tags_assignment.tagid WHERE ctype = '$type' AND (id = '$tagId' OR idPath LIKE '$tagPath%'))";
} else {
$conditionForTags = "o_id IN (SELECT cId FROM tags_assignment WHERE ctype = '$type' AND tagid = '$tagId')";
}
$objectList = new \Pimcore\Model\Object\Test\Listing();
$objectList->setCondition($conditionForTags);
foreach ($objectList as $item) {
echo $item->getId() . "<br>";
}
在上面的例子中,你必須使用該標籤的ID,而不是名字!
如果您想對文檔和資產使用此方法,請將o_id替換爲id。由逗號分隔