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!).