Ich habe eine Seite, auf der verschiedene Gruppen eigene Kategorien haben, und es besteht der Wunsch, diese Kategorien mit dem Logo des Gruppeninhabers zu branden.
Für jede Kategorie gibt es Code wie diesen:
.category-org .d-header {
color: white !important;
background-color: white !important;
background-image: none !important;
background:white !important;
}
.category-org #site-text-logo {
content: url("/uploads/default/original/1X/a9d7d4f215f2013907002ffe13456d3f90a7f108.png") !important;
display: inline-block;
height: 50px;
font-size: 0;
margin-top: 5px;
margin-bottom: 0px;
}
Das Problem ist, dass man beim Klicken auf das Logo zur Startseite der Seite und nicht zur Kategorie weitergeleitet wird. Dies ist (weitgehend) durch Folgendes gelöst:
<script type="text/javascript">
$(document).ready(function() {
$(".title #site-text-logo").click(function(event){
// Nicht zur Basis-URL navigieren
event.preventDefault();
// Kategorie-Aktivität aus der Div-ID ermitteln
div = $("body[class*='category-']")[0];
// Slug aus der Klasse extrahieren, die mit 'category-' beginnt
var classes = $(div).attr('class');
var slug = classes.match(/category\-.+/g)[0].replace("category-","").split(" ")[0];
// href auf die Slug-URL setzen
document.location = "/c/" + slug + "/";
})
});
</script>
Wenn man auf der Kategorie- oder Themen-Seite auf das Logo klickt, landet man auf der Kategorie-Seite. Hurra!
ABER: Wenn man in den winzigen Zwischenraum zwischen dem Logo und dem unteren Rand des Headers klickt, gelangt man zur Startseite und nicht zur Kategorie-Seite. Es ist praktisch unmöglich vorherzusagen, welche Aktion ausgelöst wird. Wenn man mit der Maus über die URL im unteren Bereich von Chrome fährt, wird stets die Startseite der Seite angezeigt, nicht die Kategorie-URL – unabhängig davon, wohin man tatsächlich weitergeleitet wird.
(Ich habe Custom Header Links verwendet, um einen Link zur Startseite hinzuzufügen. Ich glaube nicht, dass dies mit dem oben beschriebenen Verhalten zusammenhängt.)
Und ich kann die Seite nicht teilen, da die pro-Einheit-Kategorien nur für Gruppenmitglieder sichtbar sind.