Skip to content

fix #4364 【プラグイン】カスタムコンテンツのAI用の仕様書の更新#4388

Open
kaburk wants to merge 1 commit into
baserproject:5.2.xfrom
kaburk:5.2.x-#4364
Open

fix #4364 【プラグイン】カスタムコンテンツのAI用の仕様書の更新#4388
kaburk wants to merge 1 commit into
baserproject:5.2.xfrom
kaburk:5.2.x-#4364

Conversation

@kaburk
Copy link
Copy Markdown
Collaborator

@kaburk kaburk commented May 22, 2026

よろしくお願いします。

Copilot AI review requested due to automatic review settings May 22, 2026 10:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

カスタムコンテンツ(BcCustomContent)のテンプレートで getCustomFieldValue() を使う際の、テキストエリア表示(改行処理・エスケープ)と escape => false オプションの挙動を、AI向け仕様書(Copilot Instructions)として明確化する更新です。

Changes:

  • textarea フィールドのデフォルト出力が nl2br(h()) であること(改行維持+HTMLエスケープ)を明記
  • escape => false 指定時にエスケープおよび nl2br() 適用が行われず、生値が返ることと利用上の注意(XSS)を追記
  • escape => false 時に改行を反映したい場合の呼び出し側 nl2br() 適用例を追加

echo $this->BcBaser->getCustomFieldValue($customEntry, 'field_name', ['escape' => false]);
```

`escape => false` にすると `nl2br()` も無効になるため、改行を `<br>` に変換したい場合は呼び出し側で `nl2br()` を適用してください。

## CSSの作成
- 既存のテーマにテンプレートを追加作成する場合、CSSの作成時、Aタグの文字色は親設定を引き継いでいる可能性があるので、important を付けておく。

## その他
- テキストエリアは h() でエスケープすると改行が<br> として表示されてしまうので使わない。
- テキスト・テキストエリアフィールドはデフォルトで `h()` によるエスケープが有効です。
- `escape => false` を指定すると `h()` によるエスケープを無効化できます(テキスト・テキストエリア両フィールド対応)。これにより span タグなどの HTML をそのまま出力できます。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants