как сузить зону действия 'show_title'?

  • 5 Ответов
  • 357 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

ilunga

  • Осваиваюсь на форуме
  • ***
  • 42
  • 0
Здравствуйте.

Youtheme-шаблон на Joomla 3.0 и фреймворке Warp, апдейт до Joomla! 3.4.5 Stable. Всё работает нормально.

Но есть одна непонятка:
Менеджер материалов > Настройка, Материалы > Заголовок  включает/выключает отображение не только Заголовка статьи, но и блока информации под ним (даты, автора, категорию). Т.е. практически весь блок <header> из com_content default.php.

Поэтому создаётся впечатление, что опция 'show_title' настроена на регулирование блока <header>, а не только его элемента <H2>.

Поскольку вид материала определяется не джумловским components\com_content\views\article\tmpl\default.php,
а Warp-овским шаблоном с блоком  <header>
templates\[шаблон]\warp\systems\joomla\layouts\com_content\article\default.php,
то и регулировка опции  'show_title' тоже, видимо, задаётся в недрах Warp.

Упомянутый блок  <header>  выглядит так:
Спойлер
[свернуть]

Подскажите, в каком файле посмотреть эти настройки, или почему это может происходить?
« Последнее редактирование: 31.10.2015, 16:05:37 от ilunga »

*

x1

  • Давно я тут
  • ****
  • 372
  • 14
Re: как сузить зону действия 'show_title'?
« Ответ #1 : 31.10.2015, 14:17:59 »
Специально посмотрел на чистой Joomla без фреймворка - отключается только заголовок, все остальное остается (автр дата категория). Думаю искать надо в шаблоне отображения материала вашего фреймворка.
Второй момент - посмотрите исходный код (или c помощью FireBug) страницы - возможно какой нибудь margin: -100px прячет информацию.
« Последнее редактирование: 31.10.2015, 14:25:07 от x1 »

*

ilunga

  • Осваиваюсь на форуме
  • ***
  • 42
  • 0
Re: как сузить зону действия 'show_title'?
« Ответ #2 : 31.10.2015, 14:36:42 »
Специально посмотрел на чистой Joomla без фреймворка - отключается только заголовок, все остальное остается (автр дата категория). Думаю искать надо в шаблоне отображения материала вашего фреймворка.
Второй момент - посмотрите исходный код (или c помощью FireBug) страницы - возможно какой нибудь margin: -100px прячет информацию.
да, я тоже сравнивал и тоже пришел к этому выводу. Поэтому добавил код упомянутого блока в вопрос.

Проблема в том, что я не знаю - в каком месте и по какому поисковому запросу искать файл, регулирующий это действо.
« Последнее редактирование: 31.10.2015, 15:26:32 от ilunga »

*

midav

  • Живу я здесь
  • ******
  • 927
  • 113
Re: как сузить зону действия 'show_title'?
« Ответ #3 : 31.10.2015, 15:15:40 »
Проблема в том, что я не знаю - в каком месте и по какому поисковому запросу искать файл, регулирующий это действо.


В этом файле похоже и регулируется сие действо . Если в параметрах указано не выводить заголовок, то отключается весь блок header .
Замените содержимое файла на это :
Код: php
<header>

<?php if (!$this->print) : ?>
<?php if ($params->get('show_email_icon')) : ?>
<div class="icon email"><?php echo JHtml::_('icon.email',  $this->item, $params); ?></div>
<?php endif; ?>

<?php if ($params->get('show_print_icon')) : ?>
<div class="icon print"><?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?></div>
<?php endif; ?>
<?php else : ?>
<div class="icon printscreen"><?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?></div>
<?php endif; ?>


<?php if ($params->get('show_title')) : ?>
<h1 class="title"><?php echo $this->escape($this->item->title); ?></h1>
<?php endif; ?>

<?php if ($params->get('show_create_date') || ($params->get('show_author') && !empty($this->item->author)) || $params->get('show_category')) : ?>
<p class="meta">

<?php

if ($params->get('show_author') && !empty($this->item->author )) {

$author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author;

if (!empty($this->item->contactid) && $params->get('link_author') == true) {

$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;

echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author));
} else {
echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author);
}

}

if ($params->get('show_create_date')) {
                        echo ' '.' <time datetime="'.substr($this->item->created, 0,10).'" pubdate>'.JHtml::_('date', $this->item->created, JText::_('d F'));
                    if ( JHTML::_('date', $this->item->created, ('Y'))!= date('Y')) {
                        echo ' '.JHTML::_('date', $this->item->created, ('Y'));
                    }
                        echo '</time>';
                    }

if (($params->get('show_author') && !empty($this->item->author )) || $params->get('show_create_date')) {
echo '. ';
}

if ($params->get('show_category')) {
echo JText::_('TPL_WARP_POSTED_IN').' ';
$title = $this->escape($this->item->category_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';
if ($params->get('link_category') AND $this->item->catslug) {
echo $url;
} else {
echo $title;
}
}

?>

</p>

</header>
Ответы на вопросы по CSS . Откройте для себя Firebug

*

ilunga

  • Осваиваюсь на форуме
  • ***
  • 42
  • 0
Re: как сузить зону действия 'show_title'?
« Ответ #4 : 31.10.2015, 15:26:18 »
В этом файле похоже и регулируется сие действо . Если в параметрах указано не выводить заголовок, то отключается весь блок header .
да, я тоже к этому сейчас пришел (и добавил эту первую строку в примере кода).
Спасибо, но ваше предложение пока не работает, видимо, потому что условие стоит перед header:
Код
<?php if ($params->get('show_title')) : ?>
<header>

Получается, что для того, чтобы ваш код сработал, надо убрать условие перед header... щас попробуем.
« Последнее редактирование: 31.10.2015, 15:40:05 от ilunga »

*

ilunga

  • Осваиваюсь на форуме
  • ***
  • 42
  • 0
Re: как сузить зону действия 'show_title'?
« Ответ #5 : 31.10.2015, 16:03:13 »
да, все произошло. Только в другом шаблоне
templates\[yoo_template]\warp\systems\joomla\layouts\com_content\category\blog_item.php

+ выправил все три найденных шаблона Warp с этим условием.

практически синхронно с вашим ответом я понял логику условий и место редактирования.
midav, спасибо. Плюс в карму :)
« Последнее редактирование: 31.10.2015, 16:07:54 от ilunga »