![]()  | 
	Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community | 
| 
			
			 | 
		#1 | 
| 
			
			 Новенький 
			
			
			
			Регистрация: 06.08.2011 
				
				
				
					Сообщений: 17
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 
			
			Уважаемые знатоки! Помогите пж с задачей! Допустим создано категорий n шт. В определенном стр, допустим  нужно выводит n шт блоков и каждый блок должен содержать  имя категорию и  последные 3 новости с этой же категории. Допустим добавиш еще одну категорию, соответственно число блоков увеличится динамически. Спасибо откликнувшимся!
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось Olim; 04.12.2011 в 14:50  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#2 | 
| 
			
			 Senior Member 
			
			
			
				
			
			
	 | 
	
	
	
		
		
			
			 
			
			Подойти к задаче на чистом TypoScript можно так: 
		
		
		
		
		
		
		
	1. Сделать выборку через CONTENT из tt_news_cat 2. Для вывода каждой записи в renderObj сделать COA элемент, в который вставить plugin.tt_news 3. В настройку вставленных plugin.tt_news добавить categorySelection с uid текущей категории. Готовый код не берусь сваять, но вот примерная заготовка: Код: 
	page.10 >
page.10 = CONTENT
page.10.wrap = <> | </>
page.10 {  
    table = tt_news_cat
    select {    
        selectFields = uid,title
        pidInList = 123
        # where = ...
    }  
    renderObj = COA
    renderObj.wrap = <> |</>
    renderObj.10 = TEXT
    renderObj.10.field = title
    renderObj.10.wrap = <> | </>
    renderObj.20 < plugin.tt_news
    renderObj.20 {
       ...
       categorySelection = {field:uid}
       categorySelection.insertData = 1
       ...
    }    
}
 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#3 | 
| 
			
			 Новенький 
			
			
			
			Регистрация: 06.08.2011 
				
				
				
					Сообщений: 17
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 
			
			Дело в том, что нельзя допустить такой метод ввода. Добавил категорию в одном месте, с артиклами и все. Скрипт сам должен считать сколько там категорий, и выводит их в определенном месте по порядку, с 3 или 4 артиклами(новостями)
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#4 | 
| 
			
			 Senior Member 
			
			
			
				
			
			
	 | 
	
	
	
		
		
			
			 
			
			Я предложил решение исходной задачи. Возможно вы ее не достаточно подробно описали? 
		
		
		
		
		
		
		
	Подобный скрипт выведет все категории и для каждой категории связанные новости (столько штук, сколько настроите). Что касается места вывода, то конечно в скрипте это не отрегулируешь - все выведется подряд одно за другим. Но с помощью CSS float/width и т.п. вещей можно сделать вывод блоков в 2, 3 колонки. Если нужен более интелектуальный порядок вывода - например в 2 колонки и что бы блоки распределялись так, что бы колонки примерно одинаково были заполнены по высоте, то можете написать свой экст, который будет делать выборку категорий и новостей и формировать нужный контент. Это даже будет быстрей работать чем на TS, да и гибкости будет больше.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#5 | 
| 
			
			 Новенький 
			
			
			
			Регистрация: 06.08.2011 
				
				
				
					Сообщений: 17
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 
			
			Даже в большом городе могут быт маленькие ошибки. 
		
		
		
		
		
		
		
	lib.nnn = COA_INT lib.nnn.10 > lib.nnn.10 = CONTENT lib.nnn.10.wrap = <section class="accordbk"> <article class="h"> <ul> | </ul></section></article> lib.nnn.10 { table = tt_news_cat select { selectFields = uid,title where = NOT deleted AND NOT hidden AND NOT parent_category pidInList = 6 max = 8 } renderObj = COA renderObj.wrap = <li> |</li> renderObj.10 = TEXT renderObj.10.field = title renderObj.10.wrap = <h3> | </h3> renderObj.20 < plugin.tt_news renderObj.20 { code = LATEST pid_list = 6 singlePid = 5 stdWrap.wrap = | categorySelection = {field:uid} categoryMode = 1 categorySelection.insertData = 1 stdWrap.wrap = <div> | </div> } } ....... subparts.cont < lib.nnn можете посмотреть http://olim.hostedon.com  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#6 | 
| 
			
			 Senior Member 
			
			
			
				
			
			
	 | 
	
	
	
		
		
			
			 
			
			Чудесно  
		
		
		
		
		
		
		
	  Осталось только допились HTML шаблоны и CSS. Только в условии where писать "NOT deleted AND NOT hidden" не обязательно, такие условия ядро TYPO3 всегда добавляет само. И не используте COA_INT, так как tt_news очень медлителен, а тут он еще и вызывается N раз. Если нужно регулярное обновление, то лучше сделать COA и поставить срок жизни кэша для этой страницы в 15 или 30 минут (задается в свойствах страницы).  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#7 | 
| 
			
			 Senior Member 
			
			
			
				
			
			
	 | 
	
	
	
		
		
			
			 
			
			IMHO как то не кошерно запихивать в <li> тэги h3 + div, делайте все на div-ах.
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| Теги | 
| catmenu, list, tt_news, typoscript | 
		
  | 
	
		
  | 
			 
			Похожие темы
		 | 
	||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение | 
| TinyMCE RTE рулит | Valery Romanchev | HTMLArea, RTE, tinymce_rte и другие визуальные редакторы | 10 | 02.07.2013 22:33 | 
| tt_products (SINGLE и LIST вместе) | Илья | Магазины и каталоги для TYPO3 | 5 | 11.02.2011 15:45 | 
| tt_news, CATMENU и LIST на одной странице но в разных местах. Как? | DimanLin | Общие вопросы | 3 | 13.11.2008 18:42 |