Просмотр полной версии : Как сделать про линк без текста?
Привет!
Мне нужен линк без текста..., а именно сам тег <a>
Написал такой TYPOSCRIPT:
10 = COA
10 {
10 = CONTENT
10 {
table = tt_content
select {
pidInList = 1
selectFields = image_link
}
renderObj = COA
renderObj {
5 =TEXT
5.typolink.parameter.field = image_link
}
}
}
На выводе имею:
<a href="http://www.domen.com/" title="www.domen.com/" target="_blank" class="style">www.domen.com/</a>
А мне нужно просто:
<a href="http://www.domen.com/" title="www.domen.com/" target="_blank" class="style"></a>
Как это сделать с помощью typoscript'a?
Пробовал разные варианты..., к примеру такой:
5 = TEXT
5.value =
5.typolink.parameter.field = image_link
..., но так и ничего не вышло.
Может у кого есть идеи на этот счет?
Спасибо!
-=UncleByte=-
15.10.2010, 01:06
Павел Антонов описывал построение xml для flash меню - там можно найти необходимый код. Создаем XML дерева страниц TYPO3 для Flash меню (http://codeline.richmd.ru/2008/05/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-xml-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B0-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86-typo3-%D0%B4%D0%BB%D1%8F-flash-%D0%BC%D0%B5%D0%BD%D1%8E/)
Это ближе к тому что нужно, но не так как нужно ...
Вот что у меня вышло:
10 = TEXT
10.typolink.parameter.field = image_link
10.typolink.returnLast = url
10.noTrimWrap = |<a href="|" |
20 = TEXT
20.field = image_link
20.wrap = title="|"
30 = TEXT
30.field = image_link
30.wrap = target="|"
40 = TEXT
40.field = image_link
40.wrap = class="|"></a>
На выводе:
<a href="http://www.domen.com/" title="www.domen.com/ _blank style" target="www.domen.com/ _blank style" class="www.domen.com/ _blank style"></a>
..., а нужно так:
<a href="http://www.domen.com/" title="www.domen.com" target="_blank" class="style"></a>
Пока у меня нет решения...
Хочу добавить, что данные берутся из элемента контента.
-=UncleByte=-
15.10.2010, 06:38
А что хранится в поле image_link? Может быть стоит там хранить исключительно адрес ссылки, а не все атрибуты ее? Ну или, если по умолчанию только все вместе там лежит, split по пробелу использовать и потом уже оборачивать.
.... Ну или, если по умолчанию только все вместе там лежит, split по пробелу использовать и потом уже оборачивать.
Да, действительно все там лежит в месте ...url, title, target и class. Вот как в этом случае использовать "split" мне пока не ясно.
Может есть пример?
-=UncleByte=-
15.10.2010, 18:11
Пример из TSRef вполне сгодится, только вместо вместо перевода строки взять пробел и все. А дальше все по описанию stdWrap и ничего более. Еще можно посмотреть пример парсинга ul в setup css_styled_content.
20 = TEXT
20.field = bodytext
20.split {
token.char = 10
cObjNum = 1
1.current = 1
1.wrap = <TR><TD valign="top"><IMG src="dot.gif"></TD><TD valign="top"> | </TD></TR>
}
20.wrap = <TABLE border="0" cellpadding="0" cellspacing="3" width="368"> | </TABLE><BR>
Смотря на этот и другие примеры, до меня так и не дошло ..., что и как и почему...
В принципе это код:
5 = TEXT
5.value =
5.typolink.parameter.field = header_link
Выводит то что мене нужно
<a href="http://www.domen.com" title="domen" target="_blank" class="style">www.domen.com</a>
..., за исключением текста внутри тега <a>...
вот это в теге а www.domen.com мне не нужно.
Когда пишу вот так
5 = TEXT
5.value =
5.typolink.parameter.field = header_link
тогда имею на выводе это:
<a href="http://www.domen.com" title="domen" target="_blank" class="style"> </a>..., а мне нужно что бы там было вообще пусто...
Как все таки удалить текст внутри тега <a>
<a href="http://www.domen.com" title="domen" target="_blank" class="style">здесь должно быть пусто</a>
..???
-=UncleByte=-
15.10.2010, 23:37
Ну вот опробовал такой вариант:
lib.test = COA
lib.test {
10 = TEXT
### получаем данные
10.data = DB:tt_content:20:image_link
### начинаем их разделять по пробелам
10.listNum.splitChar = 32
### берем первый элемент
10.listNum = 0
### и оборачиваем как нам нужно
10.noTrimWrap = |<a href="|" |
### копируем предыдущие действия
20 < .10
### берем второй элемент
20.listNum = 1
### и оборачиваем по-другому
20.noTrimWrap = |target="|" |
30 < .20
30.listNum = 2
30.noTrimWrap = |class="|" |
40 < .30
40.listNum = 3
40.noTrimWrap = |title="|"></a>|
}
В принципе неважно как получать данные, я на время эксперимента просто использовал одну и ту же запись.
Спасибо! :)
Действительно не важно...
Некоторые строки переписал и все выводит, то что нужно и в нужном порядке.
10.data = DB:tt_content:20:image_link
на
10.field = header_link
и еще это
10.noTrimWrap = |<a href="|" |
на это
10.noTrimWrap = |<a href="http://|" |
По скольку на выводе я имел не корректную ссылку
http://www.domen.com/www.domen.net
Еще хотелось бы понять некоторые строки..., а именно:
что означает цифра в этой строке?
10.listNum.splitChar = 32
..., и как эта цифра влияет на вывод данных?
-=UncleByte=-
16.10.2010, 17:59
Это смена символа разделителя для listNum. По умолчанию разделитель запятая, а в данном случае нам нужен пробел, в ascii код пробела 32.
Спасибо за разъяснение.
:) ... еще один довольно простой способ решить туже задачу
5 = TEXT
5.value = <!-- -->
5.typolink.parameter.field = header_link
-=UncleByte=-
20.10.2010, 16:52
В принципе вариант рабочий, но лишний код все-таки будет выведен, хотя если использовать что-то типа sourceopt, то он вычистит все комментарии.
Оба варианта хороши.
Один чистый и управляемый код выдает, а второй выдает лишний код, но очень прост.
В любом случае спасибо вам за направление.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot