引用値表示パーツ>認証レコード引用>参照先DBのレコードIDを表示しないようにしたい
引用値表示パーツの認証レコード引用や参照フィールドのキーフィールドが参照先レコードIDでデフォルト値(認証レコード引用)を設定すると、従来のソースフォーマットの参照先レコードIDを表示する変数では、参照先レコードが公開範囲外の場合、nullで表示される挙動となっていました。
2.27以降ではレコード公開範囲に関わらず、参照先レコードのIDを表示するようデフォルトソースのフォーマットを変更しておりますが、従来の参照先レコードが公開範囲外の場合、null表示にする挙動にしたい場合は、デフォルトソースを修正する必要があります。
※2.26以前の従来のフォーマットで設定しているソースについては引き続き利用することは可能です。
ソース修正方法
1レコード参照の場合
対象フィールドのソースに対し、以下の変更をおこないます。
・<span class="sp-form-embedded" th:text="${siteClient.referenceRecord[field_id] != null} ? (${siteClient.referenceRecord[field_id]['_id']} ?: '値なし')">12345</span>
からsiteClient.referenceRecord
を削除し、代わりにsiteClient.record
を挿入
(設定例)
【変更前】
<div class="sp-form-data">
<span class="sp-form-embedded" th:text="${siteClient.referenceRecord[4] != null} ? (${siteClient.referenceRecord[4]['_id']} ?: '値なし')">12345</span>
</div>
【変更後】
<div class="sp-form-data">
<span class="sp-form-embedded" th:text="${siteClient.record[4] != null} ? (${siteClient.record[4]['_id']} ?: '値なし')">12345</span>
</div>
複数参照の場合
対象フィールドのソースに対し、以下の変更をおこないます。
・<div class="sp-form-data" th:if="${siteClient.referenceRecord[field_id] != null}">
から th:if="${siteClient.referenceRecord[field_id] != null}"
を削除
・<th:block th:each="referenceRecordValue, stat : ${siteClient.referenceRecord[field_id]['_id']}">
内の${siteClient.referenceRecord[field_id]['_id']}"
を${siteClient.record[field_id]}"
に修正
※修正時、field_id
の部分は元のソースに記載されていたフィールドIDの値に書き換えてください。
・<span class="sp-form-embedded" th:text="${referenceRecordValue}">12345</span>
内にあるth:text="${referenceRecordValue}"
をth:text="${referenceRecordValue['_id'] != null} ? ${referenceRecordValue['_id']} : '値なし'"
に修正
(設定例)
【変更前】
<div class="sp-form-data" th:if="${siteClient.referenceRecord[5] != null}">
<th:block th:each="referenceRecordValue, stat : ${siteClient.referenceRecord[5]['_id']}">
<span class="sp-form-embedded" th:text="${referenceRecordValue}">12345</span>
</th:block>
</div>
【変更後】
<div class="sp-form-data">
<th:block th:each="referenceRecordValue, stat : ${siteClient.record[5]}">
<span class="sp-form-embedded" th:text="${referenceRecordValue['_id'] != null} ? ${referenceRecordValue['_id']} : '値なし'">12345</span>
</th:block>
</div>
※各フィールドタイプの前後のdivタグなど、一部ソースは省略して記載しています。
※編集したフィールドが正しく設定されているか、テスト環境から動作確認してください。