/** * Returns the table view HTML for a given attribute. * * @param BaseElementModel $element * @param string $attribute * @return string */ public function getTableAttributeHtml(BaseElementModel $element, $attribute) { switch ($attribute) { case 'owner': if ($element->ownerType == 'guest') { return Craft::t('Guest'); } else { $user = craft()->users->getUserById($element->ownerId); if ($user == null) { return Craft::t('[Deleted User]'); } else { $url = UrlHelper::getCpUrl('users/' . $user->id); return "<a href='" . $url . "'>" . $user->getFriendlyName() . "</a>"; } } case 'itemCount': return count($element->items()); case 'itemList': $items = $element->items(); $str = array(); $i = 0; foreach ($items as $item) { if ($i < $this->listInlineViewLimit) { $parent = craft()->entries->getEntryById($item->elementId); $url = UrlHelper::getCpUrl('shortlist/list/' . $element->id . '#' . $item->elementId); $str[] = '<a href="' . $url . '">' . $parent->title . '</a>'; } $i++; } $ret = implode(', ', $str); if (count($items) > $this->listInlineViewLimit) { $hidden = count($items) - $this->listInlineViewLimit; $moreUrl = UrlHelper::getCpUrl('shortlist/list/' . $element->id . '#items'); $ret .= " .. <a href='" . $moreUrl . "'>+" . $hidden . " more</a>"; } return $ret; default: return $element->{$attribute}; } }