Block anzeige
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 23.06.2010 - 11:10 Uhr in
Ich habe einen Block mit Views erstellt.
Dem View habe ich ein Argument angehangen.
zB: www.meine-seite.de/brot/butter
somit ist mein Argument: butter
Rufe ich nun die Seite "www.meine-seite.de/brot/butter" auf erscheint der Block
jedoch gibt es diese Seite noch nicht. Die Seite wurde nicht gefunden.
Die angeforderte Seite konnte nicht gefunden werden.
Lege ich eine Seite mit dem pfad "/brot/butter" an, erscheint die Seite, der Block aber nicht mehr !
Warum ? Hat jemand ne gute idee ?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein Block, auch ein Block in
am 23.06.2010 - 12:17 Uhr
Ein Block, auch ein Block in Views, kann kein Argument übernehmen. In Views behilft man sich dann mit dem Weg:
Was tun, wenn kein Argument vorhanden ist.
=> Standart-Argument zur Verfügung stellen
=> über PHP code:
return arg(1);
Beste Grüße
Werner
Hallo Werner
am 23.06.2010 - 12:54 Uhr
return arg(1);
hab ich im PHP-Code für Standart-Argumente !
Es funktioniert auch soweit ganz gut, bis die Seite existiert !
Der viewsBlock mit argument arg(1) wird eingeblendet sobald :
page/*
Dies funktioniert auch mit der Übernahme/gabe des Arguments aus der url.
Sobald ich aber eine "Seite" mit dem Pfad erstelle "page/argument"
auf der letzlich der Block eingeblendet werden sollm ist der Block garnicht mehr sichtbar.
Das verstehe ich jetzt nicht.
am 23.06.2010 - 13:02 Uhr
Das verstehe ich jetzt nicht. Was Du beschreibst zeigt, das die Angabe für die Sichtbarkeit nicht richtig ist. Das hat nichts mit dem Argument zu tun. evtl Fehler bei Groß- und Kleinschreibung?
Beste Grüße
Werner
2. Erklärversuch
am 23.06.2010 - 15:05 Uhr
Schritt für schritt:
Ich habe ein Block über Views erstellt:
Der View-Block besitzt 4Argumente:
all - statisch - dynamisch - layout
Dieser Block wurde über "Blöcke" sichtbar gemacht unter folgenden Pfad: page/*
rufe ich nun
www.meine-seite.de/page/all
www.meine-seite.de/page/dynamisch
www.meine-seite.de/page/statisch
www.meine-seite.de/page/layout
auf ,wird der Block in berücksichtigung der Argemunte richtig angezeigt.
404 Die Seite wurde nicht gefunden.
Nun ist es aber so,das die folgenden Pfade noch keine "seiten" beinhalten: d.h:
lege ich eine Seite mit dem pfad : /page/dynamisch an
erscheint jetzt dort NUR die Seite, der Block aber ist nicht vorhanden/sichtbar.
Ein anderer Block (ohne argumente) wird jedoch angezeigt. Nur der block mit den argumenten nicht mehr.
URL Alias
am 23.06.2010 - 15:46 Uhr
Vermutlich wird Dein Block nicht angezeigt, weil Deine View kein Ergebnis liefert.
Ich denke, wenn Du Deine Seite anlegst benutzt Du '/page/dynamisch' als URL Alias.
arg() brücksichtigt meines Wissens den Alias nicht, sondern bezieht sich auf den internen Drupal Pfad.
Also sowas wie www.meine-seite/node/[node_id].
arg(1) gibt also bei Dir die Node_id zurück.
Sollte ich soweit richtig liegen, könntest Du's mal so probieren (Standard Argument - PHP):
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
if ($path[0] == 'page' && $path[1] != '') {
return $path[1];
}
Hab's jetzt nicht ausprobiert, aber so (oder zumindest so in der Art) sollte es gehen.
Hope this helps
Cheers, Broerello
Wie die Faust aufs Auge !
am 23.06.2010 - 15:54 Uhr
Jup, das passt :D
Das problem war wirklich der Alias !
mit exploden des Pfades funtzt es wie Möhre !
DANKE !
Top
am 23.06.2010 - 19:04 Uhr
Freut mich wenn's geklappt hat.
Könntest Du noch [gelöst] im Titel des Beitrags dazuschreiben.
Broerello