2015-09-23 2 views
0

Я строю страницу, которая будет на странице загружать список всех записей в определенном канале, как и на любой другой странице. Трюк здесь заключается в том, что страница будет фильтруемой, но с помощью JavaScript/Jquery, позволяющей пользователю фильтровать без обновления страницы.Повторение множественных идентификаторов категорий с выражением Engine

Я фильтрую с помощью тегов данных на элементах <li>, а затем манипулировал DOM, исходя из того, какая категория/идентификатор выбрана. Однако для некоторых записей они имеют множественный выбор в группе категорий, и поэтому тег данных заканчивается тем, что имеет только один идентификатор, в зависимости от того, что наступит раньше в таблице полей категорий.

Мой вопрос здесь в том, можно ли повторить несколько идентификаторов в тег данных с использованием EE в его базовой форме или мне нужно найти/создать собственный плагин для этого?

{exp:channel:entries channel="page-work-project" status="open"} 
    <li {categories show_group="4"}data-category="{category_id "{/categories}> 
     <a href="{url_title}"> 
      <div class="detail"> 
       <h4>{title}</h4> 
      </div> 
     </a> 
    </li> 
{/exp:channel:entries} 

ответ

3

Проблема здесь в том, что {categories show_group="4"}data-category="{category_id "{/categories} действует как for петлю на его собственную. Таким образом, код, который это рендеринг, фактически равен <li data-category="id1" data-category="id2" data-category="id3">, что недопустимо html.

Вместо этого вы должны поставить {categories} тег в атрибут данных, как это:

data-category="{categories show_group="4"} {category_id}- {/categories}"

Смежные вопросы