/**
*
* @param int $itemId
* @param number $type 0 ... nothing, 1 ... tags only, 2 ... labels only, 3 ... tags and labels
* @return string
*/
public static function getTagsRendered($itemId, $type = 0, $separator = '')
{
if ($type == 1) {
// Only tags
$tags = self::getTags($itemId);
} else {
if ($type == 2) {
// Only labels
$tags = self::getTagLabels($itemId);
} else {
if ($type == 3) {
// Tags and Labels together (they can be displayed as labels in category/items view)
$t = self::getTags($itemId);
$l = self::getTagLabels($itemId);
$tags = array_merge($t, $l);
} else {
return '';
}
}
}
$db = Factory::getDBO();
$p = PhocacartUtils::getComponentParameters();
$s = PhocacartRenderStyle::getStyles();
$tl = $p->get('tags_links', 0);
$o = array();
$i = 0;
if (!empty($tags)) {
foreach ($tags as $k => $v) {
if ($type == 2 || $type == 3) {
$o[$i] = '<div class="ph-corner-icon-wrapper"><div class="ph-corner-icon ph-corner-icon-' . htmlspecialchars(strip_tags($v->alias)) . '">';
} else {
$o[$i] = '<span class="' . $s['c']['label.label-info'] . '">';
}
$dO = htmlspecialchars(strip_tags($v->title));
if ($v->display_format == 2) {
if ($v->icon_class != '') {
$dO = '<span class="' . htmlspecialchars(strip_tags($v->icon_class)) . '"></span>';
} else {
$dO = $v->title;
}
} else {
if ($v->display_format == 3) {
if ($v->icon_class != '') {
$dO = '<span class="' . htmlspecialchars(strip_tags($v->icon_class)) . '"></span>';
}
$dO .= $v->title;
}
}
if ($tl == 0) {
$o[$i] .= $dO;
} else {
if ($tl == 1) {
if ($v->link_ext != '') {
$o[$i] .= '<a href="' . $v->link_ext . '">' . $dO . '</a>';
} else {
$o[$i] .= $dO;
}
} else {
if ($tl == 2) {
if ($v->link_cat != '') {
$query = 'SELECT a.id, a.alias' . ' FROM #__phocacart_categories AS a' . ' WHERE a.id = ' . (int) $v->link_cat;
$db->setQuery($query, 0, 1);
$category = $db->loadObject();
if (isset($category->id) && isset($category->alias)) {
$link = PhocacartRoute::getCategoryRoute($category->id, $category->alias);
$o[$i] .= '<a href="' . $link . '">' . $dO . '</a>';
} else {
$o[$i] .= $dO;
}
} else {
$o[$i] .= $dO;
}
} else {
if ($tl == 3) {
$link = PhocacartRoute::getItemsRoute();
if ($type == 2 || $type == 3) {
$link = $link . PhocacartRoute::getItemsRouteSuffix('label', $v->id, $v->alias);
} else {
$link = $link . PhocacartRoute::getItemsRouteSuffix('tag', $v->id, $v->alias);
}
$o[$i] .= '<a href="' . Route::_($link) . '">' . $dO . '</a>';
}
}
}
}
if ($type == 2 || $type == 3) {
$o[$i] .= '</div></div>';
} else {
$o[$i] .= '</span>';
}
$i++;
}
}
return implode($separator, $o);
}