Gibt es eine Variable die das verwendete Layout-Template ve

Gesperrt
woddel
Beiträge: 87
Registriert: Mi 2. Jun 2004, 10:49
Kontaktdaten:

Gibt es eine Variable die das verwendete Layout-Template ve

Beitrag von woddel » Fr 16. Mär 2012, 08:42

Hallo!

Ein kurze Frage - siehe Betreff.
Ich bedanke mich schon mal höflichst bei den Menschen die mir das Verraten können!

Woddel
woddel

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Gibt es eine Variable die das verwendete Layout-Template

Beitrag von Spider IT » Fr 16. Mär 2012, 09:42

Hallo woddel,

der Betreff ist gekürzt, du solltest deine Frage im Post schreiben.

Wenn ich die Frage richtig verstanden habe, möchtest du wissen, welches Layout und welches Template beim aktuellen Artikel im Einsatz sind.
Eine Variable gibt es meines Wissens nicht, aber es steht alles in der Datenbank :)
Wenn beim Artikel ein Template gewählt wurde, steht das in der con_art_lang

Code: Alles auswählen

$sql = 'SELECT idtplcfg
        FROM ' . $cfg['tab']['art_lang'] . '
        WHERE (idartlang=' . $idartlang . ')';
Wenn beim Artikel kein Template eingestellt ist (idtplcfg = 0), wird das von der Kategorie genutzt (con_cat_lang)

Code: Alles auswählen

$sql = 'SELECT idtplcfg
        FROM ' . $cfg['tab']['cat_lang'] . '
        WHERE ((idcat=' . $idcat . ') AND (idlang=' . $lang . '))';
Mit der idtplcfg kannst du dann in der Tabelle con_template_conf das zugrunde liegende Template ermitteln

Code: Alles auswählen

$sql = 'SELECT idtpl
        FROM ' . $cfg['tab']['tpl_conf'] . '
        WHERE (idtplcfg=' . $idtplcfg . ')';
Mit der jetzt ermittelten idtpl kannst du in der con_template den Template-Namen und das ID des Layouts ermitteln

Code: Alles auswählen

$sql = 'SELECT idlay, name
        FROM ' . $cfg['tab']['template'] . '
        WHERE (idtpl=' . $idtpl . ')';
Und mit der ermittelten idlay kannst du dann in der con_lay den Namen des Layouts ermitteln

Code: Alles auswählen

$sql = 'SELECT name
        FROM ' . $cfg['tab']['lay'] . '
        WHERE (idlay=' . $lay . ')';
Natürlich lässt sich das alles auf eine Abfrage mit verknüpften Tabellen reduzieren, aber gerade bei großen Datenmengen dauert eine Abfrage über vielen Tabellen länger als einzelne kurze Abfragen.

Um rauszufinden, welche Variablen vorliegen (zumindest in den Konfigurations-Arrays), kannst du diese per var_dump() ausgeben lassen (am besten in ein pre-Tag)

Code: Alles auswählen

echo '<pre>'; var_dump($cfg); echo '</pre>';
Konfigurationseinstellungen von Contenido

Code: Alles auswählen

echo '<pre>'; var_dump($cfgClient); echo '</pre>';
Konfigurationseinstellungen des/der Mandanten

Gruß
René

woddel
Beiträge: 87
Registriert: Mi 2. Jun 2004, 10:49
Kontaktdaten:

Re: Gibt es eine Variable die das verwendete Layout-Template

Beitrag von woddel » Fr 16. Mär 2012, 10:13

1000 Dank!

Genau sowas wollte ich wissen.
Außerdem ist die Antwort schön übersichtlich und hilft sicher auch anderen weiter.

Schönen Gruß

Woddel
woddel

Gesperrt