Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 14.08.2003, 12:56   #1
dio
Новенький
 
Регистрация: 09.07.2003
Сообщений: 9
По умолчанию typolink

temp.10 = CONTENT
temp.10{
table = tt_content
select{
...
}
typolink.parameter = 1
}

а потом в шаблоне...
subparts.text < temp.10

я хочу чтобы запись, выбранная из таблицы была ссылкой на ?id=1

что я не так делаю?
dio вне форума   Ответить с цитированием
Старый 21.08.2003, 00:24   #2
Andreas Schwarzkopf
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, чтобы понять, как это делается.

Надеюсь, что ответил на вопрос. В будущем, пожалуйста, опишите проблему подробнее.

Спасибо, желаю успехов!
Andreas Schwarzkopf вне форума   Ответить с цитированием
Старый 21.08.2003, 09:00   #3
dio
Новенький
 
Регистрация: 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, позволяющая ссылаться на отдельный элемент содержимого, но вот как её отключить не нашел

(сейчас-то я пошел другим путем, но решение этой проблемы просто интересно.)
dio вне форума   Ответить с цитированием
Старый 21.08.2003, 21:26   #4
Andreas Schwarzkopf
Senior Member
 
Регистрация: 14.08.2003
Сообщений: 416
По умолчанию

tt_content.stdWrap.dataWrap =
оригинал находится в content(default)

Небольшая проблема в том, что если эту строку вставить просто в шаблон, то метки выключатся на всем сайте. Если такой результат нужен только на определенных страницах, можно внести условие.
Andreas Schwarzkopf вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория