WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 02.05.2017 16:27:39

stefanek
Developer

Breadcrumbs für OneForAll, Bakery, Topics,

Habe es grad wieder gebraucht und hier von einem gewissen Stefek geklaut und überarbeitet  wink

<?php
$TEXT['YOU_ARE_HERE'] = "Sie sind hier";
$sItemOpen = '[if(class==menu-current) {<li>[menu_title]</li>} else {<li>[a][menu_title]</a></li>}]';
$sPageTitle = "";
if(defined('ITEM_ID')){
	$sPageTitle = $database->get_one("SELECT `title` FROM `".TABLE_PREFIX."mod_oneforall_items` WHERE `item_id` = '".ITEM_ID."'");
}
if(defined('TOPIC_ID')){
	$sPageTitle = $database->get_one("SELECT `title` FROM `".TABLE_PREFIX."mod_topics` WHERE `item_id` = '".TOPIC_ID."'");
}
if($sPageTitle){
	$sItemOpen  = "[if(class==menu-current) {<li>[a][menu_title]</a></li><li>".$sPageTitle."</li>} else {<li>[a][menu_title]</a></li>}]";
}
$sBreadcrumb = show_menu2(0, 
   		SM2_ROOT, SM2_CURR, SM2_CRUMB | SM2_BUFFER, $sItemOpen, '</li>', ''
   	); 	
?>
<ul class="breadcrumb">
	<li><strong><?php echo $TEXT['YOU_ARE_HERE']; ?>:</strong></li>
	<li><a href="<?php echo WB_URL."/";?>" title="Home">Home</a></li>
	<?php echo (strpos($sBreadcrumb, 'Home')) ? '' : $sBreadcrumb; ?>
</ul>

Mittlerweile wird "ITEM_ID" nicht nur für Bakery, sondern auch für OFA und andere Module verwendet.
Man müßte den Code gegebenenfalls anpassen, wenn man es mit multiplen OFA Versionen (wie auch Bakery) auf einer WB/CE Installation verwenden will.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#2 15.09.2019 07:11:36

rheo
Mitglied

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Liebe ExpertInnen

Ich bin bei der Suche nach Breadcrumbs für Topics auf diesen Beitrag gestossen.

Wenn ich es richtig verstanden habe, ist dies ja in Topics selber nicht möglich, d.h. bei Unterseiten wird die Übersichtsseite nicht in den Brotkrumen angezeigt.
Die obige Ergänzung der index.php funktioniert zwar technisch, erscheint aber nicht dort auf der Seite, wo ich sie gerne hätte.

Ist es möglich die Breadcrumbs von Topics "ganz normal" in ein show_menu2-Modul zu integrieren, das ich auf allen anderen Seiten verwende ?
Im Idealfall auch dann, wenn es in einem anderen Abschnitt der gleichen Seite erscheint ?

Vielen Dank im Voraus
rheo

Offline

#3 15.09.2019 07:49:28

florian
Administrator

Re: Breadcrumbs für OneForAll, Bakery, Topics,

In dem Falle ist vermutlich die hier gepostete javascriptbasierte Lösung einfacher umzusetzen:
https://forum.websitebaker.org/index.ph … #msg142278


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#4 16.09.2019 13:13:11

rheo
Mitglied

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Danke !  cool
Die JavaScript-Lösung funktioniert.
Ich habe sie etwas angepasst, da ich nur die Übersichts-Seite in den Breadcrumbs brauche :

<span id="TopicsSection"></span>
<script type="text/javascript">
document.getElementById('TopicsSection').innerHTML = "[SECTION_TITLE]";
</script>

Perfekt wäre es, wenn [Section_Title] als Link funktionieren würde.
Das habe ich aber auch mit Anleitung von Topics nicht herausgefunden.

Vielleicht kann mir da auch jemand weiterhelfen !?

Offline

#5 16.09.2019 13:48:23

florian
Administrator

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Also wenn Du eine Struktur hast wie

Irgend eine Seite / Irgend eine andere Seite / Topics-Seite

und willst das so abbilden, dann kannst Du ganz normal Show_Menu2 verwenden, um den Breadcrumb zu generieren:

show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB, '<span class="[class]"> > [a][menu_title]</a>', '</span>', '', '', '<b>You are here:</b> <span class="[class]">[a][menu_title]</a>');

und dann ist der Titel der Topics-Seite auch verlinkt.

Den Javascript-Workaround brauchst Du nur, wenn Du auch noch den gerade angezeigten Beitrag in der Breadcrumb erscheinen lassen willst, also sowas wie
Irgend eine Seite / Irgend eine andere Seite / Topics-Seite / Neues Besser zeigen


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#6 17.09.2019 09:57:20

rheo
Mitglied

Re: Breadcrumbs für OneForAll, Bakery, Topics,

In meinem normalen Show-Menu2 verwende ich SM2_CURR-2, damit eben nur die übergeordneten Seiten darin erscheinen.
Das funktioniert nur bis zur Topics-Übersicht, aber nicht für die Topics-Thema-Seite

Mit deinem SM2-Vorschlag ist es quasi umgekehrt ... ich habe dann auf der Übersichts- und auf der Themenseite jeweils den Übersichtslink.

Ist vielleicht ein Luxusproblem, aber ich hätte halt gerne auf den Haupt- und Topics-Seiten die gleichen Breadcrumbs mit Links ...
- auf einer normalen Seite : Home > Kategorie >
- auf der Topics-Übersichtsseite : Home > Kategorie > Unterkategorie >
- auf der Topics-Themenseite : Home > Kategorie > Unterkategorie > Topics-Übersicht >

Geht das vielleicht doch mit Javascript oder mit einem angepassten SM2 ?

Vielen Dank wieder einmal für eure Bemühungen !

Offline

#7 17.09.2019 15:59:17

florian
Administrator

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Nochmal zum Verständnis:
Du willst normale Seiten nicht im Breadcrumb haben, d.h. wenn es eine Seite
Home > Kategorie > Irgend eine Unterseite
gibt, soll die Breadcrumb nur
Home > Kategorie
zeigen;

aber wenn man auf
Home > Kategorie > Topics-Seite
ist, soll
Home > Kategorie > Topics-Seite
erscheinen;

und wenn man auf einem Beitrag ist,
Home > Kategorie > Topics-Seite > Beitragstitel

- und das dann jeweils verlinkt?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#8 17.09.2019 16:34:55

rheo
Mitglied

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Nein, das ist ein Missverständnis.
Man soll auf jeder beliebigen Seite - egal ob mit oder ohne Topics - nur die übergeordneten Seiten im Breadcrumb sehen; bei Topics-Beiträgen also bis zur Topics-Übersichtsseite.

Oder analog zu deinem Beispiel, ...

wenn man auf
Home > Kategorie > Topics-Seite
ist, soll
Home > Kategorie >
erscheinen;

und wenn man auf einem Beitrag ist,
Home > Kategorie > Topics-Seite >

Ohne Verlinkung habe ich das ja mit dem obigen JavaScript schon hingekriegt; auch in einem anderen Abschnitt der Seite.

Offline

#9 17.09.2019 17:08:40

florian
Administrator

Re: Breadcrumbs für OneForAll, Bakery, Topics,

Versuch mal so.

1. In der index.php Deines Templates da, wo der Breadcrumb erscheinen soll:

<div class="bread">
<?php show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB|SM2_PRETTY, '<span class="[class]"> > [a][menu_title]</a></span>', '', '', '', '<b>You are here:</b> <span class="[class]">[a][menu_title]</a></span>'); ?>
</div>

(Text "<b>You are here</b>" ggf. anpassen/rausnehmen)

2. In der CSS-Datei Deines Templates ergänzen:

.bread span:last-child {
	display:none;
}

3. Und bei Topics bei Optionen > Thema > Kopfzeile:

<style type="text/css">
.bread span:last-of-type {
	display:inline-block;
}
</style>

Code allein macht nicht glücklich. Jetzt spenden!

Offline

Fußzeile des Forums

up