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

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
Привет!
Собственно, разрабатываю новостной сайт. Необходимо некоторые горячие новости как-то отмечать, поскольку они выкладываются в виде ленты. Пока что додумался только впихивать в заголовки спецзнаки, но это не очень эстетично, да и на некоторых компах могут быть проблемы с их отображением. Можно ли как-то выделить цветом отдельные заголовки?
Вот например, новости:

- В Москве сегодня штормовое
 - Агутин побрил подмышки в поддержку сборной России
 - В Кудыкине произошло мощное землетрясение
 - Жирный голубь нагадил на фортепиано Крутого



Кстати, если есть какой-то подобный модуль или компонент, который вот так вот может новости выводить и отмечать,  то будет ваще идеально.
*

kreker92

  • Захожу иногда
  • 391
  • 16 / 0
Можно особые новости добавлять в избранное и свои стили прописать для избранной новости.
Ну и в шаблоне, если там такого еще нет, нужно проверять избранная ли новость и класс задавать особый.
Все вопросы и предложения на почту.
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
Можно особые новости добавлять в избранное и свои стили прописать для избранной новости.
Ну и в шаблоне, если там такого еще нет, нужно проверять избранная ли новость и класс задавать особый.

а как это реализовать?

Вот, например, у меня шаблон от артистера. Где мне искать вообще стиль избранной новости? и если его нет, то как и где прописать?

Если подумать, то вот у меня в шаблоне есть 6 видов заголовков. Для все них есть свой стиль. При этом на сайте используется только 3-4 вида, остальные вообще не используются. Можно, например, определенные новости именно этими видами заголовков выделять и нового ничего не придумывать, но вот только как это реализовать? Хз..Я пока даже не представляю, где искать стили избранной новости. Избранная, по сути, только выводится на главную. Это её и отличает.
« Последнее редактирование: 24.06.2014, 06:06:23 от mr.shusty »
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
вот нашел неплохой вариант на другом форуме ( цитирую ):

Цитировать
тогда можно сделать "финт ушами"  в опциях статьи выбираешь ту. которая у тебя не используется по умолчанию и для нужных тебе статей включаешь ее. далее в шаблоне находишь вывод данных этой опции и присваиваешь стиль + скрываешь в CSS, а уже для заголовка статьи делаешь if else и там прописываешь, что если опция активна - заголовок такой и такой ему цвет, иначе по умолчанию
так же можешь посмотреть на счет использования альтернативных шаблонов для конкретных статей в тех же опциях

то есть, при включении/отключении какой-то определенной опции статьи ( например, показ имейла ) будет меняться цвет заголовка. Сказали сделать вот так:

открываешь файл /components/com_content/views/article/tmpl/default.php
допустим запилим все на опцию show_email_icon
ищешь кусок кода

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

и вносишь его в DIV + style=display:none;
далее поднимешься вверх к выводу заголовка
находишь
Код
<h1><?php echo $this->escape($this->item->title); ?></h1>

и меняешь его на
Код
<?php if ($params->get('show_email_icon')) { ?>
<span style="color:gold !important;">
<h1><?php echo $this->escape($this->item->title); ?></h1>
</span>
<?php } else { ?>
<h1><?php echo $this->escape($this->item->title); ?></h1>
<?php } ?>

В принципе, суть довольно таки проста и ясна, но я не прогер, поэтому мне непонятно вот это:
" ищешь кусок кода......и вносишь его в DIV + style=display:none;".  Что значит "и вносишь его в DIV + style=display:none;"?? Это где, как и каким способом делать?
*

kreker92

  • Захожу иногда
  • 391
  • 16 / 0
Мой предложенный способ похож. Просто как решение предложил избранное, а не вывод email или еще чего.
Где все это менять зависит от того через какой модуль этот список новостей выводится.
Допустим вы используете mod_articles_news (Материалы - Новости).
Заходим в modules -> mod_articles_latest -> tmpl -> default.php

Будем использовать свойство новости показать дату создания
И тогда код будет выглядеть так:
Код: php
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) :  ?>
<li class="<?php if($item->params->get('show_create_date')) echo 'special'; ?>" itemscope itemtype="http://schema.org/Article">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name"><?php echo $item->title; ?></span></a>
</li>
<?php endforeach; ?>
</ul>

Далее display: none нужно поставить для скрытия этой инфы в самой новости.
Заходим в материал шже поставили вывод даты создания, находите какой там класс или еще определить данный кусок. У меня это .article-info.muted
И пишете
Код: css
.article-info.muted { display: none; }

А для класс special прописать стили заголовка.

П.С. Делал все на шаблоне Protostar, поэтому у вас код может и будет отличаться, а так, суть должна быть ясна.
Все вопросы и предложения на почту.
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
У меня с этим усложняется всё малость ( а может не не малость ). Я материал вывожу через модуль новостной сторонний. Поэтому изменение стилей для определенных новостей проканает только тогда, когда ты эту новость откроешь полностью. А сейчас у меня все заголовки показаны через новостник. У него в параметрах отдельно задаётся формат заголовков. Поэтому сколько не меняй в самом материале - ничего не выйдет. Это только если джумловскими методами выводить...Тогда да.
Хотя я еще пересмотрю варианты. Может, на стандартные способы перейду. Если через суффиксы получится оформить вывод приемлемо, то этим способом воспользуюсь. А пока никак, к сожалению...

Конечно, можно сделать, чтобы модуль определял избранную новость и для неё присваивал тоже отдельное что-то. Но это уже целый плагин нужно писать с нуля)))
*

kreker92

  • Захожу иногда
  • 391
  • 16 / 0
Какой модуль не бери данные по материалу одни и те же.
Все вопросы и предложения на почту.
*

Taatshi

  • Глобальный модератор
  • 4967
  • 465 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
Есть такая бешеная идея)

В материале есть поле, которое практически никогда не используется: псевдоним автора. можно там прописывать стиль CSS - например, red

В шаблоне вывода новости в вашем модуле вытащить этот псевдоним в цикле и добавлять его как суффикс с ссылке
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
При чем тут всё это ? Ну вот вы мне говорите, мол, если перекрасить заголовки в другой цвет, то они и в любом модуле перекрасятся. Ну я то уже пробовал..То есть, если даже просто изменить стиль заголовков по уже существующим стилям, то всё равно нет реакции.
Вот у меня щас заголовки H3 синие. Я ставил другие, например, H4 черные и жирные. Но это ситуацию не меняло, они в модуле как были 12-ым тонким шрифтом оранжевого цвета, так и остались.Потому как я в модуле так выставил. 
А то, что вы мне говорите, это, по сути, то же самое, что и я делал, просто добавляется еще один стиль заголовка. Да, в материале он изменится, но модуль будет показывать своё. Ему пофигу, выводится в материале что-то, или не выводится. У него свои стили показа идут.


*

passer

  • Давно я тут
  • 901
  • 73 / 3
Вы ответы вообще читаете?
Заходим в modules -> mod_articles_latest -> tmpl -> default.php
Если у вас сторонний модуль. Заходим modules -> имя другого модуля -> tmpl -> default.php. Если tmpl -> default.php нету, шерстим остальные файлы модуля на предмет HTML в коде. Ищем вывод и правим как надо. Как надо выше уже писали. В чем проблема? Внимательно почитать ответы? Или получить готовый ответ по неизвестно какому модулю?
*

Taatshi

  • Глобальный модератор
  • 4967
  • 465 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
Озвучьте с помощью какого модуля новости выводите?
« Последнее редактирование: 25.06.2014, 10:11:05 от Taatshi »
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
блин. ребята! ну я на свет не вчера появился.

latest news enhanced модуль.

вот его файл:

Код
<?php
/**
 * @package Joomla.Site
 * @subpackage com_content
 * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

// Create shortcuts to some parameters.
$params = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();

?>
<div class="item-page<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading')) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
{
 echo $this->item->pagination;
}
 ?>

<?php if ($params->get('show_title')) : ?>
<h2>
<?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; ?>
</h2>
<?php endif; ?>

<?php if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
<ul class="actions">
<?php if (!$this->print) : ?>
<?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; ?>

<?php else : ?>
<li>
<?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
</li>
<?php endif; ?>

</ul>
<?php endif; ?>

<?php  if (!$params->get('show_intro')) :
echo $this->item->event->afterDisplayTitle;
endif; ?>

<?php echo $this->item->event->beforeDisplayContent; ?>

<?php $useDefList = (($params->get('show_author')) or ($params->get('show_category')) or ($params->get('show_parent_category'))
or ($params->get('show_create_date')) or ($params->get('show_modify_date')) or ($params->get('show_publish_date'))
or ($params->get('show_hits'))); ?>

<?php if ($useDefList) : ?>
<dl class="article-info">
<dt class="article-info-term"><?php  echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt>
<?php endif; ?>
<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
<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') and $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') and $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_create_date')) : ?>
<dd class="create">
<?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date', $this->item->created, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?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_LC2'))); ?>
</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_LC2'))); ?>
</dd>
<?php endif; ?>
<?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_hits')) : ?>
<dd class="hits">
<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
</dd>
<?php endif; ?>
<?php if ($useDefList) : ?>
</dl>
<?php endif; ?>

<?php if (isset ($this->item->toc)) : ?>
<?php echo $this->item->toc; ?>
<?php endif; ?>

<?php if (isset($urls) AND ((!empty($urls->urls_position) AND ($urls->urls_position=='0')) OR  ($params->get('urls_position')=='0' AND empty($urls->urls_position) ))
OR (empty($urls->urls_position) AND (!$params->get('urls_position')))): ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>

<?php if ($params->get('access-view')):?>
<?php  if (isset($images->image_fulltext) and !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="img-fulltext-<?php echo htmlspecialchars($imgfloat); ?>">
<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) AND $this->item->pagination AND !$this->item->paginationposition AND !$this->item->paginationrelative):
echo $this->item->pagination;
 endif;
?>
<?php echo $this->item->text; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND!$this->item->paginationrelative):
echo $this->item->pagination;?>
<?php endif; ?>

<?php if (isset($urls) AND ((!empty($urls->urls_position)  AND ($urls->urls_position=='1')) OR ( $params->get('urls_position')=='1') )): ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>
<?php //optional teaser intro text for guests ?>
<?php elseif ($params->get('show_noauth') == true and  $user->get('guest') ) : ?>
<?php echo $this->item->introtext; ?>
<?php //Optional link to let them register to see the 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) AND $this->item->pagination AND $this->item->paginationposition AND $this->item->paginationrelative):
echo $this->item->pagination;?>
<?php endif; ?>

<?php echo $this->item->event->afterDisplayContent; ?>
</div>
*

Taatshi

  • Глобальный модератор
  • 4967
  • 465 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
после
Код
<div class="item-page<?php echo $this->pageclass_sfx?>">
добавьте
Код
<?php
echo '<pre>';
print_r($item);
echo '</pre>';
?>
обновите страницу. Результат вывода переменной - сюда под спойлер
*

passer

  • Давно я тут
  • 901
  • 73 / 3
В #3 ответ дан.
Что значит "и вносишь его в DIV + style=display:none;"?? Это где, как и каким способом делать?
Где: В файле код которого приведен выше.
Как: Это значит обрамить этот участок тегами <div style="display:none;">...</div>.
Каким образом: Нажиманием соответствующих клавиш на клавиатуре.

В коде один в один как в примере, ну разве что заголовок не в H1, а в H2. Ясно. Чел. пришел типа сделайте мне, код напишите, сам думать не хочу. Ну делайте кому не лень.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Неправильная сортировка материалов

Автор anar4ik

Ответов: 1
Просмотров: 1478
Последний ответ 07.06.2015, 16:13:24
от Uman
Фильтр материалов

Автор Katya_Lar

Ответов: 1
Просмотров: 1612
Последний ответ 29.12.2014, 11:50:55
от Searisava
Не получается вывести модуль список материалов категории

Автор netlara

Ответов: 4
Просмотров: 1313
Последний ответ 04.10.2014, 21:36:15
от netlara
Некорректное отображение материалов

Автор Pomkaize

Ответов: 0
Просмотров: 575
Последний ответ 08.04.2014, 16:58:09
от Pomkaize
Менеджер материалов

Автор sva29

Ответов: 1
Просмотров: 860
Последний ответ 29.04.2013, 01:24:23
от laro4ka