Neu Im Template auslesen, ob OPC aktiv

hazelly

Mitglied
16. November 2023
6
0
Hallo,

gibt es die Möglichkeit im Template auszulesen, ob für die aktuell sichtbare Seitenversion ein OPC-Entwurf aktiv ist?

Es geht darum, dass wir gerne teilweise für bestimmte gefilterte Seiten eine andere h1 ausgeben würden. Die Vorstellung ist, dass wir die h1 im Template nicht ausgeben, sofern ein OPC-Entwurf angelegt ist und im OPC dann eine andere h1 setzen.

LG
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.233
1.965
Berlin
Ich kann jeden Einzelnen opcMountPoint prüfen ob er Inhalte hat, es kann ja sein das du einen Entwurf hast, der aber nichts mit der Überschrift zu tun hat.
Erstellen wir uns also einfach einen eigenen Mountpoint über dem h1

Dann kann ich den abfragen, ob er einen Inhalt hat und wenn, dann das h1 nicht anzeigen lassen, im OPC lasse ich das <h1> leicht transparent anzeigen, damit man weiß das es da ist.
Ich könnte aber das gleiche auch mit den vorhandenen Mountpoints machen, das ist recht flexibel, ich kann die MountPoints auch mit dynamischen Namen versehen.

Würde dann vergleichsweise so aussehen:


PHP:
     {block name='productlist-header-description-heading'}
            {if !$opc->isEditMode()}
                {capture name='myheading'}
                    {opcMountPoint id='opc_heading_h1'}
                {/capture}
            {else}
                {opcMountPoint id='opc_heading_h1'}
            {/if}
             {if !empty($smarty.capture.myheading)}
                 {$smarty.capture.myheading}
             {else}
                <h1 class="h2" {if $opc->isEditMode()}style="border:1px dotted #f90000; opacity:0.4"{/if}>{$oNavigationsinfo->getName()}</h1>
             {/if}
        {/block}


Schöner wäre es natürlich wenn man dem Mountpoint, wie in den anderen smarty Funktion ein assign hinzufügen könnte, dann müsste man nicht solche Umwege gehen.
 

hazelly

Mitglied
16. November 2023
6
0
Vielen Dank!
Das ist genau das, was ich mir erhofft hatte. Mir fehlte nur das Wissen, dass bzw. wie man sich den Inhalt des opcMountPoints auslesen kann.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.233
1.965
Berlin
Ich hab mir dafür extra eine smarty Funktion geschrieben die ich dann in der Bootstrap habe aber die kann ich nicht einfach so rausrücken, daher der kleine Umweg über das capture, am besten sorgst du dafür, das in diesem capture keine Leerzeichen sind oder Zeilenumbrüche sind.

also am besten verwendest du das dann so:

PHP:
{capture name='myheading'}{opcMountPoint id='opc_heading_h1'}{/capture}
 

Ähnliche Themen