Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Подскажите, как вывести категории в 3 столбца и для каждого использовать свой класс?

Смысл вот какой: 

1-й элемент списка должен быть <li class="var1">

2-й элемент списка - <li class="var2">

3-й элемент списка - <li class="var3">

4-й элемент списка - <li class="var1">

и так далее.

{if $categories}
        <ul>
            {foreach $categories as $c}
            {* Показываем только видимые категории *}
            {if $c->visible}   
            <li class="var1">
                ...
            </li>
        
            {/if}
			{/foreach}
        </ul>
        {/if}

 

Ссылка на сообщение
Поделиться на другие сайты

Не совсем понятен вопрос. Но напишу на всякий случай:

 

{foreach $categories as $c}
{if $c->visible}
	{if $c@index%3==0}<div>{/if}
        <li>
        ...
        </li>
	{if $c@iteration%3==0 || $c@last }</div>{/if}
{/if}
{/foreach}

Вот такой код выведет по 3 пункта <li> внутри <div>...</div>

 

Ну а добавить класс - решение javascript http://www.cyberforum.ru/javascript/thread927889.html или-же проще оформить в css непосредственно через nth-child

Ссылка на сообщение
Поделиться на другие сайты

Не совсем понятен вопрос. Но напишу на всякий случай:

 

{foreach $categories as $c}
{if $c->visible}
	{if $c@index%3==0}<div>{/if}
        <li>
        ...
        </li>
	{if $c@iteration%3==0 || $c@last }</div>{/if}
{/if}
{/foreach}

Вот такой код выведет по 3 пункта <li> внутри <div>...</div>

 

Ну а добавить класс - решение javascript http://www.cyberforum.ru/javascript/thread927889.html или-же проще оформить в css непосредственно через nth-child

 
как то не очень оба решения... 
1) что произойдет если будет выключена какая то категория в списке? правильней было бы использовать переменную-счетчик
2) для чего же js и тем более псевдокласы? Если можно сделать просто class="class{$c->id}".  ид является уникальным и постоянным идентификатором категории
Ссылка на сообщение
Поделиться на другие сайты

 

2) для чего же js и тем более псевдокласы? Если можно сделать просто class="class{$c->id}".  ид является уникальным и постоянным идентификатором категории

 

Само собой id использовать проще, но человеку как я понял из задания - нужно зациклить (т.е. всего 3 класса, а не у каждой категории новый класс)

 

 

1-й элемент списка - <li class="var1">

2-й элемент списка - <li class="var2">

3-й элемент списка - <li class="var3">

4-й элемент списка - <li class="var1">

Ссылка на сообщение
Поделиться на другие сайты

Само собой id использовать проще, но человеку как я понял из задания - нужно зациклить (т.е. всего 3 класса, а не у каждой категории новый класс)

 

 

 

Ну если так то: class{$c@iteration%3} 

пс если сделаете правильно то: class{$iteration_var%3} 

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Ну если так то: class{$c@iteration%3} 

пс если сделаете правильно то: class{$iteration_var%3} 

а можешь подробнее написать конструкцию? Мне не совсем понятно как её использовать для 3х случаев.
Ссылка на сообщение
Поделиться на другие сайты

а можешь подробнее написать конструкцию? Мне не совсем понятно как её использовать для 3х случаев.

 

 

{if $categories}
<ul>
    {$counter = 0}
    {foreach $categories as $c}
    {if $c->visible}
        <li class="var{if !$counter}1{else}{$counter%3+1}{/if}">
            
        </li>
        {if ($counter && $counter%3==0) || $c@last}<li class="clearfix">тут если нужен блок разделитель</li>{/if}
        {$counter = $counter+1}
    {/if}
    {/foreach}
</ul>
{/if}
 
Как то так. Не проверял. Возможно потребудется поправка на $counter=0 Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...