2013-06-20 2 views
0

Я использую Typo3 6.0 и News System 2.0. У меня есть пользовательский шаблон с использованием жидкостных визитеров, и я показываю новости из своей базы данных в зависимости от их категорий. Пока все хорошо, никаких проблем.Typo3 - жидкость - для каждого newsItem.uid

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

Почему можно перебрать категории новостей, как это:

<f:for each="{newsItem.categories}" as="category"> 
    <f:if condition="{category.uid} == 9"> 
      {category.title} #this is displayed correctly. 
    </f:if> 
</f:for> 

, но когда я пытаюсь Переберите newsItem.uid, это не работает?

<f:for each="{newsItem.uid}" as="pub"> 
     <f:if condition="{pub} == 5"> 
      {pub.title} 
     </f:if> 
</f:for> 

Благодарим за ваше время.

+0

Новостной детали только имеет один UID, так почему вы перекручивание через это? А также, чего вы пытаетесь достичь со всем этим? – Shufla

+0

@Shufla Ну, я пытаюсь выполнить цикл с настраиваемым полем, которое является числом, поэтому я могу сравнить его с другим. Кажется, я не смог зациклиться на своем настраиваемом поле, это просто не сработало, поэтому я пытался другим способом использовать uid, думая, что могу использовать это для доступа к своему настраиваемому полю, но, я думаю, я не совсем понимаю ForViewHelper с новостями ... Что я могу сделать? – user2179985

ответ

1

Вы немного перепутали вещи (на самом деле @Shufla сказал это еще).

for each заявление на всех языках позволяет вам перебирать через какой-то сбор. В этом случае каждый newsItem может подключаться к categories, поэтому вы можете для каждого элемента перебирать свои категории (объекты). В псевдокоде это что-то вроде:

<f:for each="[cat1,cat2,cat3]" as="currentObject"> 
    {currentObject.property} 
</f:for> 

UID в TYPO3 всегда целое и является уникальным, так что не представляется возможным итерацию через него, вызвать псевдо-код выглядит так (должно обязательно):

<f:for each="1" as="currentObject"> 
    {currentObject.property} 
</f:for> 

не знаю новости мнение, однако я только предположить, что это будет работать:

<f:for each="{news}" as="pub"> 
     <f:if condition="{pub.uid} == 5"> 
      {pub.title} 
     </f:if> 
</f:for> 

Однако убедитесь, что вы не выполняете - вложенной итерации снова, может быть, у вас есть все, что вам нужно в неплатеже соперничают итерация w?

Редактировать

как вы можете видеть newsItem передается в список/Пункт частичного от итерации Новости/зрения list.html (в шаблонах папок), так что вы не можете повторить эту итерацию в частичной, как у вас есть только ОДИН доступный новостной объект.

Если вы хотите/нужно сделать условную итерацию сделать это в виде: /typo3conf/ext/news/Resources/Private/Templates/News/List.html

+0

Спасибо за ваш ответ. Видимо, я немного испортился. В любом случае, я не понимаю, что вы отправили: {pub.title} должен работать правильно?Но в моем случае это не работает, и у меня есть новости в моей таблице tx_news_domain_model_news с uid 5. До сих пор это работало только тогда, когда я пытался перебирать категории. Ты знаешь почему ? и что еще я могу сделать, если захочу зациклиться на своих новостных записях? – user2179985

+0

Я уже отфильтровал новости, которые хочу показать, почему я пытаюсь зациклиться на новостях в шаблоне следующим образом: settings user2179985

+0

@ user2179985: check my edit – biesior