public function addTagDef(TagDef $tag) { if (array_key_exists($tag->Id, $this->fields['TagDefs'])) { throw new SchemaException('Tag with id [' . $tag->Id . '] already exists in schema'); } if ($tag->isTreeorigin()) { $this->fields['TreeOriginTagDef'] = $tag; } $this->fields['TagDefs'][$tag->Id] = $tag; return $this; }
public static function determineMatchPartial(TagDef $tagDef, $slug) { $matchPartial = clone $tagDef->getPartial(); $value_options = $tagDef->ValueOptions; if ($value_options) { $value_multiple = $value_options->isMultiple(); if (!$value_multiple) { $matchPartial->TagValue = ''; } } if (!$tagDef->isMultiple()) { $matchPartial->TagSlug = ''; } else { $matchPartial->TagSlug = $slug; } return $matchPartial; }