Еще на моем пути к Silverstripe 3.4 Я натыкаюсь на вызов, который я не могу решить.Silverstripe | Вставить html shortcode - специальная страница
Несколько страниц на моем сайте должны включать в себя аудиоплеер, который позволяет посетителям воспроизводить самостоятельно размещенную дорожку, которая относится конкретно к просматриваемой странице. Обычно я вставлял следующий html в движок игрока прямо в код страницы, но с редактором WYSIWYG от Silverstripe, который не является вариантом, поскольку он отвергает включение кода «скопированного кода» в режиме просмотра html.
Я еще не исследовал, можно ли изменить редактор, чтобы принять код «скопированный»; не уверен в том, что может быть вариант тоже ...
Итак, я сейчас ищу способы инъекционной коды - например, следующий - через мой WYSIWYG в соответствующих страницах:
<!-- Start of audio player body section html codes -->
<div id="AUDIOPLAYER_ID" style="display:block;position:relative;width:360px;height:auto;margin:0px auto 0px;">
<ul class="AUDIOPLAYER_CLASS" style="display:none;">
<li data-artist="TRACK_ARTIST" data-title="TRACK_TITLE" data-album="ALBUM_NAME" data-info="TRACK_INFO" data-image="TRACK_IMAGE" data-duration="TRACK_MINS">
<div class="TRACKSOURCE" data-src="SELF_HOST_TRACK_URL" data-type="audio/mpeg" />
</li>
</ul>
</div>
<!-- End of body section HTML codes -->
Примечания: Для чего это важно, каждый аудиоплеер будет иметь свой собственный идентификатор «AUDIOPLAYER_ID», чтобы страницы могли содержать несколько игроков.
Может ли кто-нибудь поделиться какой-либо мудростью о том, как достичь этого лучше всего, либо посредством коротких кодов, либо посредством вмешательства WYSIWYG?
Куча благодарностей заранее!
Вы пробовали подход к короткому замыканию? – bummzack
yup, shortcode - это путь. Документы здесь: https://docs.silverstripe.org/en/3.4/developer_guides/extending/shortcodes/ Некоторые короткие коды для Youtube и Vimeo могут стать основой вашего успеха: https://github.com/studiobonito/silverstripe-shortcodes ... Я бы поместил html в шаблон и ввел его с помощью короткого кода, как в примерах. Получаете ли вы данные из DataObjects? Или вы просто вставляете вручную все поля (подверженные ошибкам ...)? – wmk
Этот модуль подходит для коротких кодов. Он добавляет кнопку, а затем позволяет выбрать короткий тип кода, а затем короткий код. Это хорошо работает с объектами данных. https://github.com/sheadawson/silverstripe-shortcodable –