私はAEMを初めて使う人です。現在、私たちはサイトの各ページに1つのテンプレートを持っています。すべてのコンポーネントはカテゴリ「project_name.components」を持っていると私は、ヘッダー・ファイル内のクライアントLIBSを呼び出しています:コンポーネントが存在するときに、コンポーネントのクライアントのlibファイルがページにのみロードされるようにする最良の方法は何ですか?
<sly data-sly-call="${clientLib.css @ categories='project_name.components'}" />
<sly data-sly-call="${clientLib.js @ categories='project_name.components'}" />
しかし、私は、予想通り、すべてのページにないブレッドクラム・コンポーネントを持っていますが、それに関係なく、クライアントのlibsファイルが表示されていて、既存のデフォルトのブレッドクラムのスタイル/スクリプトに問題が発生します。
私は、新しいbreadcrumbコンポーネントに "project_name.breadcrumbs"のテストカテゴリ名を与えました。ブレッドクラムがページにドラッグされている場合、ブレッドクラムクライアントのlibファイルのみを呼び出す同じヘッダーファイルのif/elseステートメントのいくつかのタイプで、このカテゴリ名を使用する方法はありますか?
私は、あなたが示唆したように、コンポーネントのhtmlファイルでそれを呼び出すことを考えていましたが、それはおそらくベストプラクティスではありません。私はスタイルのための特定のセレクタを持っていますが、それはページ上の元のブレッドクラムと混乱しているjsファイルです。新しいブレッドクラムが存在する場合、既定のブレッドクラムを隠す機能がありますが、私は自分の機能を修正する必要があると思います。 –