Argumente in der URL
am 06.12.2007 - 22:44 Uhr in
Hallo allerseits,
Das Risiko mit dem ersten Post eine Frage zu stellen, die hier schon beantworte wurde, muss ich auf Grund des Verzweiflungsgrades jetzt eingehen. Irgendwas scheine ich zu übersehen.
Zur Sache:
Ich haben einen Content Type erstellt mit mehreren Feldern. Einige dieser Felder sollen dann über Tabs, die ich direkt in das Template einbetten möchte aufgerufen werden. Ich schildere mal am Beispiel des Felds "screenshots", wie ich bisher vorgegangen bin:
Ich habe einen View angelegt mit folgenden einstellungen:
url: node/$arg/screenshots
fields: Image: screenshots (field_screenshot)
arguments: Node: ID, display all values
Argument Handling Code:
if ($view->build_type == 'block' && arg(0) == 'node' && is_numeric(arg(1))) {
$args[0] = arg(1);
}
return $args;
Wie kann ich nun über eine Url diese Felder aufrufen? Wenn ich testweise http://www.meineseite.de/?q=node/1/screenshots werden die richtigen Bilder zum node angezeigt.
Lautet die Url so http://www.meineseite.de/?q=node/$arg/screenshots werden mir natürlich alle Bilder, auch die, die nicht zu diesem Node gehören, ausgegeben.
Lautet sie widerrum so http://www.meineseite.de/?q=node/arg(1)/screenshots bekomme ich diese Fehlermeldung:
* warning: implode() [function.implode]: Bad arguments. in D:\xampp\htdocs\meineseite\modules\views\modules\views_node.inc on line 677.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1 query: SELECT count(node.nid) FROM node node WHERE (node.nid IN ()) in D:\xampp\htdocs\meineseite\includes\database.mysql.inc on line 172.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')) LIMIT 0, 10' at line 1 query: SELECT node.nid FROM node node WHERE (node.nid IN ()) LIMIT 0, 10 in D:\xampp\htdocs\meineseite\includes\database.mysql.inc on line 172.
Kann mir bitte jemand sagen, was ich hier falsch mache?
Besten Dank im voraus
- Anmelden oder Registrieren um Kommentare zu schreiben
CCK Fieldgroup Tabs
am 07.12.2007 - 01:38 Uhr
Das Risiko mit dem ersten Post eine Frage zu stellen, die hier schon beantworte wurde, muss ich auf Grund des Verzweiflungsgrades jetzt eingehen.
Oder du benutzt die Suche. Beruhigt das Gewissen.
Ich haben einen Content Type erstellt mit mehreren Feldern. Einige dieser Felder sollen dann über Tabs, die ich direkt in das Template einbetten möchte aufgerufen werden.
Oder du benutzt das Modul CCK Fieldgroup Tabs. Minimiert das Risiko von Bluthochdruck.
--
Das ist es nicht
am 07.12.2007 - 20:01 Uhr
Danke Taxer für die Antwort. Aber ich habe gesucht und glaube auch verstanden zu haben, wie es funktionieren sollte. Nur eben es funktioiert nicht. Fieldgroup Tabs kenne ich, ist aber für dieses Projekt nicht zu gebrauchen, da hier die Inhalte über JS entweder auf hide oder display gesetzt werden. Ich möchte die Inhalte in den Feldern nur dann laden, wenn sie auch tatsächlich aufgerufen werden, um die Ladezeiten so gering wie möglich zu halten.
Besten dank
gaia@drupal.org
am 07.12.2007 - 20:13 Uhr
...
Lautet sie widerrum so http://www.meineseite.de/?q=node/arg(1)/screenshots bekomme ich diese Fehlermeldung:
* warning: implode() [function.implode]: Bad arguments. ...
Die von dir angegebene URL mit 'node/arg(1)' ist nur als Beispiel zu verstehen oder? Falls nicht, kann das natürlich nicht funktionieren.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Re: Das ist es nicht
am 07.12.2007 - 21:40 Uhr
Aber ich habe gesucht [...]
Das möchte ich dir auch nicht absprechen. Wahrscheinlich habe ich einfach nur den Smiley vergessen :-)
Ich möchte die Inhalte in den Feldern nur dann laden, wenn sie auch tatsächlich aufgerufen werden, um die Ladezeiten so gering wie möglich zu halten.
Dann müsstest du aber konsequenterweise jedem Tab einen eigenen Submit-Button spendieren. Auf Web-Frontends übertragen müsstest du deutlich machen, das nur der aktuelle Tab an den Server übertragen und gespeichert wird.
Aus Drupal-Sicht wird sowieso
node_load()
aufgerufen (was teuer sein kann). Das bisschen Theming macht dann auch nicht mehr großen Unterschied.Oder du hast einen Inhaltstyp, der viel zu viele Felder hat? Kann man den nicht aufteilen in spezialisiertere Inhaltstypen?
--
Hallo Leute, besten Dank
am 07.12.2007 - 22:12 Uhr
Hallo Leute,
besten Dank für eure Hilfe. Ich hab jetzt gefunden, was ich wollte, und zwar hier
Vielleicht hab ich nach den falschen Befriffen gesucht oder das Brett vor dem Kopf war schon zu groß.
Wie auch immer, alles wird jetzt gut.
Vielen dank nochmal
gaia