FLUID Ссылка на цель и класс

Я написал небольшой плагин для внешнего интерфейса «Текст + изображение + ссылка». Если мой редактор выбирает ссылку на файл или внешнюю ссылку, он также назначает открытие цели в новом окне: _blank

В моем Fluid-Tempalte я написал

<f:link.page pageUid="{txtTarget}" class="btn btn-default">{txtLink}</f:link.page>

Но цель ссылки не поддерживается, вот результат:

<a class="btn btn-default" href="http://kbs2015.com">Read more</a>

Атрибут target отсутствует, но я выбрал его в мастере ссылок (flexform): target: _blank!?

-

Пробую вот так:

<f:format.html><link {txtTarget}>{txtLink}</link></f:format.html>

Есть правильная ссылка и цель, но нет КЛАССА! Вывод:

<a href="http://kbs2015.com" target="_blank">Read more</a>

- Как я могу использовать цель (из мастера) и два класса для ссылки в FLUID? Нужен ли мне новый ViewHelper? Я не знаю? Могу ли я решить свою проблему с помощью Fluid?

Спасибо за вашу помощь.

(TYPO3 6.2.8)


person user2310852    schedule 10.12.2014    source источник


Ответы (2)


Это зависит от того, какую версию TYPO3 вы используете. В TYPO3 7.0 появился новый ViewHelper (TypolinkView, созданный вручную) с мастером ссылок и уважает цели ссылок. В TYPO3 4.5 и TYPO3 6.2 такой вспомогательной программы просмотра нет, поэтому вам следует попытаться перенести вспомогательную программу просмотра из TYPO3 7.0 в свое расширение.

Скопируйте содержимое из связанной Viewhelper в каталог Viewhelpers вашего расширения и настройте пространство имен, чтобы оно соответствовало пространству вашего расширения. Затем вы можете использовать помощник просмотра в своем расширении.

person derhansen    schedule 11.12.2014
comment
Я использую TYPO3 6.2.8. Спасибо за вашу помощь. Я пытаюсь использовать ViewHelper из TYPO3 7. Надеюсь, я справлюсь с этим ... - person user2310852; 11.12.2014
comment
Не должно быть проблем. Я только что протестировал TypolinkViewhelper с TYPO3 6.2.9, и он работает без проблем. - person derhansen; 11.12.2014
comment
Привет, я скопировал TypolinkViewHelper, и он работает. Но сначала я добавляю его в ядро ​​TYPO3: typo3 / sysext / fluid / Classes / ViewHelpers / Link / TypolinkViewHelper.php (не подходит для обновлений, которые я знаю). Но когда я добавил TypolinkViewHelper в my_extension, у меня появилось предупреждение об ошибке: Не удалось проанализировать класс: Tx_MyExtension_ViewHelpers_Link_TypolinkViewHelper, возможно, не загружен или у него отсутствует автозагрузчик? Что случилось? - person user2310852; 09.02.2015
comment
Убедитесь, что ViewHelper в вашем расширении находится в каталоге Classes \ ViewHelpers \ Link, а также убедитесь, что вы изменили пространство имен в файле ViewHelper, чтобы оно соответствовало пространству имен вашего расширения. - person derhansen; 09.02.2015
comment
Это не будет работать с моим расширением piBase. typo3conf / ext / ift_modules / Classes / Link / TypolinkViewHelper.php - я изменяю пространство имен в ViewHelper из пространства имен TYPO3 \ CMS \ Fluid \ ViewHelpers \ Link; в: пространство имен IFT \ ift_modules \ Link \ ViewHelpers; И я пробую это в своем шаблоне с: {namespace ift = Tx_IftModules_ViewHelpers} и ‹ift: link.typolink parameter = {txtTarget}› {txtLink} ‹/ ift: link.typolink› - AUTOLOADER ERROR - person user2310852; 09.02.2015

Это не сработает, если я скопирую TypolinkViewHelper из TYPO3 CMS 7.0, у меня всегда возникает ошибка

Error Warning: Could not analyse class:Tx_MyExtension_ViewHelpers_Link_TypolinkViewHelper maybe not loaded or no autoloader? 

Я успешно пробую это с помощью Test-ViewHelper, но они не с TypolinkViewHelper.php

В любом случае ... Я решаю это с помощью этого FLUID-Snippet:

<f:format.html><link {txtTarget}><span class="btn btn-default">{txtLink}</span></link></f:format.html>
person user2310852    schedule 11.02.2015