Anbei das Modul in "neu", als xml speichern und importieren
Eingestellt wird es in den Templatevorkonfigurationen....
Setzt man einen Haken bei "Werte Mandantenspezifisch setzen?" werden die Werte in den Mandanteneinstellungen gespeichert und sind automatisch auf allen Seiten aktiv
Setzt man einen Haken bei "Diese anstelle der globalen Werte benutzen?" werden in dem Template nicht die globalen Werte genommen, sondern welche man für dieses Template eingegeben hat.
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1"?>
<module><name>Breadcrumbs</name>
<description/>
<type>Navigation</type>
<input>?>
<?php
if ($area === 'tpl_cfg')
{
$oTemplateApi = new cApiTemplate($idtpl);
$oClientApi = new cApiClient($client);
if ($_POST)
{
###################################################
### Variablen welche festgelegt wurden auslesen ###
###################################################
$sDelimiterPost = (string) $_POST['delimiter'];
$iRootLevelPost = (int) $_POST['root_level'];
$bClientCfgPost = (bool) $_POST['client_cfg'];
$bUseTemplateCfgPost = (bool) $_POST['use_template_cfg'];
######################################
### Templatekonfigurationen setzen ###
######################################
$oTemplateApi->setProperty('breadcrumb_config', 'delimiter', $sDelimiterPost);
$oTemplateApi->setProperty('breadcrumb_config', 'root_level', $iRootLevelPost);
$oTemplateApi->setProperty('breadcrumb_config', 'use_template_cfg', $bUseTemplateCfgPost);
if ($bClientCfgPost)
{
######################################
### Mandantenkonfiguration setzen ###
######################################
$oClientApi->setProperty('breadcrumb_config', 'delimiter', $sDelimiterPost);
$oClientApi->setProperty('breadcrumb_config', 'root_level', $iRootLevelPost);
}
echo '--- Daten wurden gespeichert ---';
}
########################################
### Templatekonfigurationen auslesen ###
########################################
$sDelimiter = (string) $oTemplateApi->getProperty('breadcrumb_config', 'delimiter');
$iRootLevel = (int) $oTemplateApi->getProperty('breadcrumb_config', 'root_level');
$bUseTemplateCfg = (bool) $oTemplateApi->getProperty('breadcrumb_config', 'use_template_cfg');
$sUseTemplateCfg = ($bUseTemplateCfg ? 'checked="checked"' : '');
?>
<table>
<tr>
<td>Delimiter</td>
<td><input type="text" class="text_medium" name="delimiter"
value="<?php echo $sDelimiter ?>" /></td>
</tr>
<tr>
<td>RootLevel</td>
<td><input type="text" class="text_medium" name="root_level"
value="<?php echo $iRootLevel ?>" /></td>
</tr>
<tr>
<td>Diese anstelle der globalen Werte benutzen?</td>
<td><input type="checkbox" name="use_template_cfg" value="true"
<?php echo $sUseTemplateCfg ?> /></td>
</tr>
<tr>
<td>Werte Mandantenspezifisch setzen?</td>
<td><input type="checkbox" name="client_cfg" value="true" /></td>
</tr>
</table>
<?php
}
else
{
echo 'Bitte konfigurieren Sie die Breadcrumbs unter Templates -> "gewünschtes Template auswählen" -> Vorkonfigurieren';
}</input>
<output><?php
/**
* wtBreadcrumbs
*
* @author Christian Kehres
* @copyright webtischlerei.de
* @version 1.0.0
*/
// ID des aktuellen Templates auslesen
$sQueryTemplateID = "
SELECT
`templateconf`.`idtpl` AS `idtpl`
FROM
`con_art_lang` AS `artlang`
LEFT JOIN
`con_cat_art` AS `catart` ON `artlang`.`idart` = `catart`.`idart`
LEFT JOIN
`con_cat_lang` AS `catlang` ON `artlang`.`idlang` = `catlang`.`idlang` AND `catart`.`idcat` = `catlang`.`idcat`
LEFT JOIN
`con_template_conf` AS `templateconf` ON `templateconf`.`idtplcfg` = if(`artlang`.`idtplcfg` > 0, `artlang`.`idtplcfg`, `catlang`.`idtplcfg`)
WHERE
`artlang`.`idartlang` = " . $idartlang . "
";
$db->query($sQueryTemplateID);
$db->next_record();
$idtpl = $db->f('idtpl');
$oTemplateApi = new cApiTemplate($idtpl);
$bUseTemplateCfg = (bool) $oTemplateApi->getProperty('breadcrumb_config', 'use_template_cfg');
if (!$bUseTemplateCfg)
{
$oClientApi = new cApiClient($client);
$sDelimiter = (string) $oClientApi->getProperty('breadcrumb_config', 'delimiter');
$iRootLevel = (int) $oClientApi->getProperty('breadcrumb_config', 'root_level');
}
else
{
$sDelimiter = (string) $oTemplateApi->getProperty('breadcrumb_config', 'delimiter');
$iRootLevel = (int) $oTemplateApi->getProperty('breadcrumb_config', 'root_level');
}
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');
$oBreadcrumb = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
$oBreadCategories = $oBreadcrumb->get($idcat, $iRootLevel, true);
$oArticle = new Article($idart, $client, $lang);
$sArticleTitle = $oArticle->getField('title');
$sArticleLink = Contenido_Url::getInstance()->build(array('idart' => $idart, 'lang' => $lang, 'client' => $client));
echo '<p id="breadcrumbs"><span>Sie sind hier</span>';
foreach ($oBreadCategories as $oBreadCategory) {
$iCategoryID = $oBreadCategory->getIdCat();
$sCategoryName = $oBreadCategory->getCategoryLanguage()->getName();
$sCategoryLink = Contenido_Url::getInstance()->build(array('idcat' => $iCategoryID, 'lang' => $lang, 'client' => $client));
echo ' <span>' . $sDelimiter . '</span> <a href="' . $sCategoryLink . '" title="zur Kategorie -> ' . $sCategoryName . '">' . $sCategoryName . '</a>';
}
echo ' <span>' . $sDelimiter . '</span> <a href="' . $sArticleLink . '" title="zum Artikel -> ' . $sArticleTitle . '">' . $sArticleTitle . '</a>';
echo '</p>';
?></output>
</module>
Kann ja wer testen wer es mag, dokumentier das nochn bissl aus und dann kommts ins Forum als eigener Thread