From c40f49dee5f31b6519a2758dcc83d3a862236714 Mon Sep 17 00:00:00 2001
From: Lorenz Schori <lo@znerol.ch>
Date: Sat, 22 Oct 2011 14:54:11 +0200
Subject: [PATCH 2/3] Use advanced rendering for creating links

Introduce method render() in order to trigger advanced rendering of
field contents (see views_handler_field.inc).
---
 .../views/nodequeue_handler_field_all_queues.inc   |   14 +++++++++-----
 .../nodequeue_handler_field_all_subqueues.inc      |   10 +++++-----
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/includes/views/nodequeue_handler_field_all_queues.inc b/includes/views/nodequeue_handler_field_all_queues.inc
index 8b87d1f..35a2251 100644
--- a/includes/views/nodequeue_handler_field_all_queues.inc
+++ b/includes/views/nodequeue_handler_field_all_queues.inc
@@ -69,13 +69,17 @@ class nodequeue_handler_field_all_queues extends views_handler_field_prerender_l
       $result = db_query("SELECT nn.nid, nn.qid, nq.title FROM {nodequeue_nodes} nn INNER JOIN {nodequeue_queue} nq ON nq.qid = nn.qid WHERE nn.nid IN (" . implode(', ', $nids) . ")$queue ORDER BY nq.title");
 
       foreach ($result as $queue) {
-        if (empty($this->options['link_to_queue'])) {
-          $this->items[$queue->nid][$queue->qid] = check_plain($queue->title);
-        }
-        else {
-          $this->items[$queue->nid][$queue->qid] = l($queue->title, "admin/structure/nodequeue/$queue->qid");
+        $this->items[$queue->nid][$queue->qid]['title'] = check_plain($queue->title);
+
+        if (!empty($this->options['link_to_queue'])) {
+          $this->items[$queue->nid][$queue->qid]['make_link'] = TRUE;
+          $this->items[$queue->nid][$queue->qid]['path'] = 'admin/structure/nodequeue/' . $queue->qid;
         }
       }
     }
   }
+
+  function render_item($count, $item) {
+    return $item['title'];
+  }
 }
diff --git a/includes/views/nodequeue_handler_field_all_subqueues.inc b/includes/views/nodequeue_handler_field_all_subqueues.inc
index 6fa29f5..2f63b56 100644
--- a/includes/views/nodequeue_handler_field_all_subqueues.inc
+++ b/includes/views/nodequeue_handler_field_all_subqueues.inc
@@ -24,11 +24,11 @@ class nodequeue_handler_field_all_subqueues extends nodequeue_handler_field_all_
 
         foreach ($result as $queue) {
           $title = empty($queue->subqueue_title) ? $queue->title : str_replace('%subqueue', $queue->title, $queue->subqueue_title);
-          if (empty($this->options['link_to_queue'])) {
-            $this->items[$queue->nid][$queue->sqid] = check_plain($title);
-          }
-          else {
-            $this->items[$queue->nid][$queue->sqid] = l($title, "admin/structure/nodequeue/$queue->qid/view/$queue->sqid");
+          $this->items[$queue->nid][$queue->sqid]['title'] = check_plain($title);
+
+          if (!empty($this->options['link_to_queue'])) {
+            $this->items[$queue->nid][$queue->sqid]['make_link'] = TRUE;
+            $this->items[$queue->nid][$queue->sqid]['path'] = 'admin/structure/nodequeue/' . $queue->qid . '/view/' . $queue->sqid;
           }
         }
       }
-- 
1.7.4.1

