Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Связка tt_news и Internal Page (FCE) (http://forum.typo3.ru/showthread.php?t=6635)

maaboo 07.08.2008 19:26

Связка tt_news и Internal Page (FCE)
 
Имеется следующая задачка. Для организации данных на странице используется tt_news, которая ссылается на соответствующую страницу с содержимым публикации.

Первый вопрос. Каким образом я могу получить в форме FCE при создании контента дату и время, которая бы совпадала с датой и временем в tt_news?

pomotom 07.08.2008 21:21

В бекенде без написания расширения- наверное никак, а во фронтенде - написать запрос, который выбирает из таблицы ньюсов строку со ссылкой на текущую страницу (поля навскидку не помню).

Andrey Grey 07.08.2008 21:41

Цитата:

Сообщение от maaboo (Сообщение 20672)
Имеется следующая задачка. Для организации данных на странице используется tt_news, которая ссылается на соответствующую страницу с содержимым публикации.

Первый вопрос. Каким образом я могу получить в форме FCE при создании контента дату и время, которая бы совпадала с датой и временем в tt_news?

чуть раскройте тему. не совсем понятно что вы хотите делать в fce и из какого режима tt_news вы хотите брать данные о дате.

если речь идет о том, чтобы брать в FCE данные текущей загруженой новости, то это все просто и делается в средствами typoscript.

расскажите подробнее

maaboo 08.08.2008 10:39

Цитата:

Сообщение от Andrey Grey (Сообщение 20680)
чуть раскройте тему. не совсем понятно что вы хотите делать в fce и из какого режима tt_news вы хотите брать данные о дате.
если речь идет о том, чтобы брать в FCE данные текущей загруженой новости, то это все просто и делается в средствами typoscript.
расскажите подробнее

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


То есть выглядит это примерно так:
Код:


[Лента новостей]                [Отдельная публикация (FCE)]

 +-----------------------------+
 |                            |
Дата | Заголовок            Дата | Заголовок
Подзаголовок                Подзаголовок
Тизер                        Текст

Либо это делается наоборот - tt_news берёт данные из созданной статьи на базе FCE? Тогда как создать поле даты/время публиакации в FCE?

pomotom 08.08.2008 11:40

Выборку из таблицы ньюсов можно сделать примерно так:
Код:

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

maaboo 08.08.2008 13:12

Извини, что-то я не совсем понял код...

Andrey Grey 08.08.2008 14:02

maaboo.
Вам не нужно искать ни какие форумы англоязычные. Вам нцжно засесть за tsref. А если что-то непонятно по tsref, то искать сниппеты в гугле.
Выше приведен вполне рабочий пример. =CONTENT описан в tsref. очень полезная функция.

maaboo 08.08.2008 14:11

Цитата:

Сообщение от Andrey Grey (Сообщение 20714)
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


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

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