"Sie befinden sich:"-Modul

Gesperrt
dmf
Beiträge: 4
Registriert: Di 3. Nov 2009, 10:03
Kontaktdaten:

"Sie befinden sich:"-Modul

Beitrag von dmf » Di 3. Nov 2009, 12:16

Hallo zusammen!

Erstmal sorry für den komischen Threadnamen, aber leider weiß ich nicht wie das Modul heißen könnte. :mrgreen:

Ich suche ein Modul wie folgt. Es soll auf jeder Seite an einer bestimmten Stelle Anzeigen wo man sich gerade befindet.
Ein Beispiel:

Man ist in der Kategorie Portofolio im Unterpunkt Websites und dort auf "Design 1".
Jetzt möchte ich eine Anzeige haben die dies wie folgt darstellt:

"Portofolio -> Websites -> Desisgn 1"

Gibt es sowas bereits? Für einen Link wäre ich sehr dankbar!

Mit freundlichem Gruß

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von BagHira » Di 3. Nov 2009, 13:09

Servus dmf,

das sollte eigentlich im Demomandaten mit drinne sein?

Bzw. suche mal nach Breadcrumb oder conCreateLocationString.

Ansonnsten versuche es mal hiermit:

Code: Alles auswählen

<?php
#Settings
$separator = '';
#Get path to root
$dummy = conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 1);

if ($retval=='') {
	$retval='&nbsp;';	
} else {
	$pattern = "'>.*?<'";
	
	preg_match_all($pattern, $retval, $matches);
	$matches = $matches[0];
   $retval = substr($matches[0], 1, strlen($matches[0]) - 2);
}

echo $retval;
?>
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von Oldperl » Di 3. Nov 2009, 13:12

Hallo dmf,

ersteinmal willkommen im Contenido Forum. :-)

Du suchst eine Brotkrumen-Navigation, oder auf Neudeutsch: Breadcrumb Navigation.
Schau mal in einer Demoinstallation unter Style->Module, dort gibt es das entsprechende Modul Navigation_Breadcrumb.

Gruß aus Franken

Ortwin

Edit: Da war Holger schneller. :-)
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: "Sie befinden sich:"-Modul

Beitrag von _wiewo_ » Di 3. Nov 2009, 13:46

hier mal mein kleines Breadi was ich immer einsetze

Code: Alles auswählen

<?php
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');

$oBreadcrumb 		= new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
$oBreadCategories 	= $oBreadcrumb->get($idcat, 1, 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>&raquo;</span> <a href="' . $sCategoryLink . '" title="zur Kategorie -> ' . $sCategoryName . '">' . $sCategoryName . '</a>';
}

echo ' <span>&raquo;</span> <a href="' . $sArticleLink . '" title="zum Artikel -> ' . $sArticleTitle . '">' . $sArticleTitle . '</a>';

echo '</p>';
?>
nicht dokumentiert, aber hoffe verständlich :)

Kurby
Beiträge: 23
Registriert: Di 1. Sep 2009, 18:14
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von Kurby » Do 5. Nov 2009, 11:20

Hi!

Vielen Dank für das recht einfach gehaltene Modul, es ist genau das was ich gesucht habe ;)

Gruß
Michael

dmf
Beiträge: 4
Registriert: Di 3. Nov 2009, 10:03
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von dmf » Mo 9. Nov 2009, 13:36

Danke, genau das was ich gesucht habe! : :)

Kurby
Beiträge: 23
Registriert: Di 1. Sep 2009, 18:14
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von Kurby » Mi 2. Dez 2009, 19:31

Moin!

Ich benutze dieses Modul mittlerweile seit eingier Zeit. Allerdings bin ich noch nicht ganz zufrieden damit, da es nur den Artikeltitel anzeigt und den Navigationspunkt dazu.

Mein Seite ist wie folgt aufgebaut:

*Menüpunkt 1
-Unterpunkt 1.1 -> Verweis auf einen Artikel 1.1
-Unterpunkt 1.2 -> Verweis auf einen Artikel 1.2
-Unterpunkt 1.3 -> Verweis auf einen Artikel 1.3

*Menüpunkt 2
-Unterpunkt 2.1 -> Verweis auf einen Artikel 2.1
-Unterpunkt 2.2 -> Verweis auf einen Artikel 2.2
usw.

Wenn ich nun Punkt 1.2 angeklickt habe, sehe ich den Artikel 1.1.
Die derzeitige Breadcrumb Navigation zeigt dann an:
"Sie sind hier: Unterpunkt 1.2 >> Artikel 1.2"

Die erste Ebene wird leider weggelassen.
Kann man diese auch so modifizieren, das sie folgendes anzeigt:
"Sie sind hier: Menüpunkt 1 >> Unterpunkt 1.2 >> Artikel 1.2"

Wobei evtl noch wichtig wäre, dass das ganze Menü selbst in dem Baum "Hauptmenü" steckt. Dies musste ich so machen, da es auf meiner Seite noch ein zweites Menü gibt. Insofern sollte diese Ebene nicht angezeigt werden.

Vielen Dank!

Michael

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: "Sie befinden sich:"-Modul

Beitrag von _wiewo_ » Mi 2. Dez 2009, 19:48

aus

Code: Alles auswählen

$oBreadCategories    = $oBreadcrumb->get($idcat, 1, true);
mach

Code: Alles auswählen

$oBreadCategories    = $oBreadcrumb->get($idcat, 0, true);
und dann guck mal was er macht... :)

Kurby
Beiträge: 23
Registriert: Di 1. Sep 2009, 18:14
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von Kurby » Do 3. Dez 2009, 13:15

Wow, so eine kleine Änderung und alle meine Probleme sind gelöst.

Vielen Dank Christian!

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: "Sie befinden sich:"-Modul

Beitrag von _wiewo_ » Do 3. Dez 2009, 13:20

reiche das modul im laufe des tages nochmal ein, mit input wo man sowas zb einstellen kann... direkt in der templatekonfiguration
jede kategorie oder jeden artikel einstellen find ich immer so doof,
also kommt die einstellung des moduls in die templatekonfiguration, für einen anderen platz der konfiguration eines solchen seitenübergreifendem moduls wäre ich für vorschläge offen

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von idea-tec » Do 3. Dez 2009, 13:45

System- oder Mandanteneistellungen
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: "Sie befinden sich:"-Modul

Beitrag von _wiewo_ » Do 3. Dez 2009, 14:19

dann hätte man es natürlich ganz global für alle seiten,

habe eine variante in der man einen haken setzt, das er die eingestellten variablen als mandantenspezifische werte setzen soll.
man KANN aber auch nem Template extra einstellungen geben


die möglichkeit ne kategorie oder einen artikel extra einzustellen, würde bei einer breadnavi glaube ich keinen sinn geben oder?

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: "Sie befinden sich:"-Modul

Beitrag von _wiewo_ » Do 3. Dez 2009, 15:37

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

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: "Sie befinden sich:"-Modul

Beitrag von GaMbIt_ » Mo 29. Mär 2010, 14:27

setz es doch gleich ins Contenido-Wiki :)
Nützliche Contenido Infos gibts hier: Contenido Wiki

Gesperrt