Resources im Kopf von threads

Admin

Administrator

Resources im Kopf von threads

Alle Tage wieder muss ich mich da neu einfinden, also will ich das hier mal festhalten.

XF zeigt threads via template
thread_view

thread_view hat
Code:
<xf:extension name="content_top"></xf:extension>

Der RM hat Template:
xfrm_thread_view_type_resource

Code:
<xf:extends template="thread_view" />
...

löscht zuerst die Werte

Code:
        <xf:set var="$originalH1"><xf:h1 /></xf:set>
        <xf:set var="$originalDescription"><xf:description /></xf:set>

        <xf:h1 hidden="true" />
        <xf:description></xf:description>

siehe unten!

und ruft dann die macros header und tabs auf

xfrm_resource_wrapper_macros
auf. header das Rechteck über Resource und Thema mit RM Icon, Titel und falls eingefügt z.B. auch die tag_line.



Code:
namespace XFRM\ThreadType;
...
class ResourceItem extends AbstractHandler
...

    public function getThreadViewAndTemplate(Thread $thread): array
    {
        return ['XFRM:Thread\ViewTypeResource', 'xfrm_thread_view_type_resource'];
    }
 
PAGE_CONTAINER

Code:
        <xf:if is="$headerHtml is not empty">
            <div class="p-body-header">
                {$headerHtml|raw}
            </div>
        <xf:elseif contentcheck="true" />
            <div class="p-body-header">
            <xf:contentcheck>
                <xf:if contentcheck="true">
                    <div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
                    <xf:contentcheck>
                        <xf:if is="!$noH1">
                            <h1 class="p-title-value">{$h1}</h1>
                        </xf:if>
                        <xf:if contentcheck="true">
                            <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
                        </xf:if>
                    </xf:contentcheck>
                    </div>
                </xf:if>

                <xf:if is="$description is not empty">
                    <div class="p-description">{$description}</div>
                </xf:if>
            </xf:contentcheck>
            </div>
        </xf:if>
 
PAGE_CONTAINER
fragt zuerst nach $headerHtml
ansonsten, ob es Inhalt gibt für das was folgt:

in unserem Fall für thread_view
$h1 und $description

$description beinhaltet hier auch Themenersteller, Datum, Tags oder Title History, falls installiert.

xfrm_thread_view_type_resource
löscht eben $h1 und $description

ruft dann
xfrm_resource_wrapper_macros

weiterhin

xfrm_resource_wrapper_macros nutzt wohl
<xf:page option="headerHtml">

um den folgenden Code der Variable $headerHtml zuzuordnen.
 
Nochmal wiederholt:

PAGE_CONTAINER fragt nach $headerHtml, wenn da wird es ausgegeben.
wenn nicht werden $h1 und $description ausgegeben. $description umfasst weiteren Kram wie Themenersteller, Datum, Tags usw.

thread_view hat eine Erweiterung über extension mit Name content_top

RM bedient das mit code, der zum einen $h1 und $description leert,
und dann via Macro $headerHtml füllt.
 
Zurück
Oben