Seite 1 von 1

Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 12:40
von Chefpraktikant
In der Navigation und bei Hyperlinks in Textareas wird ein Hyperlink "inaktiv" gesetzt, sobald man das Zieldokument parkt. In Navigationen verschwindet also der Menüpunkt, In verlinkten Texten bleibt einfach der Text stehen ohne Link – wunderbar.

Was aber, wenn ich Teaser auf Seiten vorgesehen habe, bestehend aus Überschrift, Bild und Hyperlink per <we:href/> oder <we:link/>. Ganz klar, dass so ein Teaser dann nicht automatisch verschwindet, wenn die Zielseite geparkt ist.

Ich würde aber gerne eine Bedingung bauen, die den Teaser nicht ausgibt, falls die per Link verknüpfte Zielseite geparkt oder gelöscht ist. Wie könnte ich das realisieren?

<we:ifGeparkt match="Teaserlink" type="href">... oder so?

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 13:02
von blickfang
Hi,
wie gibst Du denn den Teaser aus? Wenn du das per Listview machst, dann wird auch ein geparktes Dokument nicht angezeigt.
Viele Grüße
Timo

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 13:11
von Chefpraktikant
Nee, wir machen das über we:block

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 13:37
von blickfang
was macht denn das <we:href in der Ausgabe, wenn das Zieldokument geparkt ist? Gibt es den Link trotzdem aus oder nix?
Wenn nicht, dann könntest Du versuchen über

Code: Alles auswählen

<we:href name="meinHref" to="global" nameto="isLink" />  
eine Abfrage in Deinem Block zu bauen.

In etwa sowas...

Code: Alles auswählen

<we:block>
<we:ifVarNotEmpty match="isLink" type="global" />
hier dann dein teaserzeugs
</we:ifVarNotEmpty>
</we:block>
 

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 15:05
von Chefpraktikant
Guter Versuch, Danke Timo!

Aber der Link wird ja ausgegeben, trotz geparkt. D.h. bei Klick erhält man einen 404-Fehler.

Wir bzw. der Kunde müssen die Teaser einfach im Auge behalten und ggf. löschen oder per Checkbox deaktivieren.

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 15:14
von blickfang
dann würde ich das als Feature-Wunsch oder Bug (wie man es sehen mag) in qa.webedition.org mal eintragen, dass we:href und we:link die Links nicht mehr ausgeben sollen, wenn die Zielseite ein internes Dokument ist und das status geparkt hat...

...oder die Teaser künftig als eigene Dokumente/Objekte anlegen und mit einer Listview abfragen ;-)

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Mi 14. Feb 2018, 17:52
von WBTMagnum
Hallo,

Wir haben dafür mal ein Custom Tag "we_tag_ifDocPublished.inc.php" erstellt:

Code: Alles auswählen

<?php
/**
 * This function returns true if given document is published.
 * @author  Ioannis Lazaridis (WIENFLUSS information.design.solutions KG)
 * @param   $attribs array
 * @return  boolean
 */

function we_tag_ifDocPublished($attribs = array(), $content = '') {
    $id = weTag_getAttribute('id', $attribs, '');
    $isEditmode = we_tag('ifEditmode',array());

    if ( ! $isEditmode) {
        if (is_numeric($id)) {
            if ($id === '0') { // external link
              return true;
            }
            $doc = new we_webEditionDocument();
            $doc->initByID($id);
            if ($doc->Published) {
                return true;
            }
        }
    }
    return false;
}
?>
Wird dann wie folgt verwendet:

Code: Alles auswählen

<we:href name="Link" only="id" to="global" nameto="gLinkID"/>
<we:ifDocPublished id="$gLinkID"><we:href name="Link"/></we:ifDocPublished>
Vielleicht hilft dir das ja weiter.

Liebe Grüße,
Sascha

Re: Teaser ausblenden via we:ifGeparkt type="href"?

Verfasst: Do 15. Feb 2018, 18:23
von mokraemer
ich würde Timo beipflichten, das sollte href/link direkt machen.
Bitte Report dazu.