Blöcke, jQuery und Argumente
am 19.02.2010 - 15:26 Uhr in
Hallo,
ich steh gerade vor dem Problem, dass ich bestimmte Elemente einer Webseite mittels jQuery austauschen können möchte.
Ich habe z.B. eine Liste mit den beliebtesten Einträgen, und die Informationen Aufrufe pro Woche, Monat und seit Bestehen der Webseite.
Nun mit View einen Block zu machen, der z.B. die beliebtesten Einträge der Woche auflistet ist kein Problem,
das in eine Seite einzubinden, die eine Term-ID als Parameter hat und diesen an den Block "weiter zu geben" habe ich auch noch hinbekommen.
Nun möchte ich aber genau so einen Block ohne Reload der gesamten Webseite mit jQuery austauschen.
Dabei bin ich über das hier gestolpert und hab das ausprobiert.
Grundsätzlich habe ich das hinbekommen.
Nun hab ich aber das Problem, dass ich bei einem Aufruf über /component/.... nicht die Möglichkeit habe ein Argument (sprich eine Term-ID) zu übergeben (oder es zumindest nicht hinbekomme).
Und die Vorstellung für ca. 20 Kategorien jeweils 3 Displays zu erstellen läßt mich etwas schaudern.
Gibt es da irgendeinen Trick, auf den ich noch nicht gekommen bin?
Bin wie immer für jeden Denkanstoß dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ja, es gibt die
am 19.02.2010 - 16:03 Uhr
Ja, es gibt die Mäglichkeit, das fehlende Argument (ein Block kann keine Argumente bekommen) über ein Standard Argument zu setzen. Das kann dann mittels PHP-Code die benötigte Information beschaffen.
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
if ($path[0] == 'Album' && $path[1] != '') {
return$path[1];
}
Dieses Beispiel beschafft den ersten Eintrag in der URL nach dem einleineten Pfad "Album". Das ist hier so nötig, da auf einen URL-Alias zugegriffen wird. Sonst kann man auch über die Funktion arg() die einzelnen Elemente ermitteln (z.B. node/47 => arg(1) ist 47).
Beste Grüße
Werner