1 1 1 1 1 1 1 1 1 1 Рейтинг: 5.00 - 1 отзыв

Хочется сделать вводную часть материала в Joomla 3, как можно меньше, поэтому дату, автора и количество просмотров, убираем. Весь блок вывода дополнительной информации статьи, должен выводиться только в самой основной части материала. А во вводной части, он не нужен.

Убрать дату в вводной части в Joomla 3

Убрать дату в вводной части в Joomla 3

денежный трактор

Точно так же, как при решении вопросов со ссылкой с вводного изображения и с простановкой ссылки с вводного текста на основную часть, вам, читатели сайта rtr24.ru,  понадобятся два файла:

шаблон/html/com_content/category/blog_item.php

шаблон/html/com_content/featured/default_item.php

 

Забираем копии этих файлов из:

\public_html\components\com_content\views\category\tmpl\blog_item.php

\public_html\components\com_content\views\featured\tmpl\default_item.php

и создаем папки, если их нет, в шаблоне сайта.

 

Теперь в blog_item.php, ищем код:

<?php if ($useDefList) : ?>
<?php echo JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
<?php endif; ?>

и удаляем его.

 

А в файле default_item.php, отвечающем за вывод на главной странице, удаляем вот этот код:

<?php if ($this->item->state == 0) : ?>
<span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span>
<?php endif; ?>
<?php if (strtotime($this->item->publish_up) > strtotime(JFactory::getDate())) : ?>
<span class="label label-warning"><?php echo JText::_('JNOTPUBLISHEDYET'); ?></span>
<?php endif; ?>
<?php if ((strtotime($this->item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != '0000-00-00 00:00:00') : ?>
<span class="label label-warning"><?php echo JText::_('JEXPIRED'); ?></span>
<?php endif; ?>

<?php if ($params->get('show_print_icon') || $params->get('show_email_icon') || $canEdit) : ?>
<div class="btn-group pull-right"> <a class="btn dropdown-toggle" data-toggle="dropdown" href="#" role="button"> <span class="icon-cog"></span> <span class="caret"></span> </a>
<ul class="dropdown-menu">
<?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 // Todo Not that elegant would be nice to group the params ?>
<?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)) : ?>
<dl class="article-info muted">
<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->author; ?>
<?php $author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author); ?>
<?php if (!empty($this->item->contact_link) && $params->get('link_author') == true) : ?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', $this->item->contact_link, $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">
<?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">

<?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">

<?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>
<?php endif; ?>

Теперь при выводе вводной части материала, блок дополнительной информации статьи (дата, автор, количество просмотром, категория), не будет показан.

Можно и оставить категорию. например. Но в одном проекте я убираю всю ненужную информацию из блога категории.

 

А при просмотре полной статьи, будет выведен в том месте, где вы его расположили (я например сейчас в новых проектах, располагаю снизу, чтобы не отвлекали внимание). В общем задачу "убрать дату в вводной части в Joomla 3", мы выполнили.

Этот тот проект, где я выводил изображение с закругленными краями в блоге категории.

Как переместить дату публикации материала, вниз, в один ряд с категорией

Дата вверху бывает полезна, но иногда она служит дурную службу. Дело в том. что Google показывая в поисковой выдаче статью, показывает и дату, если она указана вверху. А теперь спросите себя, как часто вы читаете статьи например о сео, датированные 2009 годом? Они ведь устарели! думает большинство.

В общем если нужно переместить дату (а ее все же нужно оставить в статье) вниз, то в:

public_html\templates\ШАБЛОН\html\com_content\article берем фал default.php.

У всех код будет разный, но смысл одинаков. У меня например за вывод даты и автора отвечает такой код:

if (strlen($article->published))
$params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->publishedDateInfo($article->published) . "</span>";
if (strlen($article->author))
$params['metadata-header-icons'][] = "<span class=\"art-postauthoricon\">" . $article->authorInfo($article->author, $article->authorLink) . "</span>";

Заменяем header на footer и ставлю этот код ниже кода вывода категории. Вот такой кусок кода у меня получился:

денежный трактор

if (strlen($article->category))
$params['metadata-footer-icons'][] = "<span class=\"art-postcategoryicon\">"
. $article->categories($article->parentCategory, $article->parentCategoryLink, $article->category, $article->categoryLink)
. "</span>";
if (strlen($article->published))
$params['metadata-footer-icons'][] = "<span class=\"art-postdateicon\">" . $article->publishedDateInfo($article->published) . "</span>";
if (strlen($article->author))
$params['metadata-footer-icons'][] = "<span class=\"art-postauthoricon\">" . $article->authorInfo($article->author, $article->authorLink) . "</span>";

Слово "footer" я написал, потому что у кода вывода категории так написано. А я хочу, чтобы внизу статьи в один ряд была выведена категория, дата и автор.

Добавить комментарий

Защитный код
Обновить