Форум русской поддержки Joomla!® CMS
09.12.2016, 00:05:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Добавить класс каждому li

 (Прочитано 507 раз)
0 Пользователей и 1 Гость смотрят эту тему.
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« : 14.04.2015, 19:47:54 »

Добрый вечер господа. Столкнулся с такой проблемой...
Вообщем дорабатываю  модуль вывода материалов на основе стандартного mod_articles_latest
Мне нужно каждому li добавить класс, чтоб можно было к каждому анонсу применить свой class.
Но он выводит в общем листе материал
Код:
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) :  ?>
<li itemscope itemtype="http://schema.org/Article">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
                                 <?php echo $item->fulltext; ?>
</span>
</a>
</li>
<?php endforeach; ?>
</ul>

Как можно разбить вывод с общего списка, тобто возможно ли  как то  каждый выведенный  title вывести с разным CSS классом.
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #1 : 14.04.2015, 19:57:04 »

Надо этот класс где то хранить и выводить для каждого материала свой, напрашивается решение что бы сам класс сохранять вместе с материалом и выводить так же как и название материала...

Код:
<li class="<?php echo $item->class_content; ?>" itemscope itemtype="http://schema.org/Article">

Я правильно тебя понял!
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #2 : 14.04.2015, 20:14:59 »

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

li class 1, li class 2 и так далее...
Записан
voland
Профи
********

Репутация: +488/-86
Online Online

Пол: Мужской
Сообщений: 8725


любит наш народ всякое гавно...


« Ответ #3 : 14.04.2015, 20:33:10 »

Переопределить вывод модуля и добавить в нем классы в цикле.
Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #4 : 14.04.2015, 20:42:43 »

Там же цикл есть, какая проблема добавить эту цифру ?
Добавь переменную и в конце каждой итерации увеличивай на один :
Код:
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php
$i = 1;
foreach ($list as $item) :  ?>
<li itemscope itemtype="http://schema.org/Article" class=class-"<?php echo $i; ?>">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
                                 <?php echo $item->fulltext; ?>
</span>
</a>
</li>
<?php
$i++;
endforeach; ?>
</ul>

Или сделать это с помощью CSS и псевдо класса :nth-child , в старых браузерах конечно работать это не будет .
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #5 : 15.04.2015, 03:24:15 »

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

li class 1, li class 2 и так далее...

тогда можно сделать вот так!

Код:
<li class="class<?php echo $item->id; ?>" itemscope itemtype="http://schema.org/Article">

получиться

Код:
class="class15"
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #6 : 15.04.2015, 10:14:47 »

Там же цикл есть, какая проблема добавить эту цифру ?
Добавь переменную и в конце каждой итерации увеличивай на один :
Код:
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php
$i = 1;
foreach ($list as $item) :  ?>
<li itemscope itemtype="http://schema.org/Article" class=class-"<?php echo $i; ?>">
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
                                 <?php echo $item->fulltext; ?>
</span>
</a>
</li>
<?php
$i++;
endforeach; ?>
</ul>

Или сделать это с помощью CSS и псевдо класса :nth-child , в старых браузерах конечно работать это не будет .

То что нужно...Благодарю господа за помощ...
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet