Управление и публикация css и JS с сайтов tridion 9.5 и их использование в веб-приложении dxa 2.2 java
Я подошел к сценарию, в котором css и js не обрабатываются через html-build.zip,
Вместо этого нам нужно хранить css и js в cm и публиковать эти публикации.
также мне нужно использовать эти файлы css и js на jsps в веб-приложении.
не мог бы кто-нибудь подсказать мне, как этого можно достичь.
Ответы
В прошлом я много раз использовал Tridion для публикации CSS и JavaScript.
Имейте в виду, что каждая реализация отличается . То, что я сделал, может не сработать с тем, что сделали вы.
Компонент кода + шаблон страницы
Наиболее распространенный подход - это «Компонент кода», который представляет собой схему Tridion с одним текстовым полем, в котором установлено 20–30 строк. CSS и JavaScript буквально копируются и вставляются в поля. Шаблон компонента, написанный в Razor Mediator для Tridion (или DWT, если на то пошло), отображает одно поле, а на выходе получается файл .css или .js.
В одной реализации мы добавили метаданные в наши схемы кода, чтобы позволить нам переключать обфускацию и минификацию. Это потребовало от нас добавления TBB .net, которые, конечно, могли бы выполнять эти задачи.
Мы создавали шаблоны страниц CSS и JS, единственной задачей которых было отображение одного поля из наших компонентов кода. По сути, это сделало работу по объединению CSS или JS в один файл .css или .js.
Я использовал этот подход в Tridion R5.1 - 2011. Это старый подход, который я не видел в современных реализациях; это работало, когда мы публиковали JSP или HTML-страницы из Tridion на файловый сервер.
Минусы:
- Не работает, когда вы не публикуете статические файлы
- Риск ошибок транскрипции при копировании и вставке (да, действительно)
- странные результаты, если CSS / JS плохо написан; этот шаблон страницы позволяет вам установить порядок компонентов кода, и если код написан плохо, некоторые стили или блоки JS могут перезаписывать другие или не работать, если одно зависит от другого
Плюсы:
- Легко реализовать
- «Код как содержание». В некоторых организациях существуют строгие процессы управления изменениями, и трактовка кода как содержимого означает, что они могут обойти эти процессы.
CSS / JS как двоичные файлы
Это просто поворот к предыдущему примеру, но идея здесь в том, что вы добавляете mime-типы .css и .js в Tridion и позволяете им выгружать как двоичные файлы. Это избавляет от ошибок транскрипции при копировании и вставке.
Затем публикация упрощается, поскольку вы публикуете ресурсы непосредственно из Tridion.
Минусы
- По-прежнему сценарий «код как контент», хотя риск ошибок транскрипции снижается.
- переименование двоичного файла - это всевозможные проблемы. Это могло привести к тому, что сервер вручную удалил файл .css (или это было в мои дни). Это также может привести к неработоспособности сайта.
Плюсы
- Легко реализовать
- менее вероятно, что будут ошибки копирования-макаронных изделий, чем при другом варианте
Я реализовал оба этих сценария. У меня также был случай, когда мы создали специальный TBB для выполнения препроцессора CSS в Tridion , чтобы мы могли иметь SASS / SCSS в CMS.
У этих подходов есть серьезные недостатки. Самое главное, вы хотите убедиться, что вы действительно можете настроить определенные шаблоны страниц для публикации в виде статических файлов, а не переходить к брокеру (чтобы они рассматривались как фактическое содержимое).
В подходе «CSS / JS как двоичные файлы» они будут обрабатываться как изображения, видео и PDF-файлы. Вы можете этого не хотеть.
Я манипулировал инструкцией grunt для компонента zip файла сборки и помещал все css и js и статические изображения в компонент zip html-design, а также создал группу структур, как того требует шаблон «Опубликовать HTML-дизайн», что позволяет мне публиковать css и js как двоичный контент dxa, не касаясь какого-либо шаблона или изменения на стороне веб-приложения.