Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Как сделать про линк без текста? (http://forum.typo3.ru/showthread.php?t=8951)

thebat 14.10.2010 19:46

Как сделать про линк без текста?
 
Привет!

Мне нужен линк без текста..., а именно сам тег <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 меню

thebat 15.10.2010 02:48

Это ближе к тому что нужно, но не так как нужно ...
Вот что у меня вышло:
Код:

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>

На выводе:
Код HTML:

<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>
..., а нужно так:
Код HTML:

<a href="http://www.domen.com/" title="www.domen.com" target="_blank" class="style"></a>
Пока у меня нет решения...

Хочу добавить, что данные берутся из элемента контента.

-=UncleByte=- 15.10.2010 06:38

А что хранится в поле image_link? Может быть стоит там хранить исключительно адрес ссылки, а не все атрибуты ее? Ну или, если по умолчанию только все вместе там лежит, split по пробелу использовать и потом уже оборачивать.

thebat 15.10.2010 15:22

Цитата:

Сообщение от -=UncleByte=- (Сообщение 29159)
.... Ну или, если по умолчанию только все вместе там лежит, 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>


thebat 15.10.2010 19:46

Смотря на этот и другие примеры, до меня так и не дошло ..., что и как и почему...

В принципе это код:
Код:

5 = TEXT
5.value =
5.typolink.parameter.field = header_link

Выводит то что мене нужно
Код HTML:

<a href="http://www.domen.com" title="domen" target="_blank" class="style">[b][color="Red"]www.domen.com[/color][/b]</a>
..., за исключением текста внутри тега <a>...

вот это в теге а www.domen.com мне не нужно.

Когда пишу вот так
Код:

5 = TEXT
5.value = &nbsp;
5.typolink.parameter.field = header_link

тогда имею на выводе это:
Код HTML:

<a href="http://www.domen.com" title="domen" target="_blank" class="style">[b][color="Red"]&nbsp;[/color][/b]</a>
..., а мне нужно что бы там было вообще пусто...

Как все таки удалить текст внутри тега <a>

Код HTML:

<a href="http://www.domen.com" title="domen" target="_blank" class="style">[b][color="Red"]здесь должно быть пусто[/color][/b]</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>|
}

В принципе неважно как получать данные, я на время эксперимента просто использовал одну и ту же запись.

thebat 16.10.2010 13:48

Спасибо! :)

Действительно не важно...

Некоторые строки переписал и все выводит, то что нужно и в нужном порядке.
Код:

10.data = DB:tt_content:20:image_link
на
Код:

10.field = header_link
и еще это
Код:

10.noTrimWrap = |<a href="|" |
на это
Код:

10.noTrimWrap = |<a href="http://|" |
По скольку на выводе я имел не корректную ссылку
Код HTML:

http://www.domen.com/www.domen.net
Еще хотелось бы понять некоторые строки..., а именно:
что означает цифра в этой строке?
Код:

10.listNum.splitChar = 32
..., и как эта цифра влияет на вывод данных?

-=UncleByte=- 16.10.2010 17:59

Это смена символа разделителя для listNum. По умолчанию разделитель запятая, а в данном случае нам нужен пробел, в ascii код пробела 32.


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

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