Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
14.08.2003, 12:56 | #1 |
Новенький
Регистрация: 09.07.2003
Сообщений: 9
|
typolink
temp.10 = CONTENT
temp.10{ table = tt_content select{ ... } typolink.parameter = 1 } а потом в шаблоне... subparts.text < temp.10 я хочу чтобы запись, выбранная из таблицы была ссылкой на ?id=1 что я не так делаю? |
21.08.2003, 00:24 | #2 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
Не совсем понимаю вопрос, но попробую ответить Проще было бы, если знать, какова цель всей этой операции.
Если нужно выдать здесь запись ?id=1, то можно сделать так: temp.10 < styles.content.get temp.10.select.uidInList = 1 Если же нужно только выдать ссылку на id=1, то это уже сложнее. Во первых, неясно что такое id=1 - номер страницы (таблица pages)или номер контент-элемента (таблица tt_content). Если нужно создать ссылку на страницу, существует опять же несколько вариантов, в зависимости от того, на чем разместить ссылку. Если вы хотите с какого-то слова или картинки разместить ссылку на страницу 1, то это можно сделать к примеру так: temp.10 = TEXT temp.10.value = Homepage temp.10.typolink.parameter = 1 Главное в том, что typolink - дочерняя функция функции stdWrap. Если данный объект напрямую поддерживает функции stdWrap (это видно в документации TSRef), то вы можете смело использовать typolink. (как в данном примере с объектом TEXT). Так как многие объекты (CONTENT, IMAGE и.т.д) в списке свойств не имеют typolink, а только stdWrap, то нужно обращаться к функции typolink через stdWrap: page.10 = IMAGE page.10 { file = fileadmin/logo.gif stdWrap.typolink.parameter.data = leveluid : 0 } В данном случае в качестве примера я взял не конкретную страницу (id=1), а главную страницу дерева (leveluid : 0). Обычно это надежнее, так как кто-то из пользователей может когда-нибудь переместить страницы так, что главная больше не будет по номером 1. Что касается подвязки ссылки под результат запроса в таблицу tt_content, как это сделано в вашем примере, то так просто это не получится. В результате вашего запроса вы получаете всю строку, а не конкретное поле. Так что необходимы дальнейшие преобразования, чтобы получить конкретный текст или другие данные. Кстати, два огромных статических шаблона content(default) и styles.content(default) занимаются практически только тем, что достают данные из таблицы tt_content и делают их доступными для использования. Так что лучше включить эти исходные шаблоны в ваш шаблон и пользоваться их результатами, или посмотреть на их содержимое в инструменте Template Analyzer, чтобы понять, как это делается. Надеюсь, что ответил на вопрос. В будущем, пожалуйста, опишите проблему подробнее. Спасибо, желаю успехов! |
21.08.2003, 09:00 | #3 |
Новенький
Регистрация: 09.07.2003
Сообщений: 9
|
Спасибо, действительно ворос я задал неточно.
Проблема была такая: я выбираю запись из tt_content с id=1. (тип - обычный текст). И хочу, чтобы весь текст был ссылкой. Вот как я это пытался сделать: temp.10 < styles.content.get temp.10.select.uidInList = 1 temp.10.stdWrap.typolink = 1 page.10 < temp.10 На выходе получаем: <a href="?id=1"><a name=1></a> <h1>header text</h1><p>bodytext</p> </a> вот из-за <a name=1></a> сам текст уже ссылкой не является... я понимаю, что фишка Typo3, позволяющая ссылаться на отдельный элемент содержимого, но вот как её отключить не нашел (сейчас-то я пошел другим путем, но решение этой проблемы просто интересно.) |
21.08.2003, 21:26 | #4 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
tt_content.stdWrap.dataWrap =
оригинал находится в content(default) Небольшая проблема в том, что если эту строку вставить просто в шаблон, то метки выключатся на всем сайте. Если такой результат нужен только на определенных страницах, можно внести условие. |