type="text/discourse-plugin" をスクリプトタグで使用できない場合、公開されているページの現在のカテゴリのスラッグを取得する方法はありますか?
目的は、スラッグを含む新しいクラスをページのHTMLタグに追加することです。
こんにちは。
よく理解できていないかもしれませんが、カテゴリはボディで利用できるため、それをターゲットにすることができます。
例えば:
以下を使用して、すべてのラウンジカテゴリトピックをターゲットにできます。
.published-page.lounge {
...
}
申し訳ありません、私の説明が不明瞭でした。目的をより良く説明すべきでした。
現在、ページの発行ではカテゴリの背景は使用されていません。
設定:
トピックビュー:
発行済みページビュー:
カテゴリの背景は color_definitions.scss で定義されています。
body.category-test-category {
background-image: url(/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg)
}
発行済みページには category-test-category クラスがないため、背景画像が継承されません。
私のアイデアは、javascript を使用してカテゴリのスラッグを取得し、body タグに category-[category slug] クラスを追加することです。これにより、カテゴリ名に関係なく、カテゴリの背景が自動的に適用されます。例えば、以下のようなカスタム CSS を発行済みページごとに記述する必要がなくなります。
.published-page {
&.test-category {
background-image: url("/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg");
}
}
同意します。とても良いアイデアです ![]()
なるほど… ええ、それは良いアイデアですが、残念ながらテーマコンポーネント(JavaScript)で公開されたページを変更することはできないと思います。おそらくプラグインか、コアに category- をカテゴリ名の前に追加することで可能になるでしょう。
今のところ、手動の方法でうまくいくと思います。関連するSCSSを持つテーマコンポーネントを作成し、公開ページカテゴリに設定を追加します。
おそらくこのようなものだと思います: GitHub - VaperinaDEV/published-page-category-background-image
しかし、もっと良い解決策があるかもしれません。確信はありませんが。![]()
それは非常に巧妙な解決策ですが、デフォルトで(またはカスタマイズ可能で)コアにそのようなものがあるのは良いことだと私も思います。現在の意図は、publish.scss で見られるように、テーマの色を使用してデフォルトの背景を明示的に持つことです。
.published-page {
background-color: var(--secondary);
color: var(--primary);
カスタムカテゴリの背景画像の URL を CSS 変数に保存したらどうでしょうか。カスタム CSS で簡単にアクセスできるようになります。少なくとも、CSS で完全な画像 URL を使用する手間が省けます。
ここに機能リクエストを作成しました: Published pages could inherit categories' background image setting



