Jump to content

Recommended Posts

Подскажите, как вывести категории в 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}

 

Link to post
Share on other sites

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

 

{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

Link to post
Share on other sites

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

 

{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}".  ид является уникальным и постоянным идентификатором категории
Link to post
Share on other sites

 

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

 

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

 

 

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

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

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

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

Link to post
Share on other sites

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

 

 

 

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

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

Edited by yr4ik
Link to post
Share on other sites

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

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

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

а можешь подробнее написать конструкцию? Мне не совсем понятно как её использовать для 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 Edited by yr4ik
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...