joomla - Alternative layout is applied to an article but not the other -
i'm using joomla 3.x , create article override. works fine articles. when apply article, inside single article menu item, not work.
update
here entire override file:
<?php /** * @package joomla.site * @subpackage com_content * * @copyright copyright (c) 2005 - 2013 open source matters, inc. rights reserved. * @license gnu general public license version 2 or later; see license.txt */ defined('_jexec') or die; jhtml::addincludepath(jpath_component . '/helpers'); // create shortcuts parameters. $params = $this->item->params; $images = json_decode($this->item->images); $urls = json_decode($this->item->urls); $canedit = $params->get('access-edit'); $user = jfactory::getuser(); $info = $params->get('info_block_position', 0); jhtml::_('behavior.caption'); ?> <div class="item-page<?php echo $this->pageclass_sfx?>"> <?php if ($this->params->get('show_page_heading') && $params->get('show_title')) : ?> <div class="page-header"> <h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1> </div> <?php endif; if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) { echo $this->item->pagination; } ?> <?php if ($params->get('show_title') || $params->get('show_author')) : ?> <div class="page-header"> <h2> <?php if ($this->item->state == 0) : ?> <span class="label label-warning"><?php echo jtext::_('junpublished'); ?></span> <?php endif; ?> <?php if ($params->get('show_title')) : ?> <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?> <a href="<?php echo $this->item->readmore_link; ?>"> <?php echo $this->escape($this->item->title); ?></a> <?php else : ?> <?php echo $this->escape($this->item->title); ?> <?php endif; ?> <?php endif; ?> </h2> <p class="date-created"><?php echo jtext::sprintf('com_content_created_date_on', jhtml::_('date', $this->item->created, jtext::_('date_format_lc3'))); ?></p> </div> <?php endif; ?> <?php if (!$this->print) : ?> <?php if ($canedit || $params->get('show_print_icon') || $params->get('show_email_icon')) : ?> <div class="btn-group pull-right"> <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <span class="icon-cog"></span> <span class="caret"></span> </a> <?php // note actions class deprecated. use dropdown-menu instead. ?> <ul class="dropdown-menu actions"> <?php if ($params->get('show_print_icon')) : ?> <li class="print-icon"> <?php echo jhtml::_('icon.print_popup', $this->item, $params); ?> </li> <?php endif; ?> <?php if ($params->get('show_email_icon')) : ?> <li class="email-icon"> <?php echo jhtml::_('icon.email', $this->item, $params); ?> </li> <?php endif; ?> <?php if ($canedit) : ?> <li class="edit-icon"> <?php echo jhtml::_('icon.edit', $this->item, $params); ?> </li> <?php endif; ?> </ul> </div> <?php endif; ?> <?php else : ?> <div class="pull-right"> <?php echo jhtml::_('icon.print_screen', $this->item, $params); ?> </div> <?php endif; ?> <?php $usedeflist = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author')); ?> <?php if ($usedeflist && ($info == 0 || $info == 2)) : ?> <div class="article-info muted"> <dl class="article-info"> <!--<dt class="article-info-term"><?php echo jtext::_('com_content_article_info'); ?></dt>--> <?php if ($params->get('show_author') && !empty($this->item->author )) : ?> <dd class="createdby"> <?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?> <?php if (!empty($this->item->contactid) && $params->get('link_author') == true) : ?> <?php $needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid; $menu = jfactory::getapplication()->getmenu(); $item = $menu->getitems('link', $needle, true); $cntlink = !empty($item) ? $needle . '&itemid=' . $item->id : $needle; ?> <?php echo jtext::sprintf('com_content_written_by', jhtml::_('link', jroute::_($cntlink), $author)); ?> <?php else: ?> <?php echo jtext::sprintf('com_content_written_by', $author); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_parent_category') && !empty($this->item->parent_slug)) : ?> <dd class="parent-category-name"> <?php $title = $this->escape($this->item->parent_title); $url = '<a href="'.jroute::_(contenthelperroute::getcategoryroute($this->item->parent_slug)).'">'.$title.'</a>';?> <?php if ($params->get('link_parent_category') && !empty($this->item->parent_slug)) : ?> <?php echo jtext::sprintf('com_content_parent', $url); ?> <?php else : ?> <?php echo jtext::sprintf('com_content_parent', $title); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_category')) : ?> <dd class="category-name"> <?php $title = $this->escape($this->item->category_title); $url = '<a href="' . jroute::_(contenthelperroute::getcategoryroute($this->item->catslug)) . '">' . $title . '</a>';?> <?php if ($params->get('link_category') && $this->item->catslug) : ?> <?php echo jtext::sprintf('com_content_category', $url); ?> <?php else : ?> <?php echo jtext::sprintf('com_content_category', $title); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_publish_date')) : ?> <dd class="published"> <!--<span class="icon-calendar"></span>--> <?php echo jtext::sprintf('com_content_published_date_on', jhtml::_('date', $this->item->publish_up, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php if ($info == 0) : ?> <?php if ($params->get('show_modify_date')) : ?> <dd class="modified"> <!--<span class="icon-calendar"></span>--> <?php echo jtext::sprintf('com_content_last_updated', jhtml::_('date', $this->item->modified, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php if ($params->get('show_create_date')) : ?> <dd class="create"> <!--<span class="icon-calendar"></span>--> <?php echo jtext::sprintf('com_content_created_date_on', jhtml::_('date', $this->item->created, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php if ($params->get('show_hits')) : ?> <dd class="hits"> <span class="icon-eye-open"></span> <?php echo jtext::sprintf('com_content_article_hits', $this->item->hits); ?> </dd> <?php endif; ?> <?php endif; ?> </dl> </div> <?php endif; ?> <?php if (!$params->get('show_intro')) : echo $this->item->event->afterdisplaytitle; endif; ?> <?php echo $this->item->event->beforedisplaycontent; ?> <?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '0')) || ($params->get('urls_position') == '0' && empty($urls->urls_position))) || (empty($urls->urls_position) && (!$params->get('urls_position')))) : ?> <?php echo $this->loadtemplate('links'); ?> <?php endif; ?> <?php if ($params->get('access-view')):?> <?php if (isset($images->image_fulltext) && !empty($images->image_fulltext)) : ?> <?php $imgfloat = (empty($images->float_fulltext)) ? $params->get('float_fulltext') : $images->float_fulltext; ?> <div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image"> <img <?php if ($images->image_fulltext_caption): echo 'class="caption"'.' title="' .htmlspecialchars($images->image_fulltext_caption) . '"'; endif; ?> src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>"/> </div> <?php endif; ?> <?php if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && !$this->item->paginationrelative): echo $this->item->pagination; endif; ?> <?php if (isset ($this->item->toc)) : echo $this->item->toc; endif; ?> <div class="article-text"><?php echo $this->item->text; ?></div> <?php if ($usedeflist && ($info == 1 || $info == 2)) : ?> <div class="article-info muted"> <dl class="article-info"> <!--<dt class="article-info-term"><?php echo jtext::_('com_content_article_info'); ?></dt>--> <?php if ($info == 1) : ?> <?php if ($params->get('show_author') && !empty($this->item->author )) : ?> <dd class="createdby"> <?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?> <?php if (!empty($this->item->contactid) && $params->get('link_author') == true) : ?> <?php $needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid; $menu = jfactory::getapplication()->getmenu(); $item = $menu->getitems('link', $needle, true); $cntlink = !empty($item) ? $needle . '&itemid=' . $item->id : $needle; ?> <?php echo jtext::sprintf('com_content_written_by', jhtml::_('link', jroute::_($cntlink), $author)); ?> <?php else: ?> <?php echo jtext::sprintf('com_content_written_by', $author); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_parent_category') && !empty($this->item->parent_slug)) : ?> <dd class="parent-category-name"> <?php $title = $this->escape($this->item->parent_title); $url = '<a href="' . jroute::_(contenthelperroute::getcategoryroute($this->item->parent_slug)) . '">' . $title . '</a>';?> <?php if ($params->get('link_parent_category') && $this->item->parent_slug) : ?> <?php echo jtext::sprintf('com_content_parent', $url); ?> <?php else : ?> <?php echo jtext::sprintf('com_content_parent', $title); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_category')) : ?> <dd class="category-name"> <?php $title = $this->escape($this->item->category_title); $url = '<a href="' . jroute::_(contenthelperroute::getcategoryroute($this->item->catslug)) . '">' . $title . '</a>';?> <?php if ($params->get('link_category') && $this->item->catslug) : ?> <?php echo jtext::sprintf('com_content_category', $url); ?> <?php else : ?> <?php echo jtext::sprintf('com_content_category', $title); ?> <?php endif; ?> </dd> <?php endif; ?> <?php if ($params->get('show_publish_date')) : ?> <dd class="published"> <!--<!--<span class="icon-calendar"></span>-->--> <?php echo jtext::sprintf('com_content_published_date_on', jhtml::_('date', $this->item->publish_up, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php endif; ?> <?php if ($params->get('show_create_date')) : ?> <dd class="create"> <!--<!--<span class="icon-calendar"></span>-->--> <?php echo jtext::sprintf('com_content_created_date_on', jhtml::_('date', $this->item->modified, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php if ($params->get('show_modify_date')) : ?> <dd class="modified"> <!--<span class="icon-calendar"></span>--> <?php echo jtext::sprintf('com_content_last_updated', jhtml::_('date', $this->item->modified, jtext::_('date_format_lc3'))); ?> </dd> <?php endif; ?> <?php if ($params->get('show_hits')) : ?> <dd class="hits"> <span class="icon-eye-open"></span> <?php echo jtext::sprintf('com_content_article_hits', $this->item->hits); ?> </dd> <?php endif; ?> </dl> </div> <?php endif; ?> <?php if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative): echo $this->item->pagination; ?> <?php endif; ?> <?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '1')) || ($params->get('urls_position') == '1'))) : ?> <?php echo $this->loadtemplate('links'); ?> <?php endif; ?> <?php //optional teaser intro text guests ?> <?php elseif ($params->get('show_noauth') == true && $user->get('guest')) : ?> <?php echo $this->item->introtext; ?> <?php //optional link let them register see whole article. ?> <?php if ($params->get('show_readmore') && $this->item->fulltext != null) : $link1 = jroute::_('index.php?option=com_users&view=login'); $link = new juri($link1);?> <p class="readmore"> <a href="<?php echo $link; ?>"> <?php $attribs = json_decode($this->item->attribs); ?> <?php if ($attribs->alternative_readmore == null) : echo jtext::_('com_content_register_to_read_more'); elseif ($readmore = $this->item->alternative_readmore) : echo $readmore; if ($params->get('show_readmore_title', 0) != 0) : echo jhtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); endif; elseif ($params->get('show_readmore_title', 0) == 0) : echo jtext::sprintf('com_content_read_more_title'); else : echo jtext::_('com_content_read_more'); echo jhtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); endif; ?> </a> </p> <?php endif; ?> <?php endif; ?> <?php if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && $this->item->paginationrelative) : echo $this->item->pagination; ?> <?php endif; ?> <?php echo $this->item->event->afterdisplaycontent; ?> </div>
update 2
i discovered 1 thing: if article associated menu item (type:category list), alternative layout works. when article associated menu item (type:single article), alternative layout not work. how alternative layout function in both cases?
solved!
i create custom menu item type.
more informations here: http://docs.joomla.org/layout_overrides_in_joomla_2.5
and here: http://jure-stern.si/blog/custom-menu-item-types-in-joomla-with-xml-files/
Comments
Post a Comment