Neu Link auf eigene Seite

dane

Aktives Mitglied
10. Juni 2015
10
0
Hallo zusammen,

manchmal möchte ich im Template einen Link anhand der Seiten-ID setzen. Habe dafür keine fertige Funktion gefunden. Das müsste es doch geben, oder?

Meine Funktion, die ich mir selber zusammengeschnipselt habe, sieht jetzt so aus:

Code:
$smarty->register_function("getPageLink", "getPageLink");

function getPageLink($pageUid, $full = false) {

  $oLink = Shop::DB()->select('tlink', 'kLink', $pageUid);

  if (isset($oLink->kLink)) {
      $Link       = new stdClass();
      $linkHelper = LinkHelper::getInstance();

      $Link = $linkHelper->getPageLink($oLink->kLink);
      $requestURL    = baueURL($Link, URLART_SEITE, $row = 0, $bForceNonSeo = false, $bFull = $full);


      return $requestURL;
  }

  return false;

}
So bekomme ich aber nur die URL. Am liebsten wäre mir das komplette $Link-Objekt, welches ja auch den Namen der Seite, Language-URL etc enthält. Allerdings sind bei mir da die URL-Felder leider leer. Nur mit dem baueURL funktioniert es.
Habt ihr einen Tipp für mich?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.145
188
Am Einfachsten ist es die bestehende Funktion get_cms_content in der functions.php (aber via Child) zu ändern. Siehe:
Code:
function get_cms_content($params, &$smarty)
{
    if (isset($params['kLink']) && (int)$params['kLink'] > 0) {
        $kLink          = (int)$params['kLink'];
        $linkHelper     = LinkHelper::getInstance();
        $oLink          = $linkHelper->getPageLink($kLink);
        $oLink->Sprache = $linkHelper->getPageLinkLanguage($oLink->kLink);
        if (isset($params['assign'])) {
            $smarty->assign($params['assign'], $oLink);//ANSTATT $smarty->assign($params['assign'], $oLink->Sprache->cContent);
        } else {
            return $oLink->Sprache->cContent;
        }
    }

    return null;
}
Im Template dann
Code:
{get_cms_content kLink=ID assign=meinLinkObjekt}
{$meinLInkObjekt} enthält dann alle Infos der CMS Seite.
 

Über uns

  • In unserem moderierten JTL-Forum könnt Ihr Euch themenbezogen mit der JTL-Community rund um die Produkte von JTL, passende Erweiterungen und den E-Commerce im Allgemeinen austauschen, Tipps und Tricks teilen sowie Verbesserungswünsche und Fehler diskutieren.

    Unsere Forumsnutzer helfen sich untereinander auch gerne weiter, wenn Sie mal nicht weiterkommen oder einen Ratschlag benötigen.

Schnell-Navigation

Benutzer Menü