Token für Block-Einstellung "show only on pages"
am 30.09.2014 - 09:10 Uhr in
Hallo Community,
ich habe folgendes Pfadmuster für einen eigenen Inhaltstyp "Profil" angelegt: www.domain.de/[name-des-profils]
Auf diesen Seiten würde ich gerne den "Printer, PDF, E-Mail"-Block (Print Module) anzeigen lassen. Zusätzlich soll der Block noch auf www.domain.de/compare/* angezeigt werden.
Die Anzeigeeinstellung des Blocks kann ich aufgrund der Anforderung www.domain.de/compare/* nicht über die Inhaltstypen-Beschränkung steuern. Daher bleibt mir nur die Einschränkung über "Nur auf diesen Seiten anzeigen". Für den Inhaltstyp "Profil" kann ich allerdings keine Wildcard www.domain.de/* benutzen, da der Block sonst auf allen anderen Seiten, wie z. B. Impressum, etc., angezeigt wird (da erste Verzeichnis-Ebene).
Kennt jemand einen Weg wie ich das machen kann? Perfekt wäre es, wenn ich Tokens für die Pfadangabe nutzen könnte, aber es kann leider kein Ersetzungsmuster ausgewählt werden. Kommt mir so vor, als ob das eingentlich ein gängiger Fall ist.
Zur Not könnte ich das oben genannte Pfadmuster für meinen Inhaltstyp "Profil" ändern in: www.domain.de/profile/[name-des-profils]. Dadurch könnte ich dann wieder mit der Wildcard arbeiten. Aus SEO-Gründen wäre das aber nur die zweitbeste Lösung.
Freue mich über jeden Tipp.
Grüße
Thule
- Anmelden oder Registrieren um Kommentare zu schreiben
<?php // Only show if $match
am 30.09.2014 - 09:55 Uhr
<?php
// Only show if $match is true
$match = true;
// Which node types to NOT show block
$types = array('book', 'news', 'anothernodetype' );
// Match current node type with array of types
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if(in_array($type, $types)) {$match=false;}
}elseif(current_path()=="compare)
$match=true;
return $match;
?>
Danke für die Hilfe. Jetzt
am 30.09.2014 - 10:03 Uhr
Danke für die Hilfe. Jetzt habe ich aber leider keine Programmierkenntnisse. Kannst du mir vielleicht etwas bei der Implementierung des Codes helfen?
- kann ich den Code einfach in die template.php ans Ende setzen?
- kannst du mir vielleicht die Stellen markieren, die ich anpassen muss?
in die block visibitly und
am 30.09.2014 - 10:22 Uhr
in die block visibitly und auf Seiten, für die dieser PHP-Code TRUE zurückliefert (nur für Experten) setzen
und natürlich deinen contenttypnamen einsetzen.
da steht oben zur zeit $types = array('book', 'news', 'anothernodetype' );, da muss dann geändert werden wahrscheinlich auf $types = array('profil'' );
ich weiß ja nicht wie der maschinenname deines inhaltstypen lautet
hmm...Experte bin ich ja
am 30.09.2014 - 10:44 Uhr
hmm...Experte bin ich ja nicht. In dem Fall lasse ich wohl lieber die Finger davon. Danke trotzdem. Hat jemand noch einen anderen Rat?