On my template installation there is no frontend icon to edit an article for logged in users (publisher).
I tried to set another template (protostar) as default for testing and everything works fine...
<?php if(isset($this->item->editLink)): ?>
<a class="itemEditLink modal" rel="{handler:'iframe',size:{x:990,y:550}}" href="<?php echo $this->item->editLink; ?>"><?php echo JText::_('K2_EDIT_ITEM'); ?></a>
<?php endif; ?>
<?php if ($canEdit) : ?>
<?php echo preg_replace('@<img.*?alt="(.*?)".*?\/>@mis', '$1',JHtml::_('icon.edit', $this->item, $params)); ?>
<?php endif; ?>
<?php if ($canEdit) : ?>
<?php echo preg_replace('@<img.*?alt="(.*?)".*?\/>@mis', '$1',JHtml::_('icon.edit', $this->item, $params)); ?>
<?php if (
$params->get('show_create_date') ||
$params->get('show_publish_date') ||
$params->get('show_modify_date') ||
($params->get('show_parent_category') && $this->item->parent_slug != '1:root') ||
$params->get('show_print_icon') ||
$params->get('show_email_icon') ||
$params->get('show_category') ||
$params->get('show_hits') ||
($params->get('show_author') && !empty($this->item->author))
) : ?>
<?php if (
$params->get('show_create_date') ||
$params->get('show_publish_date') ||
$params->get('show_modify_date') ||
($params->get('show_parent_category') && $this->item->parent_slug != '1:root') ||
$params->get('show_print_icon') ||
$params->get('show_email_icon') ||
$params->get('show_category') ||
$params->get('show_hits') ||
($params->get('show_author') && !empty($this->item->author)) ||
$canEdit
) : ?>