Просмотр полной версии : Связка tt_news и Internal Page (FCE)
Имеется следующая задачка. Для организации данных на странице используется tt_news, которая ссылается на соответствующую страницу с содержимым публикации.
Первый вопрос. Каким образом я могу получить в форме FCE при создании контента дату и время, которая бы совпадала с датой и временем в tt_news?
В бекенде без написания расширения- наверное никак, а во фронтенде - написать запрос, который выбирает из таблицы ньюсов строку со ссылкой на текущую страницу (поля навскидку не помню).
Andrey Grey
07.08.2008, 21:41
Имеется следующая задачка. Для организации данных на странице используется tt_news, которая ссылается на соответствующую страницу с содержимым публикации.
Первый вопрос. Каким образом я могу получить в форме FCE при создании контента дату и время, которая бы совпадала с датой и временем в tt_news?
чуть раскройте тему. не совсем понятно что вы хотите делать в fce и из какого режима tt_news вы хотите брать данные о дате.
если речь идет о том, чтобы брать в FCE данные текущей загруженой новости, то это все просто и делается в средствами typoscript.
расскажите подробнее
чуть раскройте тему. не совсем понятно что вы хотите делать в fce и из какого режима tt_news вы хотите брать данные о дате.
если речь идет о том, чтобы брать в FCE данные текущей загруженой новости, то это все просто и делается в средствами typoscript.
расскажите подробнее
FCE используется как контейнер для сложного форматирования (в качестве примера, я всегда привожу уважаемый мною ресурс "Мембрана" (http://www.membrana.ru/articles/business/2008/08/06/125800.html)). Однако в контейнере необходимо присутствие некоторых "автоматических" полей, берущих свои значения из массивов Typo, например, дата публикации должна совпадать как на странице со списком новостей, так и в заголовке открытой через FCE отдельной статьи.
То есть выглядит это примерно так:
[Лента новостей] [Отдельная публикация (FCE)]
+-----------------------------+
| |
Дата | Заголовок Дата | Заголовок
Подзаголовок Подзаголовок
Тизер Текст
Либо это делается наоборот - tt_news берёт данные из созданной статьи на базе FCE? Тогда как создать поле даты/время публиакации в FCE?
Выборку из таблицы ньюсов можно сделать примерно так:
lib.single = CONTENT
lib.single {
table = tt_news
select {
pidInList = 3 #ваше значение
max = 1
andWhere.cObject = TEXT
andWhere.cObject.value= uid={GPvar:item} #здесь пишите выражение для нужной вам выборки
andWhere.cObject.insertData = 1
}
renderObj = COA
renderObj {
10 = TEXT
10 {
data = field:datetime
date = d / m / Y H:i
wrap =<div class="dt">|</div>
}
20 = TEXT
20 {
data = field:title
wrap = <h3>|</h3>
}
}
}
}
Вам нужно будет вставить что-то подобное в FCE
Извини, что-то я не совсем понял код...
Andrey Grey
08.08.2008, 14:02
maaboo.
Вам не нужно искать ни какие форумы англоязычные. Вам нцжно засесть за tsref. А если что-то непонятно по tsref, то искать сниппеты в гугле.
Выше приведен вполне рабочий пример. =CONTENT описан в tsref. очень полезная функция.
maaboo.
Вам не нужно искать ни какие форумы англоязычные. Вам нцжно засесть за tsref. А если что-то непонятно по tsref, то искать сниппеты в гугле.
Выше приведен вполне рабочий пример. =CONTENT описан в tsref. очень полезная функция.
Я и так уже копаюсь в TSRef как проклятый, мне в частности вот это непонятно:
...
pidInList = 3 #ваше значение
...
andWhere.cObject.value= uid={GPvar:item} #здесь пишите выражение для
...
Andrey Grey
08.08.2008, 15:12
pidInList = 3 - это значит выбрать те записи у которых PID = 3
andWhere.cObject.value= uid={GPvar:item}
не совсем понимаю зачем так сложно. вроде бы можно и короче:
andWhere= uid={GPvar:item}
andWhere.insertData = 1
это добавочный where к sql запросу. суть его: выбрать те записи, где uid = текущему значению переменной item, item - текущая новость.
Andrey Grey
08.08.2008, 15:14
но мне кажется что всю вашу затею можно решить без использвания FCE. попробуйте лучше section_frame
Первая строчка задает uid страницы на которой хранятся новости.
Вторая задает условие для выбора конкретной новости. Сюда Вам нужно прописать откуда брать uid новости с которой связана эта страница.
Про функцию select читаем здесь (http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/5/5/).
-----
Опс, Андрей опередил меня с ответом.
но мне кажется что всю вашу затею можно решить без использвания FCE. попробуйте лучше section_frame
Это где? :-\
А можно вкратце по-русски пояснить в чём идея алгоритма заключается?
найти в таблице ньюс строчку, котрая ссылается на вашу странцу. По условию она вроде одна-единственная. Одно из полей таблицы ньюс (названия не помню) задает ссылку на страницу-статью.
CONTENT делает выборку из базы (select позволяeт сконфигурить запрос, надо знать SQL и структуру таблицы, которую запрашиваете, в tsref все расписано) и рендерит поочередно строчки в соответствии с конфигурацией renderObj.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot