Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   FAQ (Часто задаваемые вопросы) (http://forum.typo3.ru/forumdisplay.php?f=26)
-   -   Как показывать один элемент на всех страницах? (http://forum.typo3.ru/showthread.php?t=354)

Антон Мельников 19.05.2003 19:05

Как показывать один элемент на всех страницах?
 
В боковой колонке нужно показывать несколько абзацев на всех страницах сайта (спецпредложения, новости). Как сделать так, чтобы ими мог управлять пользователь, неграмотный в typoScript/html? Как сделать то же самое для группы страниц (спецпредложения по гвоздям показывать в разделе "гвозди")?

Andreas Schwarzkopf 19.05.2003 20:04

Есть несколько путей:
1. плагин Новости (описание ниже)
2. вставка записи непосредств. из базы данных:
2 a) - одна запись
page.10 = TEXT
page.10.data = DB : tt_content:234:header
- вставляет запись номер 234 из таблицы tt_content, столбец: header
(информация: TSref, разделы stdWrap и getText)
2 b) - несколько записей
page.10 = RECORDS
page.10.tables = tt_content
page.10.source = 34,45 //номера записей
(информация: TSref, раздел RECORDS

3. целые страницы:
Обычный CONTENT объект, как он используется в статическом шаблоне content(default): Веб-Шаблон-Template Analyser-StylesContentDefault:

page.10 = CONTENT
page.10 {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
# это добавлено мной:
select.pidInList = 234 // номер страницы
# или
select.uidInList = 34,23,34 // номера записей
}

НОВОСТИ: наиболее универсальный и элегантный метод.

пример:
temp.newsLeft = COA
temp.newsLeft < plugin.tt_news
temp.newsLeft {
defaultCode = LIST
code >
code = LATEST/1 // это номер категории новостей
pid_list >
pid_list = 58 // номер страницы, где лежат новости
}

# теперь вставляем шаблон:
page.10 < temp.newsLeft

# или при работе с HTML-шаблоном:
subparts.NEWS < temp.newsLeft

Н какой-либо странице, где необходимо показывать новости другой категории, или указать другое место хранения, нужно создать дополняющий шаблон, который состоит только из одной или двух строк:
page.10.code = LATEST/2
или
page.10.pid_list = 453

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

Да, и еще: если вы хотите включить RTE в новостях, скачайте новое расширение News+.

Успехов

Антон Мельников 19.05.2003 22:03

> select.pidInList = 234 // номер страницы
> select.uidInList = 34,23,34 // номера записей

А можно ли ссылаться на элемент или страницу не по номеру?

А с новостями буду разбираться..

Andreas Schwarzkopf 19.05.2003 22:18

uidInList - только номера
pidInList - номера + все, что дает функция stdWrap:
.data
.field
и.т.д
пример:
select.pidInList.data = leveluid : 1
- выбрать номер страницы первого уровня (под корневой страницей)

Valery Romanchev 01.01.2007 17:42

сейчас сюда надо добавить KB TV Content Slide kb_tv_cont_slide
и соответсвующую фичу ядра для старого page модуля

Ice 17.01.2007 09:37

окно поиска
 
Не получается вставить форму поиска в HTML-шаблон:

temp.searchbox = CONTENT
temp.searchbox {
table = tt_content
select.uidInList = 96 // номер записи
}

и далее
subparts.searchbox < temp.searchbox

pidInList тоже не даёт эффекта :(

HTML-код <!--###searchbox### begin-->форма поиска<!--###searchbox### end--> просто удаляется

PhilD 17.01.2007 09:59

сделайте через RECORDS

Ice 17.01.2007 10:07

тот же эффект
 
тот же эффект:

temp.searchbox = RECORDS
temp.searchbox {
tables = tt_content
source = 96 // номер записи
}

Ice 17.01.2007 10:17

без шаблонов тоже не работает
 
Даже если я создаю новую страницу и ввожу:

# Default PAGE object:
page = PAGE
page.10 = RECORDS
page.10.source = tt_content_96

то получаю пустую страницу

Ice 17.01.2007 12:16

попробовал отладить:
temp.searchbox = CONTENT
temp.searchbox {
select.pidInList = 120
table = tt_content
renderObj=COA
renderObj{
20=TEXT
20.data = debug:data
}
}

если указываю страницу pidInList = 120, то форма поиска не выводится, но выводится запись из БД, если указываю элемент на этой странице uidInList = 96, то и запись БД не выводится

Выходит, что нельзя использовать uidInList?


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

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