Ich bin neu in AEM. Derzeit haben wir eine Vorlage für jede Seite auf unserer Website. Alle Komponenten haben die Kategorie „project_name.components“ und ich die Client-Libs in einer Header-Datei anzurufenden mit:Was ist der beste Weg, um sicherzustellen, dass die Client-Lib-Dateien einer Komponente nur auf der Seite geladen werden, wenn die Komponente vorhanden ist?
<sly data-sly-call="${clientLib.css @ categories='project_name.components'}" />
<sly data-sly-call="${clientLib.js @ categories='project_name.components'}" />
Ich habe jedoch eine Paniermehl-Komponente, die nicht auf jeder Seite, aber, wie erwartet, Die Client-libs-Dateien dafür werden trotzdem angezeigt und verursachen einige Probleme mit den vorhandenen Standard-Breadcrumbs-Styles/Scripts.
Ich habe der neuen Breadcrumb-Komponente einen Testkategorie-Namen von "project_name.breadcrumbs" gegeben. Gibt es eine Möglichkeit, diesen Kategorienamen in einer if/else-Anweisung in derselben Header-Datei zu verwenden, die nur die breadcrumb-Client-lib-Dateien aufruft, wenn der Breadcrumb auf die Seite gezogen wurde?
ich dachte darüber nach, es in der Komponente html-Datei aufzurufen, wie Sie vorgeschlagen haben, aber das ist wahrscheinlich nicht die beste Praxis. und ich habe spezifische Selektoren für Styles, aber es ist die js-Datei, die mit den Original-Breadcrumbs auf der Seite zu tun hat. Ich habe eine Funktion, um die Standard-Breadcrumbs zu verbergen, wenn die neuen Breadcrumbs vorhanden sind, aber ich denke, ich muss nur meine Funktion überarbeiten. –