Новости Joomla

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

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Друзья, помогите!

При формировании блога каждая новость выдается в виде повторяющихся таблиц contentpaneopen. Можно ли сделать так, чтобы той таблице,  в которой выводится последняя опубликованная новость, присваивался отдельный класс (чтобы потом для этой новости прописать отдельный стиль)?
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Добавить условие в файл с кодом, который отвечает за формирование верстки блога. Там есть строка:
Код
<table class="contentpaneopen<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
Добавить:
Код
<table class="contentpaneopen<?php if ($numIntroArticles == $startIntroArticles){ echo "-myclass";} ?>
<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Попробовал, не получается!
Суффикс -myclass присваивается каждой таблице contentpaneopen  :(
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Что-то я вообще не то написал.
Нужно внести изменения в файл шаблона блога. Со стр.50 по 72.
Код
$divider = '';
$k=1;
if ($this->params->def('multi_column_order', 0)) : // order across, like front page
for ($z = 0; $z < $this->params->def('num_columns', 2); $z ++) :
if ($z > 0) : $divider = " column_separator"; endif; ?>
<?php
$rows = (int) ($this->params->get('num_intro_articles', 4) / $this->params->get('num_columns'));
$cols = ($this->params->get('num_intro_articles', 4) % $this->params->get('num_columns'));
?>
<td valign="top"
width="<?php echo intval(100 / $this->params->get('num_columns'))?>%"
class="article_column<?php echo $divider ?>">
<?php
$loop = (($z < $cols)?1:0) + $rows;

for ($y = 0; $y < $loop; $y ++,$k++) :
$target = $i + ($y * $this->params->get('num_columns')) + $z;
if ($target < $this->total && $target < ($numIntroArticles)) :
$this->item =& $this->getItem($target, $this->params);
echo '<div class="myclass-'.$k.'">';
echo $this->loadTemplate('item');
echo '</div>';
endif;
endfor;
?></td>
<?php endfor;
На выходе каждая таблица со статьей, будет находится в контейнере <div class="myclass-k">. Где k - номер статьи по порядку:1,2,3 и.т.д.
К любой таблице со статьей можно будет привязать стили сл. образом: div.myclass1 table.contentpanteon{}.
Если нужно изменять только последнюю статью, то надо добавить сл. условие в коде:
Код
$divider = '';
$k=1;
if ($this->params->def('multi_column_order',1)) : // order across as before
for ($z = 0; $z < $this->params->def('num_columns', 2); $z ++) :
if ($z > 0) : $divider = " column_separator"; endif; ?>
?php
$rows = (int) ($this->params->get('num_intro_articles', 4) / $this->params->get('num_columns'));
$cols = ($this->params->get('num_intro_articles', 4) % $this->params->get('num_columns'));
?>
<td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns'))?>%" class="article_column<?php echo $divider ?>">
<?php
$loop = (($z < $cols)?1:0) + $rows;

for ($y = 0; $y < $loop; $y ++,$k++) :
$target = $i + ($y * $this->params->get('num_columns')) + $z;
if ($target < $this->total && $target < ($numIntroArticles)) :
$this->item =& $this->getItem($target, $this->params);
if($k == ($this->params->get('num_intro_articles', 4))) :
echo '<div class="myclass">';
echo $this->loadTemplate('item');
echo '</div>';
else:
echo $this->loadTemplate('item');
endif;
endif;
endfor;
?></td>
<?php endfor;
В итоге, последняя статья будет заключенна в контейнер с классом "myclass".
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
AlterEgo, спасибо, конечно, но несколько не то нужно было.

Данная модификация сделана для части кода, который формирует мультиколонный вывод новостей. А надо для обычного - в blog.php эти строки выше...   Пожалуйста, подскажи еще раз!

Вот здесь:

<div>
      <?php
         $this->item =& $this->getItem($i, $this->params);
         echo $this->loadTemplate('item');
      ?>
</div>
« Последнее редактирование: 19.06.2011, 22:12:07 от Барракуда »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужен пример как присвоить свой стиль одному модулю

Автор nick71

Ответов: 21
Просмотров: 5836
Последний ответ 17.02.2018, 14:44:40
от cirip
Перенести стиль компонента в шаблон

Автор stparts

Ответов: 5
Просмотров: 1685
Последний ответ 07.02.2018, 14:01:10
от stparts
Стиль для вышестоящего блока - HTML, CSS

Автор lalalag

Ответов: 6
Просмотров: 2859
Последний ответ 26.06.2017, 15:07:35
от Shustry
Свой стиль для placeholder

Автор kik84

Ответов: 2
Просмотров: 1386
Последний ответ 22.11.2016, 16:04:10
от kik84
Стиль для всплывающего названия картинки- как?

Автор epson950

Ответов: 3
Просмотров: 1585
Последний ответ 03.11.2016, 01:04:05
от AlekVolsk