Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 03.09.2015, 19:54   #1
mlnid
Новенький
 
Регистрация: 03.09.2015
Сообщений: 1
По умолчанию Вложенные content select

Здравствуйте.
Есть задача - получить список объектов самописного плагина в группировке по свойствам этих объектов с использованием typoscript.

Возможно ли в обработке результатов запроса создать вложенный запрос с подстановкой в него значений полученный в родительском запросе?

Код:
20 = CONTENT 
	
	20.table = tx_bbmoebel_domain_model_logo
	
	20.select {
		    
		# здесь параметры запроса	
	
	}
	20.renderObj = COA
	
    20.renderObj {

		#вложенный запрос
		10 = CONTENT 
	
		10.table = tx_bbmoebel_domain_model_logo

		10.select {
		
			# здесь использовать данный из родительского запроса
			# тут параметры запроса	

		}
		
	}

Или у таких задачь решение в typo3 другое?

Спасибо.
mlnid вне форума   Ответить с цитированием
Старый 03.09.2015, 21:29   #2
Николай Сипко
Senior Member
 
Регистрация: 17.09.2012
Сообщений: 675
По умолчанию

https://wiki.typo3.org/Ru:Ts45min#CO....8B_TypoScript

"Для начала создаем объект PAGE, чтобы что-то могло быть выведено. В этом объекте PAGE мы создаем объект CONTENT, которым можно управлять при помощи различных параметров TypoScript.

TS TypoScript:

page = PAGE
page.typeNum = 0

# Объект content выполняет запросы к базе данных и загружает содержимое
page.10 = CONTENT
page.10.table = tt_content
page.10.select {

# "sorting"- это столбец из таблицы tt_content, где
# отслеживается порядок, заданный во внутреннем интерфейсе
orderBy = sorting

# столбец normal
where = colPos = 0
}

# renderObj выполняется для каждой строки-результата из запроса к базе данных,
# а внутренний массив данных заполняется содержимым. Это гарантирует нам
# возможность вызова свойства .field и мы получаем соответствующее значение
page.10.renderObj = COA
page.10.renderObj {

10 = TEXT

# Поле tt_content.header обычно содержит заголовок.
10.field = header

10.wrap = <h1>|</h1>

20 = TEXT

# Поле tt_content.bodytext содержит текст содержимого
20.field = bodytext

20.wrap = <p>|</p>
}

Объект CONTENT выполняет запрос SQL к базе данных. За запрос отвечает "select". "Select" определяет, что нам нужны все записи из столбца 0 (являющийся столбцом "NORMAL" во внутреннем интерфейсе), а порядок выдачи результата определяется полем "sorting". Если свойство pidInList не установлено или удалено, запрос будет ограничен текущей страницей. Например, если страница с ID 100 ссылается на объект CONTENT, то будут возвращены лишь записи со страницы с pid=100.

Свойство renderObj определяет то, как записи будут выданы. Здесь оно было определено, как COA (Content Object Array – массив объектов содержимого), который может содержать любое количество объектов TypoScript. В данном случае используются два объекта TEXT, выводимые друг за другом. Порядок их вывода не зависит от порядка следования в коде TypoScript, а присвоенным им номером. Объект TEXT "10" выводится перед объектом TEXT "20".

=======

У объекта PAGE, в дополнение к многочисленным свойствам, имеется бесконечное количество объектов, которые могут определятся только лишь номерами (так называемый массив содержимого). Это значит, что эти объекты обозначены лишь номерами, в соответствии с ними они и упорядочиваются при выводе на страницу. Первым идет объект с наименьшим номером, последним – с наибольшим. Порядок их появления в TypoScript не имеет значения.

TS TypoScript:

mypage.30 = TEXT
mypage.30.value = This is last

# Первым будет выведен объект номер 10, затем 20 и 30. Объект номер 25 по логике
# будет выведен между объектами 20 и 30
mypage.20 = TEXT
mypage.20.value = I'm the middle

# Этот объект будет выведен первым
mypage.10 = TEXT
mypage.10.value = Hello World!

# здесь мы создаем второй объект для режима печати
print = PAGE
print.typeNum = 98
print.10 = TEXT
print.10.value = This is what the printer will see.

Последний раз редактировалось Николай Сипко; 03.09.2015 в 21:55
Николай Сипко вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Editorial Sprint Episode II RSS Bot Новости TYPO3 (на английском) 0 27.04.2014 14:00
Выбор локализованной записи (CONTENT || RECORDS || DB) Ивано++ Инструменты разработчика 0 14.03.2014 11:47
[TS] Удобный CONTENT Sergey M Nikitin Мастер-класс 2 22.09.2009 09:25
Стандартные шаблоны и CSS Styled Content Игорь Ф. Общие вопросы 9 18.09.2009 16:14
Content Item (Flexible Content) на всех страницах thebat Общие вопросы 4 27.03.2008 17:42


Часовой пояс GMT +4, время: 18:43.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория