Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   tt_news - Single + List (http://forum.typo3.ru/showthread.php?t=2478)

Future 18.01.2007 17:26

tt_news - Single + List
 
Доброго времени суток!

Вопро вот в чём... я делал шаблон с помощью TV

RootPage

Setup:
# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

и есть
News Page

Setup:

plugin.tt_news.displayList {
date_stdWrap.strftime= %d.%m.%Y
}

lib.newsLatest < plugin.tt_news
lib.newsLatest {
# очистить поле кода
code >
code = LIST
}

Я никак не могу понять как мне отображать Single в поле контента?

т.е. если на этой странице есть контент... то его вывести но при выборе какой то ности должна отображаться новость...
Либо если нет контента, то выводить последнюю новость...

Честно говоря только первую неделю разбираюсь в движке.. не совсем всё понимаю..
Будьте добры, ответьте на вопрос?...


lib.AddRight < lib.newsLatest

PhilD 18.01.2007 18:44

Если я правильно понял вопрос:
добавить плагин tt_news в поле контента, например.
Т.е. для начала проще не добавлять плагин в шаблон а добавлять его как элемент контента - там все очень понятно визуально настраивается.

Future 18.01.2007 18:46

Да это возможно, но мне бы хотелость это сделать именно таким образом...
что то типа...
lib.content = CONTENT
lib.content.table = tt_content
lib.content.select {
pidInList = pid #id страницы
orderBy = sorting
}

Не подскажите решение?

Future 18.01.2007 18:56

Если я вставлю как контент страницы и выберу параметр SINGL то каким образом мне написать что если Id нету брать другой контент?
no news_id given заменить на контент ? и наобарот если выбрана новость то выводить её а не контент ?

PhilD 18.01.2007 19:08

Не очень понимаю смысл вопроса.
Обычно делается так, что страница единичного отображения новости одна-единственная (огрубляю, конечно). Для нее делается свой шаблон, где поля контент как такогого просто нет.
Так что я просто не понимаю какую задачу вы решаете.

Future 18.01.2007 20:10

Задача следующая...
есть основной (TV) шаблон с 3 полями..
lib.menu_1 - навигация
content дефолтовый для страниц
lib.AddRight - блок справа в который вставляется LIST новстей

Задача следующая... не добавляя в контент модуль новости выводить контент страницы и блок новостей справа, но как только пользователь выбирает чатать далее... на этой же страницу вместо контента страницы должна показываться новость в решиме СИНГЛ + правая колонка с новостями оставаться...
Вот и вопрос... как мне ЗАМЕНИТЬ дефолтой контент страницы на модуль TT_NEWS в решиме SINGL

PhilD 18.01.2007 20:46

на этой же? т.е. ajax? Поскольку если нет - адресная строка все равно будет другая (сначала index.php?id=id_страницы а потом index.php?id=id_страницы&tx_ttnews[tt_news]=id_новости&tx_ttnews[backPid]=id_страницы примерно) и какой великий смысл сохранять в ней id страницы неизменным - мне как-то непонятно.

а так - в принципе - TSREF - Conditions - globalVars

Future 18.01.2007 20:50

Ну естественно на другой :-) на вот этой
.php?id=id_страницы&tx_ttnews[tt_news]=id_новости&tx_ttnews[backPid]=id_страницы
шаблон то тот же :-) или я чтото не понимаю?

PhilD 18.01.2007 21:32

сделайте отдельную страницу для отображения single-новости, сделайте на том же файле шаблона другую ds в которой поле контента будет иметь тип объекта - и все. А контента в смысле из tt_content на этой странице просто не будет. Или посмотрите в документации по TV как обращаться к полю шаблона.

Future 18.01.2007 22:04

Простите за назойливость... я и пытаюсь понять как изменить поле шаблона tt_content если я сделал его в TV...

Valery Romanchev 19.01.2007 00:00

Цитата:

Простите за назойливость... я и пытаюсь понять как изменить поле шаблона tt_content если я сделал его в TV...
через TS нельзя выяснить есть ли блоки на данной странице в TV или их там нет - это только PHP кодом делается.

Т.е. можно написать кастомное условие для TS
и если это условие выполнено - вставлять новость через TS.

пожно посмотреть код kb_tv_cont_slide - там есть пример работы с наличием отсутсвтием блоков на странице.
я еще здесь на форуме приводил пример такого PHP кода

PhilD 19.01.2007 00:13

Я так понял задача обратная - если отображаем новость то прятать контент. Но вот зачем писать шаблон при котором на сайте получится число страниц в дереве помножить на число новостей страниц(URL-ов) причем число копий из них окажется = числу страниц в дереве я как-то не понимаю. И поисковики тоже не поймут ИМХО.

В принципе вроде можно прописать внутри DS подобное условие - если в URL страницы есть tt_news - вместо одного содержимого вывести другое?

Future 19.01.2007 11:28

Доброе утро!
Valery Romanchev
Не совсем понял фразу... "через TS нельзя выяснить есть ли блоки на данной странице в TV... "
Не вижу смысла опрделеять наличие блоков, его трубется просто очистить и заменить.

По мануалу мне нужно примерно следующие...

LIST и SINGLE на одной странице
С помощью фрагмента TypoScript возможно размещение новостей в режиме SINGLE на той же странице что и LIST.
Есть определенные преимущества для ссылок realUrl:
Вставим это в поле установки:
# очистить поле кода
plugin.tt_news.code >
plugin.tt_news.code = LIST
# установить код SINGLE, если переменная GETvar tx_ttnews[tt_news] существует
[globalVar = GP:tx_ttnews|tt_news > 0]
plugin.tt_news.code = SINGLE
[global]
# очистить основной контент на объекте page
page.10.subparts.content >
page.10.subparts.content < plugin.tt_news


В моём случае я сделал так...
ib.newsLatest < plugin.tt_news
lib.newsLatest {
# очистить поле кода
code >
code = LIST
}
lib.AddRight < lib.newsLatest


# установить код SINGLE, если переменная GETvar tx_ttnews[tt_news] существует
[globalVar = GP:tx_ttnews|tt_news > 0]
plugin.tt_news.code = SINGLE
[global]
# очистить основной контент на объекте page
page.10.subparts.content >
page.10.subparts.content < plugin.tt_news

Я не понимаю какие написать строчки в моём случае вместо page.10.subparts.content ?

Помогите как мне это реализовать...?

PhilD 20.01.2007 19:50

Может быть неправ.
Но похоже вы хотите невозможного. Так просто доступа к полям TV вы доступа из TS template вы не получите. Это условие нужно будет писать непосредственно в DS, http://typo3.org/documentation/docum...1/5/#id2855202

Future 21.01.2007 14:37

Спасибо за ответы. Будем думать :-)


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

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