![見出し画像](https://assets.st-note.com/production/uploads/images/166092035/rectangle_large_type_2_fc1b2c823a7ce7d78fe84e6a3e395f82.png?width=1200)
PowerCMS X カテゴリの高さを広げる
PowerCMS X の記事編集画面でカテゴリ(階層タイプ)のカラムは、高さの表示が固定になり、広げることができません。
よって、都道府県など項目数が多い時はスクロールする必要があり、少し面倒ですよね。(階層をやめるのが回避策ですが…)
![](https://assets.st-note.com/img/1734413260-ka5n2KzeJumDodlw9yg3CQLv.png?width=1200)
管理画面カスタマイズをしてみます。
環境変数「user_js」の設定
管理画面カスタマイズをするために、プラグイン「AppProperties」を有効化して、メニュー[システムオブジェクト(歯車アイコン)]-[環境変数]に移動し、[新しい環境変数]ボタンを押下して以下の設定をします。
名前 user_js
値 /user.js
タイプ 文字列
![](https://assets.st-note.com/img/1734414608-uWHINjgz48XY9lGkafMLsoJt.png?width=1200)
ビューとURLマップの作成
ビュー
ビューを新規作成します。最後に保存ボタンを押下してください。
タイトル
user_js
本文
document.addEventListener('DOMContentLoaded', () => {
// 現在のURLを取得
const currentUrl = window.location.href;
// URLに特定の文字列が含まれているかチェック
if (
currentUrl.includes("__mode=view") &&
currentUrl.includes("_type=edit") &&
currentUrl.includes("_model=entry") &&
currentUrl.includes("workspace_id=1")
) {
// クラス名が relation_nestable_list の要素を取得
const elements = document.querySelectorAll('.relation_nestable_list');
// 各要素に対してスタイルを適用
elements.forEach((element) => {
element.style.maxHeight = 'fit-content';
});
}
});
クラス
アーカイブ
ベースネーム
user_js
![](https://assets.st-note.com/img/1734414830-qJD6zt39rfEF7xmZOYH8QduC.png?width=1200)
URLマップ
URLマップはインデックスで作成します。
名前
user_js
アーカイブ種別
インデックス
URLマップ
user.js
ファイル出力
静的
![](https://assets.st-note.com/img/1734414987-7r5ZFlpoc92t1mSWV3LnwIRa.png?width=1200)
ファイル出力
ビューに戻り画面をリロードした後、画面下部の「保存と再構築」ボタンを押下するとファイルが出力され、タイトルの下にURL欄が表示されたと思います。ファイルがサイト直下であることを確認します。
例 https://www.sample.com/user.js
もしファイルパスを /common/js/user.js のように変更した場合は、環境変数の値も同じように修正してください。
確認
JavaScript コードで下記の箇所があります。
currentUrl.includes("__mode=view") &&
currentUrl.includes("_type=edit") &&
currentUrl.includes("_model=entry") &&
currentUrl.includes("workspace_id=1")
これは、「ワークスペースIDが1」かつ「記事モデル」かつ「編集画面」の時に、コードが発火するようにしています。
そのため、PowerCMS X 全体で動作させたいなら、_model=entry、workspace_id=1 の行は削除してください。
記事の編集画面にアクセスするとカテゴリの幅が広がっていると思います。
![](https://assets.st-note.com/img/1734415562-kRQy0wLUK48IHqmtYTsojPZ7.png?width=1200)
カテゴリの選択がしやすくなりました。
参考CSSコード
使用したCSSは以下になります。
.relation_nestable_list {
max-height: fit-content;
}