Themen eines Felds im Table View (template.php)
am 20.08.2008 - 11:55 Uhr in
Hallo ihr Lieben,
nach langem Suchen bin ich mal wieder mit meinem Hilfegesuch hier gelandet :-) Ich möchte gern innerhalb meines Table-Views das Feld Node-ID mit dem Node verlinken.
Hier hat einer ähnliches versucht: http://drupal.org/node/292996, aber er linkt ja zu einem User. Und ich frage mich, woher er die Zeile nimmt:
function phptemplate_views_handle_field_latest_services_profile_first_name_valueIch nehme an, dass "latest_services" der Name seines Views ist und dahinter das der Name seines Felds. Ist das so richtig und wenn ja, woher kriege ich den Namen meines Feldes und wie muss der Rest des Codes heißen, damit ich für das Feld einen Link zu node->nid kriege...
Danke schon mal an alle, die sich Gedanken machen :-)
Viele Grüße
Anja
- Anmelden oder Registrieren um Kommentare zu schreiben

<?phpfunction
am 20.08.2008 - 12:10 Uhr
<?phpfunction phptemplate_views_handle_field_node_nid($fields, $field, $data) {
return l($data->nid, $data->nid);
}
?>
Sollte eigentlich funktionieren ( nichts getestet wie immer ^^)
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
theme view
am 20.08.2008 - 12:16 Uhr
Moin!
Wenn Du den Views Theme Wizard benutzt, kannst Du Dir die verwendeten Felder ausgeben lassen. Die Funktion zum Ändern eines einzelnen Feldes ist folgendermassen aufgebaut:
function theme_views_handle_field_VIEWNAME_FIELDNAME($fields, $field, $data);(laut http://drupal.org/node/42597).Ich habe mir gerade mal den Theme Wizard angeschaut: der gibt Dir auch den kompletten Funktionsnamen aus.
Ansonsten müsste dereine's Vorschlag schon funktionieren.
Stefan
Ihr seid so genial! :-)
am 20.08.2008 - 13:02 Uhr
Ihr seid so genial! :-) Dereine's Vorschlag hat auf Anhieb funktioniert und Stefan's Tipp ist gut für das nächste Mal, wo ich das einsetze - ich glaube ich werde mehrere Felder in der Art verändern.
Habe eine kleine Änderung vorgenommen, weil alle nodes mit "/node" beginnen:
<?phpfunction phptemplate_views_handle_field_node_nid($fields, $field, $data) {
return l($data->nid, 'node/'. $data->nid);
}
?>
Geht das denn theoretisch auch z.B. für ein CCK-Feld? z.B. hätte ich aufgrund von Node-Titeln, die länger als 128 Zeichen sind, ein CCK-Feld "Beschreibung", wo alles reinpasst. Kann man dieses Feld auch auf die o.g. Weise mit node-id verlinken?
HAb jetzt rausgefunden, dass
am 20.08.2008 - 13:19 Uhr
HAb jetzt rausgefunden, dass es auch für ein CCK-Feld geht. Fehlt nur noch der richtige Anzeigetext, dort soll ja dann nicht die node-id stehen sondern das, was im CCK-Feld steht. ich dachte an sowas, aber das tut's nicht:
<?phpfunction phptemplate_views_handle_field_node_nid($fields, $field, $data) {
return l($data->$field['fieldname'], 'node/'. $data->nid);
}
?>
CCK Feld themen
am 20.08.2008 - 13:26 Uhr
Hast Du Dir mal
$dataausgeben lassen?<?phpprint '<pre>';
print_r($data);
print '</pre>';
?>
Ansonsten kann vielleciht http://drupal.org/node/206980 weiterhelfen.
Stefan
Das war der entscheidende
am 20.08.2008 - 13:42 Uhr
Das war der entscheidende Hinweis :-)
Ich war der Meinung, dass nid und das Field nicht beide mit
$data->abgerufen werden können und hab dann noch seltsame$fieldusw. benutzt.Das hier tut jetzt aber was es soll:
function phptemplate_views_handle_field_og_description($fields, $field, $data) {return l($data->og_description, 'node/'. $data->nid);
}
og_description ist mein CCK-Field. Übrigens habe ich in meiner template.php immer noch den View-Namen dazwischengestellt, damit nicht alle Views dieses Feld so ausgeben (ich nehme an das wäre dann so). Das Ganze würde dann so aussehen:
function phptemplate_views_handle_field_VIEWNAME_FELDNAMEusw.Noch mal vielen Dank, ich fühle mich als hätte ich gerade ganz doll viel dazugelernt :-)