2013-09-24 5 views
2

Я работаю с шаблонами Typo3 6.1 и Fluid, используя набор инструментов fedext.net. У меня есть шаблон бэкэнд содержание элементов, определенный следующим образом:Typo3 Fluid: Каков правильный способ визуализации потока: flexform.field.wizard.link?

{namespace flux=Tx_Flux_ViewHelpers} 
{namespace v=Tx_Vhs_ViewHelpers} 
<f:layout name="Content" /> 
<div xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:flux="http://fedext.net/ns/flux/ViewHelpers" 
    xmlns:v="http://fedext.net/ns/vhs/ViewHelpers" 
    xmlns:f="http://fedext.net/ns/fluid/ViewHelpers"> 

... 

<flux:flexform.object name="item"> 
    <flux:flexform.field.input name="url"> 
     <flux:flexform.field.wizard.link /> 
    </flux:flexform.field.input> 
</flux:flexform.object> 

И тогда я делает его на переднем конце, как этот

<f:link.external uri="{section.item.url}"> 
    {section.item.url} 
</f:link.external> 

и проблема заключается в том, что ссылка Серверные мастера позволяет пользователю устанавливать ссылки как http://www.google.com/ _blank - Google который выступает за href target css-class title и заканчивается в следующем фронтального HTML визуализации:

<a href="http://www.google.com/ _blank - Google"> 
    http://www.google.com/ _blank - Google 
</a> 

Интересно, есть ли уже ViewHelper, который позволяет правильно отображать данные виджета? Или я должен сам реализовать его? Я уже проверил эти документы:

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

ответ

4

Простой ответ заключается в том, что сами потоки и жидкое содержимое не предоставляют для них ViewHelper.

Вы должны использовать внешний ViewHelper, такой как this one. Я добавил a variant из него в расширение коллекции VHS ViewHelper. Подобно жидкого ядра, мы добавили 2 новых ViewHelpers на расширение VHS компаньона (V: link.typolink & v: uri.typolink):

После его установки, импортировать пространство имен для вашего шаблона, как это:

{namespace v=Tx_Vhs_ViewHelpers}

и использовать его в шаблоне:

<v:uri.typolink parameter="{parameter: section.item.url}" />

это должно сделать трюк.

Кроме того, так как это только делает Ури, порожденную Typolink, есть второй очень похож ViewHelper в vhs вы можете использовать для создания ссылки:

<v:link.typolink parameter="{parameter: section.item.url}">Beautiful link</v:link.typolink>

Thx к kimomat указывают на это в ответ ниже.

+0

Мне нравится использовать 'v: link.typolink' но можно получить только название целевого URL? – nbar

+0

Для этого есть точка зрения. Вы должны знать pid, хотя. https://github.com/FluidTYPO3/vhs/blob/development/Classes/ViewHelpers/Page/InfoViewHelper.php – Cedric

+0

спасибо! '' – nbar

0

Если я представляю пример в основной секции жидкого содержимого (TYPO3 6.2, VHS 1.9.1, Fluidcontent 4.0.0), ViewHelper выводит только URL-адрес ссылки, без ссылки.

<p><v:uri.typolink configuration="{parameter: '13', additionalParams: '&print=1', title: 'Follow the link'}">Click Me!</v:uri.typolink></p> 

Этот код будет оказывать:

<p>/products/?print=1</p> 

PageUid 13 страница продуктов. Я бы ожидал тега.

Хорошо, я понял. Мне нужно ViewHelper V: link.typolink: