ver.2サポートサイト

HOMEよくある質問サイト管理引用値表示パーツ>認証レコード引用>参照先DBのレコードIDを表示しないようにしたい

引用値表示パーツ>認証レコード引用>参照先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タグなど、一部ソースは省略して記載しています。
※編集したフィールドが正しく設定されているか、テスト環境から動作確認してください。