Dafür habe ich ein Service-Modul geschrieben, dass diese Verbindungen anzeigen kann. Im Modul kann über eine Variable angegeben werden, welche Segmente ausgegeben werden sollen.
Moduldatei kann unter folgendem Link geladen werden:
www.f-be.de/contenido-forum/inuse-by.zip
Neue Version vom 19.03.06
Der eigentliche Code:
Beschreibung:
Code: Alles auswählen
/******************************************
* File : inuse-by/
* Project : Contenido
* Descr : Zeige die Verbindung von Layouts und Templates /Templates und Module
* Templates und Kategorien / Templates und Artikel
*
* Author : Florian Behrendt/ Fehlersuche von Emergence ;-)
* Created : 17.03.2006
* Modified : 19.03.2006 erweiterte Tabelle Templates / Kategorien / Artikel
* Version : 1.3
*
* © GPL
*****************************************/
Output:
Code: Alles auswählen
<?php
/******************************************
* File : inuse-by/
* Project : Contenido
* Descr : Zeige die Verbindung von Layouts und Templates an
*
* Author : Florian Behrendt/ Fehlersuche von Emergence ;-)
* Created : 17.03.2006
* Modified : 19.03.2006 erweiterte Tabelle Templates / Kategorien / Artikel
* Version : 1.3
*
* © GPL
*****************************************/
// variablen, die bestimmen, welcher Abschnit ausggeben werden soll
$laytpl = true; // Layouts in Templates
$tplmod = true; // Module in Templates
$tplcat = false; // Templates in Kategorien
$tplart = false; // Templates in Artikeln
$tplcatart = true; // Gemeinsam Tabelle Templates in Kategorien und Artikeln
// Bestimme Namen des Artikels und Name der Kategorie
if ($laytpl == true) {
$query = "SELECT
LAYOUT.name as lname,
TEMPLATE.name as tname
FROM
" . $cfg["tab"]["lay"] . " AS LAYOUT,
" . $cfg["tab"]["tpl"] . " AS TEMPLATE
WHERE
LAYOUT.idlay = TEMPLATE.idlay AND
TEMPLATE.idclient = '1'
ORDER BY
LAYOUT.name,
TEMPLATE.name";
// echo "$query";
// execute query
$db->query($query);
//Falls leer nicht ausführen
// $fehler = (mysql_error($db));
echo "<H2>Layouts verwendet von Templates</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Layout</TH><TH>Template</TH></TR></THEAD>" ;
while ($db->next_record()) {
$layname = $db->f('lname');
$tempname = $db->f('tname');
echo "<TR><TD>$layname</TD><TD>$tempname</TD></TR>";
} // end while
echo "</table></div>";
}
// *****************************************
if ($tplmod == true) {
// Bestimme Namen des Artikels und Name der Kategorie
$query = "SELECT
MODULE.name, TEMPLATE.name
FROM
" . $cfg["tab"]["tpl"] . " AS TEMPLATE,
" . $cfg["tab"]["mod"] . " AS MODULE,
" . $cfg["tab"]["container"] . " AS CONTAINER
WHERE
MODULE.idmod = CONTAINER.idmod
AND CONTAINER.idtpl = TEMPLATE.idtpl
AND TEMPLATE.idclient = $client
ORDER BY
MODULE.name, TEMPLATE.name";
// echo "$query";
// execute query
$db->query($query);
//Falls leer nicht ausführen
// $fehler = (mysql_error($db));
echo "<H2>Module benutzt in Templates</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Modul</TH><TH>Template</TH></TR></THEAD>" ;
while ($db->next_record()) {
$modname = $db->f(0);
$tempname = $db->f(1);
echo "<TR><TD>$modname</TD><TD>$tempname</TD></TR>";
} // end while
echo "</table></div>";
}
// *****************************************
if ($tplcat == true) {
// Bestimme Namen des Artikels und Name der Kategorie
$query = "SELECT
TEMPLATE.name, CAT.name
FROM
" . $cfg["tab"]["tpl"] . " AS TEMPLATE,
" . $cfg["tab"]["tpl_conf"] . " AS CONFIG,
" . $cfg["tab"]["cat_lang"] . " AS CAT
WHERE
TEMPLATE.idtpl = CONFIG.idtpl
AND CONFIG.idtplcfg = CAT.idtplcfg
AND TEMPLATE.idclient = $client
ORDER BY
TEMPLATE.name, CAT.name";
// echo "$query";
// execute query
$db->query($query);
//Falls leer nicht ausführen
// $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Kategorien</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Kategorie</TH></TR></THEAD>" ;
while ($db->next_record()) {
$catname = $db->f(1);
$tempname = $db->f(0);
echo "<TR><TD>$tempname</TD><TD>$catname</TD></TR>";
} // end while
echo "</table></div>";
}
// *****************************************
if ($tplart == true) {
// Bestimme Namen des Artikels und Name der Kategorie
$query = "SELECT
TEMPLATE.name, ART.title
FROM
" . $cfg["tab"]["tpl"] . " AS TEMPLATE,
" . $cfg["tab"]["tpl_conf"] . " AS CONFIG,
" . $cfg["tab"]["art_lang"] . " AS ART
WHERE
TEMPLATE.idtpl = CONFIG.idtpl
AND CONFIG.idtplcfg = ART.idtplcfg
AND TEMPLATE.idclient = $client
ORDER BY
TEMPLATE.name, ART.title";
// echo "$query";
// execute query
$db->query($query);
//Falls leer nicht ausführen
// $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Artikel</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Artikel</TH></TR></THEAD>" ;
while ($db->next_record()) {
$artname = $db->f(1);
$tempname = $db->f(0);
echo "<TR><TD>$tempname</TD><TD>$artname</TD></TR>";
} // end while
echo "</table></div>";
}
$tplcatart = true;
if ($tplcatart == true) {
// Bestimme Namen des Artikels und Name der Kategorie
$query = "SELECT
TEMPLATE.name AS Template, CAT.name AS CAT, ART.title AS Artikel
FROM
" . $cfg["tab"]["tpl"] . " AS TEMPLATE,
" . $cfg["tab"]["tpl_conf"] . " AS CONFIG
" . "LEFT JOIN ". $cfg["tab"]["cat_lang"] . " AS CAT ON CONFIG.idtplcfg = CAT.idtplcfg
" . "LEFT JOIN ". $cfg["tab"]["art_lang"] . " AS ART ON CONFIG.idtplcfg = ART.idtplcfg
WHERE
TEMPLATE.idtpl = CONFIG.idtpl
AND TEMPLATE.idclient = $client
AND (CAT.name !="" OR ART.title !="" )
GROUP BY TEMPLATE.name, CAT.name, ART.title
ORDER BY
TEMPLATE.name, CAT.name, ART.title";
// echo "$query";
// execute query
$db->query($query);
//Falls leer nicht ausführen
// $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Kategorien und Artikeln</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Kategorie></TH><TH>Artikel</TH></TR></THEAD>" ;
while ($db->next_record()) {
$tempname = $db->f(0);
$catname = $db->f(1);
$artname = $db->f(2);
echo "<TR><TD>$tempname</TD><TD>$catname</TD><TD>$artname</TD></TR>";
} // end while
echo "</table></div>";
}
?>