![]() |
Статический контент на разных языках, на всех страницах
У сайта в заголовке пишется какой-то текст. Нужно сделать так чтобы он отображался на всех страницах и на разных языках по разному. Но редактировать чтоб можно было через форму в Page Properties.
Я пробовал создавать в templavoila объект plaintext или bodytext, но он виден только на первой странице и не воспринимает html. Пробовал создавать TypoScript Object Path, но я так понимаю, его кроме как в setup редактировать не получится? |
Почему же, можно засунуть в константы, дабы человек не ковырялся в Setup.
lib.my_text = {$my_text_constant} Можно создать на главной странице этот текст как content element, а потом заставить отображаться на всех других страницах его же: lib.myobject_stuff = RECORDS lib.myobject_stuff.source = 1 (*** element id ***) lib.myobject_stuff.tables = tt_content Если делал plaintext , то по идее он должен быть на каждойс странице, где есть данный шаблон. Можно было попробовать сделать какое-то наследование для нужного поля заголовка в шаблоне - мол если есть нужное поле со статическим тексттом не заполнено, то берется значение "уровнем выше".... Но это как идея. Как ее реализовать я без понятиЯ) |
Цитата:
|
Разве это не только для полей типа "Content Elements"?
|
В принципе да. И самый простой вариант - с RECORDS. Но если очень хочется (нужно) сделать через заголовок страницы - можно назначить поле как контент элементс - заодно проблем с HTML не будет - а в раскладке страницы его визуально спрятать при помощи одного из расширений меняющих TV layout.
|
Кстати какой экст для изменения TV layout посоветуешь? Либо вообще где можно про это почитать? Лазил в TV поле Local Processing, но что-то никакого эффекта не увидел.
В репозитории нашел me_templavoilalayout_0.1.5.t3x - вроде наиболее нормальный + с документацией, также обратил внимание на творение одного из учасников форума rmd_tv_decorator_0.0.1.t3x, но к сожалению без документации ничего не понял:) |
me_templavoilalayout - нормально работает, давно пользуюсь. В принципе еще есть это http://bugs.typo3.org/view.php?id=4387, но это патч :(
|
rmd_tv_decorator - забудьте, работать после изменения TV API не будет.
me_templavoilalayout - тоже ставить не надо, он уже интегрирован в TV. |
так, так, так... По порядку, что мне нужно сделать?
Я в TemplaVoila создал Поле Element, типа Content Element и замапил его куда мне нужно. Дальше я иду в setup? и пишу lib.myobject_stuff = RECORDS lib.myobject_stuff.source = 1 (*** element id ***) lib.myobject_stuff.tables = tt_content А где я возьму Id этого элемента И что такое lib.myobject_stuff? Это ещё один элемент? Можно пошагово, пожалуйста? =) И кстати как сделать перенос строки в коде? \n не работает. |
Обманули вы меня, не Content element надо создавать а pagecontent.
Я создал SysFolder и поместил туда PageContent В templavoila замапил место под TypoScript ObjectPath, назвал lib.address В Setup шаблона написал: Код:
lib.address = COA Но проблема теперь в том, что для pagecontent нельзя создавать перевод. Только для страниц. Как мне сделать чтоб на разных языках по разному было? Может в setup ветвление по языкам делать? Типа: если русский, то 10.source = 54, если английски, то 10.source = 55 и т.д. Если это можно сделать, то подскажите, пожалуйста как? |
Вообще для pagecontent можно создавать же переводы, но ID у них другие и все правильно, что нужно будет указывать 10.source = 54, 10.source = 55.
|
Да но как же делать это ветвление для каждого языка?
|
http://typo3.org/documentation/docum...de/1.0.0/view/, а конкретно (с учетом TV) http://typo3.org/documentation/docum...1/3/#id2722835
|
Непонял? Мультиязыность сделать? Посмотри по форуму по данному запросу, приводился даже код + ссылка на документ, который нужно прочитать - Frontend Localization Guide
ПС. жесть! PhilD, если полазить по форуму, то можно найти как минимум 3 поста твоих и моих в одно время созданных:) |
Если бы мне нужно было локализовать сайт, то я бы так и спросил. Сайт у меня весь локализован.
Тот код на который дал ссылку PhilD у меня применяется для определения переменной L и назначения языков в зависимости от значения этой переменной. Я же спрашиваю, как определённому замапенному объекту присвоит значение pagecontent по id, причём id для разных языков должен быть разный. Tod, вы же сами написали - "Вообще для pagecontent можно создавать же переводы, но ID у них другие и все правильно, что нужно будет указывать 10.source = 54, 10.source = 55." Так как это ветвление сделать? Если я просто пишу: Код:
lib.address = COA Пробовал написать вот так: Код:
lib.address = COA |
Нет. Всё таки работает но только в русском(L=1) и английском(L=2) варианте. В латышском (L=0) не работает.
Нет. В латышском работает, но только если явно прописывать в строке браузера адрес: index.php?L=0 Конечно с этим sr_languagemenu путаница происходит. Получается два латышских языка: один дефолтный, а другой для менюшки переключения языков. И этот второй нигде не используется но везде существует возможность создать контент для него, который естественно не будет отображаться. Updated: Фуууф. Добился того что нужно. Вот так: Код:
# Address Отображается весь контент вместе с заголовком. А как получать только текст, без заголовка? |
можешь поискать в TSRef или гугле как для данной конструкции выцепить поле (field) bodytext
|
Никто не хочет помогать. ((
Методом тыка дошёл до результата: Код:
lib.address = RECORDS |
Цитата:
...А то скоро в плесень превратитесь! |
Не получается ничего....ужас просто:confused:
|
Цитата:
Код:
lib.Copyright = RECORDS Код:
source = 2,3,4 |
Часовой пояс GMT +4, время: 21:13. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot