[gelöst] Problem mit views-view-field--comments-recent.tpl.php
Eingetragen von ballspieler (5)
am 01.08.2010 - 18:47 Uhr in
am 01.08.2010 - 18:47 Uhr in
Hallo!
Ich habe eine eigene Datei views-view-field--comments-recent.tpl.php erstellt, weil ich die Links zu den neusten Kommentaren - je nach Kategorie, der die kommentierten Beiträge zugeordnet sind - in einer anderen Farbe markieren möchte.
Soweit funktioniert meine Code auch, ich habe aber das Problem, dass jeder Link doppelt ausgegeben wird. Liegt das daran, dass ich falsch auf die Daten zugreife?
Ich greife, wie folgt auf die Daten zu:
$c_nid = $row->{comments_nid}; // Node-ID, der der Kommentar zugeordnet ist
$c_subject = $row->{comments_subject}; // Titel des Kommentars
usw.
Schon, wenn ich ein einfaches print_r($row);
ausgebe, erhalte ich alle Daten doppelt.
Füge ich print ($output)
ein, erscheint der normale Kommentarlink nur einmal.
Ich würde mich sehr freuen, hier Hilfe zu erhalten!
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo noch einmal! Ich
am 07.08.2010 - 09:22 Uhr
Hallo noch einmal!
Ich versuche, mein Problem noch einmal anders zu formulieren. Vielleicht weiß dann jemand weiter.
Wie gesagt, habe ich ein Template views-view-field-comments-recent.tpl.php erstellt. Dieses Template basiert auf views-view-field.tpl.php und sieht normalerweise so aus:
<?php
// $Id: views-view-field.tpl.php,v 1.1 2008/05/16 22:22:32 merlinofchaos Exp $
/**
* This template is used to print a single field in a view. It is not
* actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the
* template is perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print $output; ?>
Ich würde nun gerne ein eigene Formatierung für die Kommentare verwenden. Zu diesem Zweck muss ich die entsprechenden Werte (comments_nid, comments_subject, comment_timestamp) einzeln auslesen. Wie greife ich korrekt auf diese Werte zu?
In meiner Datenbank befinden sich momentan zwei Kommentare. Wenn ich probehalber ein
<?php print_r $row ?>
eingebe, erhalte ich seltsamerweise beide Kommentare doppelt:*
stdClass Object ( [comments_subject] => mein Kommentar [cid] => 4 [comments_nid] => 32 [comments_timestamp] => 1280683488 )
stdClass Object ( [comments_subject] => mein Kommentar [cid] => 4 [comments_nid] => 32 [comments_timestamp] => 1280683488 )
*
stdClass Object ( [comments_subject] => Das finde ich nicht [cid] => 3 [comments_nid] => 10 [comments_timestamp] => 1276610741 )
stdClass Object ( [comments_subject] => Das finde ich nicht [cid] => 3 [comments_nid] => 10 [comments_timestamp] => 1276610741 )
Hat jemand eine Erklärung dafür? Wie greife ich korrekt auf die Werte zu, sodass sie nur einmal ausgegeben werden?
Hallo, ich habe das Problem
am 09.08.2010 - 19:08 Uhr
Hallo, ich habe das Problem inzwischen selbst gelöst. Es lag daran, dass in der Ansicht 2 Felder definiert sind (Titel und Beitragsdatum). Ich habe jetzt eines dieser Felder von der Anzeige ausgeschlossen. Nun werden die Kommentare wie von mir gewünscht angezeigt.