![]() |
Как показывать один элемент на всех страницах?
В боковой колонке нужно показывать несколько абзацев на всех страницах сайта (спецпредложения, новости). Как сделать так, чтобы ими мог управлять пользователь, неграмотный в typoScript/html? Как сделать то же самое для группы страниц (спецпредложения по гвоздям показывать в разделе "гвозди")?
|
Есть несколько путей:
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+. Успехов |
> select.pidInList = 234 // номер страницы
> select.uidInList = 34,23,34 // номера записей А можно ли ссылаться на элемент или страницу не по номеру? А с новостями буду разбираться.. |
uidInList - только номера
pidInList - номера + все, что дает функция stdWrap: .data .field и.т.д пример: select.pidInList.data = leveluid : 1 - выбрать номер страницы первого уровня (под корневой страницей) |
сейчас сюда надо добавить KB TV Content Slide kb_tv_cont_slide
и соответсвующую фичу ядра для старого page модуля |
окно поиска
Не получается вставить форму поиска в HTML-шаблон:
temp.searchbox = CONTENT temp.searchbox { table = tt_content select.uidInList = 96 // номер записи } и далее subparts.searchbox < temp.searchbox pidInList тоже не даёт эффекта :( HTML-код <!--###searchbox### begin-->форма поиска<!--###searchbox### end--> просто удаляется |
сделайте через RECORDS
|
тот же эффект
тот же эффект:
temp.searchbox = RECORDS temp.searchbox { tables = tt_content source = 96 // номер записи } |
без шаблонов тоже не работает
Даже если я создаю новую страницу и ввожу:
# Default PAGE object: page = PAGE page.10 = RECORDS page.10.source = tt_content_96 то получаю пустую страницу |
попробовал отладить:
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? |
Вопрос снят.
Конечный работающий код следующий: temp.searchbox = RECORDS temp.searchbox.source = 96 temp.searchbox.tables = tt_content |
А как показывать одну, случайным образом выбранную, запись из таблицы с помощью RECORDS?
|
Цитата:
Код:
10 = CONTENT |
помогите по теме:
хочу вставить в хтмл шаблон мини новости, пишу так ... subparts.right = TEXT subparts.right < plugin.tx_mininews_pi1 ... все работает, только новости отображаются на главной странице, где они и находяться, а на других страницах показывается только строка search 0 из 0 , как сделать, чтобы новости брались с 1ой страницы? |
Приветствую,
а каким образом можно управлять полями куда вставлять новости? допустим, у меня есть поле akcii куда нужно и вставить идентичный контент.. каким образом я могу туда поместить этот контент?? Зарание спасибо. |
Под "полем akcii" Вы имеете ввиду поле в шаблоне TemplaVoila? Если так, то возможны два варианта:
1) указываете "Typoscript object path" в качестве значения edeting type вашего поля и прописываете в object path что-то типа "lib.myAkcii" (без кавычек). Затем в TS шаблоне страницы задаете объект lib.myAkcii примерно так: Цитата:
|
Спасибо, а что значит нет идентификатора новости ?
pid указан правильно... эм, а pid равен UID ?если нет, то подскажите как его найти(pid)? |
PID это id страницы на которой хранятся записи (в вашем случае я так понимаю это новости).
а идентификатор новости - это уже непосредственно uid новости которую вы хотите показать. |
Спасибо огромное) помогло...
а есть какойнибуть способ в последние новости загрузить картинку?? просто нужно чтобы при нажатии на эту картинку осуществлялся переход на некую страницу.. как в новостях. и главне нужно чтобы это легко редактировалось |
Цитата:
А вот вариант решения: 1. Вывести 2 списка LATEST - в первом одна новость + картинка (из этой новости), во втором остальные новости. 2. Вывести два контент-элемента - один список новостей, второй просто картинка зевернутая в div. С помощью CSS спозиционировать их между собой как нужно. |
По моему всё, по теме.. ибо мне и нужно разместить один элемент на всех страницах, просто я решил что новостью это будет всех удобнее для заказчика..
Спасибо за ответ. |
нашел код
Цитата:
|
Можно ли вывести содержимое поля из таблицы своего расширения? Вот так не работает:
Код:
lib.my_lib = CONTENT Вроде как получается таблицы с префиксом "tx_" разрешены. Или может есть другой способ? |
Можно! Ваш код корректный, но не полный - для CONTENT нужно указать как вывести загруженные данные. Иначе что вы ожидаете увидеть?
Читайте TSref CONTENT.renderObj и ищите примеры здесь или в гугле. |
Спасибо большое за подсказку, вот теперь работает:
Код:
lib.my_lib = CONTENT |
Это вам не SQL:
Код:
# limit 10 entries |
И еще несколько хороших примеров: http://www.typo3wizard.com/en/articl...nt-object.html
|
Еще раз спасибо большое за очередную подсказку и ссылку! Знаю этот сайт, но как-то давно уже не заходил) Там на самом деле очень много замечательных примеров. А мой lib теперь уже полностью работает:
Код:
lib.my_lib = CONTENT |
А зачем вам это делать через элемент? Просто в HTML-шаблон забейте и все.
|
Цитата:
|
Даже не знаю, мне кажется так вроде удобнее) Я этот lib к FCE прикручиваю, а потом редактор может в любое место сайта его вставить.
|
Цитата:
|
Реализовано в templavoila_framework.
Суть такая, часть шаблона отводится для вывода содержимого из специально указанной для этого папки (через TS константу указываем PID папки с элементами содержимого - появляется возможность менять ее для разных частей сайта). В папку складываем элементы содержимого, которые нужно вставить в эту определенную часть шаблона. Сам шаблон - структура данных в темплавуаля... Часть описания поля в структуре данных страницы выглядит так: Код:
<field_generated_content_1 type="array"> ну а <oldStyleColumnNumber type="integer">0</oldStyleColumnNumber> - это номер столбца из которого будут браться элементы содержимого, при использовании обычных шаблонов. |
Часовой пояс GMT +4, время: 09:57. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot