Жидкость TYPO3 (с extbase): отображение изображения с абсолютным путем

Для экспорта XML мне нужно вывести абсолютный путь из 2 изображений. Изображение1 находится в /typo3conf/ext/app/Resources/Public/Images/image1.png
и Image2 находится в /uploads/tx_extensionname/image2.png

За свою жизнь я не могу найти способ получить абсолютные пути изображений. Что я пробовал:

<f:uri.image absolute="1" src="EXT:app/Resources/Public/Images/image1.png"/>

Который возвращает следующую ошибку:

Argument "absolute" was not registered.

Я также попытался f: uri.resource, который работает для image1, но, конечно, не для image2, потому что нет extensionName.

Есть намеки?

0

Решение

absolute аргумент в пользу f:uri.image помощник вида был добавлен только недавно в TYPO3 7.6.0. Увидеть изменений:

Особенность: # 64286 — Добавлена ​​опция абсолютного URL в uri.image и viewHelper для изображений.

ImageViewhelper и Uri / ImageViewHelper получили новую абсолютную опцию. С помощью этой опции вы можете заставить ViewHelpers выводить абсолютный URL.

Я бы предложил перейти на TYPO3 7.6.

Если это невозможно по какой-либо причине, вы можете продлить f:uri.image посмотреть помощник. Код ниже не протестирован, но должен работать для 6.2 LTS (я позаимствовал части кода из TYPO3\CMS\Extbase\Service\ImageService в 7.6):

namespace Vendor\ExtensionKey\ViewHelpers\Uri;

use TYPO3\CMS\Fluid\ViewHelpers\Uri\ImageViewHelper;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class ImageViewHelper extends ImageViewHelper
{
public function render(
$src = null,
$image = null,
$width = null,
$height = null,
$minWidth = null,
$minHeight = null,
$maxWidth = null,
$maxHeight = null,
$treatIdAsReference = false,
$absolute = false
) {
$uri = parent::render($src, $image, $width, $height, $minWidth, $minHeight, $maxWidth, $maxHeight, $treatIdAsReference);

if ($absolute) {
$uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
$uri = GeneralUtility::locationHeaderUrl($uriPrefix . $uri);
}

return $uri;
}
}
5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]