Neos 2.1: использование ресурсов из Media Browser в шаблоне

Мне нужно знать, как я могу использовать активы внутри шаблонов. Я хочу добавить кнопки / ссылки в социальных сетях к шаблону, поэтому я подумал, что самый простой способ - использовать медиабраузер, но я не знаю, как получить правильный URI этих файлов изображений.

Я пробовал что-то вроде

<img src="{f:uri.resource(path: asset://...identifier... />   
<m:image image="{asset://...}" alt='Facebook'/>

но я не понимаю

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

Надеюсь, я смогу прояснить мою проблему.

1 ответ

Решение

В этом конкретном случае на вашем месте я бы просто добавил эти кнопки My.Site/Resources/Public/images/social и использовать их с помощником вида ресурса:

{f:uri.resource(path: 'images/social/fb.png', package: 'My.Site')}

Не имеет смысла копировать идентификатор ресурса из медиа-браузера и жестко кодировать его в шаблоне. Эти идентификаторы могут отличаться в вашей базе данных коллег, ваш клиент может удалить этот актив случайно и так далее.

Поэтому я бы предложил добавить эти социальные кнопки (возможно, в спрайте) к статическим ресурсам вашего пакета, создать частичные со всеми социальными кнопками и использовать их в шаблонах страниц / узлов там, где они вам нужны.


Если вы действительно хотите использовать один из media:image или же media:uri.image Для просмотра помощников, вам нужно передать объект актива (не идентификатор) в качестве аргумента. Используйте для этого свойства узла - добавьте fbIcon, twitterIcon и т. Д. type: TYPO3\Media\Domain\Model\ImageInterface к определению вашего узла в NodeTypes.yaml, затем вставьте узел и выберите ваши иконки из медиа-браузера (с помощью инспектора), затем в шаблоне вашего узла:

{namespace media=TYPO3\Media\ViewHelpers}
<ul>
<li><a href="#"><media:image image="{fbIcon}" alt="fb" />..
<li><a href="#"><media:image image="{twitterIcon}" alt="twitter" />..

Некоторое время я не пользовался Neos, так что он мог бы немного измениться. И, конечно, вы можете создать свой собственный помощник вида, который будет принимать идентификатор ресурса, а с помощью AssetRepository и ResourceManager вы можете вернуть общедоступный URI в шаблон.

Другие вопросы по тегам