Управление и публикация css и JS с сайтов tridion 9.5 и их использование в веб-приложении dxa 2.2 java

Dec 16 2020

Я подошел к сценарию, в котором css и js не обрабатываются через html-build.zip,

Вместо этого нам нужно хранить css и js в cm и публиковать эти публикации.

также мне нужно использовать эти файлы css и js на jsps в веб-приложении.

не мог бы кто-нибудь подсказать мне, как этого можно достичь.

Ответы

3 paceaux Dec 16 2020 at 18:57

В прошлом я много раз использовал 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-файлы. Вы можете этого не хотеть.

NeeteshNarvaria Jan 11 2021 at 11:54

Я манипулировал инструкцией grunt для компонента zip файла сборки и помещал все css и js и статические изображения в компонент zip html-design, а также создал группу структур, как того требует шаблон «Опубликовать HTML-дизайн», что позволяет мне публиковать css и js как двоичный контент dxa, не касаясь какого-либо шаблона или изменения на стороне веб-приложения.