Datensatzanazeige - Tempalte record
Dies ist die Hauptvorlage für die Anzeige des Datensatz in unserer Datenbank
Hier ist der endgültige Code:
<div class='ipsClearfix'> <h1 class='ipsType_pageTitle ipsType_largeTitle ipsType_break'> IPS Community Suite {wordbreak="$record->_title"} {{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}} {{if $record->isFutureDate()}} <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span> {{elseif $record->hidden() === -1}} <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span> {{elseif $record->hidden() === 1}} <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span> {{endif}} {{if $record->mapped('pinned')}} <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span> {{endif}} {{if $record->mapped('featured')}} <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span> {{endif}} {{endif}} </h1> <p class='ipsType_reset ipsType_large'>{$record->customFieldDisplayByKey('release-date', 'display')|raw}</p> {$record->customFieldDisplayByKey('security-release', 'display')|raw} </div> <hr class='ipsHr'> {{if count( $record->tags() )}} {template="tags" group="global" app="core" params="$record->tags()"} {{endif}} <article class='ipsContained ipsSpacer_top'> <div class='ipsClearfix'> <section class="ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'> <h2 class='ipsType_pageTitle'>Key Changes</h2> {$record->_content|raw} </section> {{if $record->fieldValues()['field_164']}} <section class="ipsSpacer_top ipsSpacer_double ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'> <h2 class='ipsType_pageTitle'>Additional Information</h2> {$record->customFieldDisplayByKey('additional-information', 'display')|raw} </section> {{endif}} </div> <hr class='ipsHr ipsClear ipsClearfix'> {{if $record->isFutureDate() or $record->canPin() or $record->canUnpin() or $record->canFeature() or $record->canUnfeature() or $record->canHide() or $record->canUnhide() or $record->canMove() or $record->canLock() or $record->canUnlock() or $record->canDelete()}} <a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="content_record_actions" sprintf="$record::database()->recordWord( 1, TRUE )"} <i class='fa fa-caret-down'></i></a> <ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'> {{if $record->isFutureDate() and $record::canFuturePublish( NULL, $record->container() )}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li> {{endif}} {{if $record->canFeature()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'feature' ) )}' title='{lang="feature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="feature"}</a></li> {{endif}} {{if $record->canUnfeature()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unfeature"}</a></li> {{endif}} {{if $record->canPin()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'pin' ) )}' title='{lang="pin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="pin"}</a></li> {{endif}} {{if $record->canUnpin()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unpin' ) )}' title='{lang="unpin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unpin"}</a></li> {{endif}} {{if $record->canHide()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'hide' ) )}' title='{lang="hide_title_record" sprintf="$record::database()->recordWord(1)"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li> {{endif}} {{if $record->canUnhide()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unhide' ) )}' title='{{if $record->hidden() === 1}}{lang="approve_title_record" sprintf="$record::database()->recordWord(1)"}{{else}}{lang="unhide_title_record" sprintf="$record::database()->recordWord(1)"}{{endif}}'>{{if $record->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li> {{endif}} {{if $record->canLock()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'lock' ) )}' title='{lang="lock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="lock"}</a></li> {{endif}} {{if $record->canUnlock()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unlock' ) )}' title='{lang="unlock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unlock"}</a></li> {{endif}} {{if $record->canMove()}} <li class='ipsMenu_item'><a href='{$record->url('move')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="move"}" title='{lang="move_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="move"}</a></li> {{endif}} {{if $record->canDelete()}} <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'delete' ) )}' data-confirm title='{lang="delete_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="delete"}</a></li> {{endif}} </ul> {{endif}} {{if $record->canEdit()}} <a href='{$record->url('edit')->csrf()}' title='{lang="edit_title"}'>{lang="edit"}</a> {{endif}} {{if $record->canManageRevisions()}} <a href='{$record->url('revisions')}' title="{lang="content_view_revisions"}">{lang="content_view_revisions"}</a> {{endif}} </article> <br> {{if $updateForm}} <div class='ipsAreaBackground_light ipsPad'> <h2 class='ipsType_sectionHead'>{lang="cms_front_update_fields" sprintf="$record::database()->recordWord( 1 )"}</h2> <ul class='ipsForm ipsForm_vertical'> {$updateForm|raw} </ul> </div> {{endif}}
Es gibt hier nicht allzu viel, was nicht schon erklärt worden ist. Wir verwenden die customFieldDisplayByKey-Methode des Datensatzes, um unsere formatierten Felder auszugeben, obwohl wir diesmal die Anzeige für Datensatz verwenden:
{$record->customFieldDisplayByKey('security_release', 'display')|raw}
Wir überprüfen auch den rohen Feldwert des Feldes Zusätzliche Informationen, um festzustellen, ob für dieses Feld ein Inhalt hat. Wie bisher musst Du die ID-Nummer des Feldes durch die richtige aus Deiner eigenen Datenbank ersetzen:
{{if $record->fieldValues()['field_164']}}
...
{{endif}}
Wir streichen auch Funktionen, von denen wir wissen, dass sie in diesem Fall nicht benötigt werden: Folgen, Reputation, Paginierung für den Wechsel zwischen den Datensätzen (letzteres wird nicht benötigt, da alle unsere Datensätze in der Auflistung auf derselben Seite angezeigt werden!).