LoginSignup
0
0

More than 5 years have passed since last update.

関連エントリーの候補リストに「ブログ名」を表示する

Posted at

73933185358b2b41d3d2b756d058c66d.jpg

a-blog cmsの「関連エントリー」機能は、キーワードを入力すると全ブログのエントリーから候補を表示してくれますが、ブログ名が表示されないため、複数のブログで似たようなタイトルがあると、どれが対象のエントリーなのかわかりづらいことがあります。

このリストに「ブログ名」を表示する方法を解説します。

オートコンプリート用のテンプレートを作成する

「system」テーマの以下の場所にあるテンプレートを、階層を変えずに、現在利用しているテーマ内に複製してください。

/ajax/edit/autocomplete.json

複製したテンプートをエディタで開くと、以下のようなJSON形式のデータを出力するコードが書かれています。

acms_autocomplete.json
<!-- BEGIN_MODULE Admin_Entry_Autocomplete -->[<!-- BEGIN entry:loop -->
\{
    "label": "<!-- BEGIN categoryField -->({fieldCategoryName})<!-- END categoryField -->{title}",
    "value": "<!-- BEGIN categoryField -->({fieldCategoryName})<!-- END categoryField -->{title}",
    "title": "{title}",
    "id": {eid},
    "url": "{url}",
    "datetime": "{date#Y}/{date#m}/{date#d} {date#H}:{date#i}",
    "categoryName": "<!-- BEGIN categoryField -->{fieldCategoryName}<!-- END categoryField -->"
\}<!-- BEGIN glue -->, <!-- END glue --><!-- END entry:loop -->
]<!-- END_MODULE Admin_Entry_Autocomplete -->

4・5行目の「label」と「value」を以下の通りに書き換え、ブログの情報を呼び出せるように修正してください。

acms_autocomplete_diff.json
    "label": "(<!-- BEGIN blog -->{blogName}<!-- END blog --><!-- BEGIN categoryField -->|{fieldCategoryName}<!-- END categoryField -->){title}",
    "value": "(<!-- BEGIN blog -->{blogName}<!-- END blog --><!-- BEGIN categoryField -->|{fieldCategoryName}<!-- END categoryField -->){title}",

画像のように「ブログ名」が表示されるようになれば成功です。

abe6dd8280b4fed7693111ccbca668cb.jpg

補足

a-blog cmsのEntryモジュール関係のタグ(波カッコで囲まれた変数)は、この記事のオートコンプリートのような、その他のモジュールでも使用できることがあります。

a-blog cmsの設置環境によっては、利用中のテーマ内に「autocomplete.json」を設置しても、systemテーマの体裁が優先されてしまうことがあります(MAMPのlocalhostで確認)。

sysytemテーマの「autocomplete.json」を直接差し替えれば解決できますが、この場合は、今後のバージョンアップの際に、systemテーマを書き換えたことを忘れないよう控えておいてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0