Alias-Name der aktuellen Seite?
Eingetragen von helmut25 (59)
am 13.07.2013 - 11:12 Uhr in
am 13.07.2013 - 11:12 Uhr in
Hallo,
ist es möglich, in der page.tpl.php den (von mir vergebenen) alias Namen der aktuellen Seite per Variable auszulesen?
Das brauche ich, um bei einer bestimmten Seite noch etwas einzublenden, was aber eben _nur_ bei dieser Seite gemacht werden soll
In der API steht nur etwas von 'title'. Ginge zur Not auch, finde ich aber etwas zu *unprofessionell*...
any suggestions?
thanx for your help, Helmut
- Anmelden oder Registrieren um Kommentare zu schreiben
Nimm doch die Node-ID der
am 13.07.2013 - 12:07 Uhr
Nimm doch die Node-ID der Seite. Wenn Du mit der Maus über den "Bearbeiten"-Tab der Seite fährst, kannst Du in der Anzeige des Links dazu, meist unten im Browser gezeigt, die ID des Nodes sehen. Alle Nodes lassen sich in Drupal uber die Node-ID ansprechen, auch wenn sie einen Alias haben. Code könnte lauten
<?php
$node = menu_get_object();
if($node->type == 'page' && $node->nid == 347) {
/* mache hier, was immer Du willst */
}
Beste Grüße
Werner
oder wie wäre mit einem
am 13.07.2013 - 15:50 Uhr
oder wie wäre mit einem block, den du nur auf dieser seite veröffentlichst?
...wäre evtl. auch eine
am 14.07.2013 - 08:20 Uhr
...wäre evtl. auch eine Möglichkeit, werde mal drüber nachdenken.
Danke für den Tipp!
Gruss, Helmut
Hallo Werner, danke für den
am 14.07.2013 - 08:26 Uhr
Hallo Werner,
danke für den Tipp.
Allerdings wäre es natürlich viel günstiger, wenn man eine *aussagekräftige* Bezeichnung hätte.
Ein Alias wäre diesbezüglich natürlich viel besser als eine Id, da man sofort weiss, um welche Seite es geht.
Gruss, Helmut
An den Alias kommst Du über
am 14.07.2013 - 09:39 Uhr
An den Alias kommst Du über die API-Funktion [api:drupal_get_path_alias]. Ich habe mal ein Beispiel noch aus Drupal 6, aber das geht in Drupal 7 genau so:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
if ($path[x] == '. . . . . . . . .') // was Du auch immer prüfen möchtest
{
// Hier, was immer Du anstellen möchtest
}
Beste Grüße
Werner
Block
am 14.07.2013 - 22:48 Uhr
Moin.
Um mal die Idee von Christian (caw) aufzugreifen: wenn Du einen neuen Block erstellst, kannst Du bei den Sichtbarkeitseinstellungen des Blocks angeben, auf welchen Seiten dieser Block angezeigt werden soll.
Dort kannst Du dann einfach den Alias der Seite eingeben und schon wird der Block nur dort angezeigt (bzw. je nach Einstellung auch nur auf dieser Seite nicht).
Kein Grund, irgendetwas programmieren zu wollen ;)
hth,
Stefan
Hallo Stefan, habe das schon
am 15.07.2013 - 07:00 Uhr
Hallo Stefan,
habe das schon in Erwägung gezogen.
Das Problemchen, das dann auftaucht, ist aber, dass ich dann den Titel der Seite ausblenden muss, weil ja dann nur der Block-Titel gezeigt werden soll.
Und das geht dann wohl auch nicht ohne Programmierung....
Gruss, Helmut
Display Suite
am 15.07.2013 - 07:22 Uhr
Wenn das ein ganz normaler Node ist, könntest Du den Titel über [do:ds Display Suite] ausblenden.
Oder Du machst ein [do:panels Panel] aus der Seite, dann hast Du noch viel mehr Optionen (inkl. "Titel ausblenden") ...