Nid för alla träffar

Events happening in the community are now at Drupal community events on www.drupal.org.
misc's picture

Jag använder några olika Views för olika sökningar, och jag skulle behöva plocka ut alla noders id (nid) från listningen, finns det något enkelt sätt att göra det på?

Jag testade att använda följande funktion (i template.php):

function views_get_current_view_result() {
  $view = views_get_current_view();

  return $view->result;

Och via den kan jag sedan plocka ut noders nid - men den begränsningen att jag endast kommer åt de noder jag ser för tillfället - jag använder paginering och resultatet kan finnas på flera sidor. Jag vill alltså även ha ut nid för noder som finns på sida 2, 3 etc i resultatet av en View.

Comments

Chansar lite här men kanske

pontus_nilsson's picture

Chansar lite här men kanske något i denna stil:

function views_get_current_view_result() {
  $view = views_get_current_view();
  $view->set_items_per_page(0);
  $view->pre_execute();
  return $view->result;
}

//Pontus Nilsson, Digitalist

Ser rätt ut men

misc's picture

Ser rätt ut men

$view->set_items_per_page(0);

Funkar inte, prövat att ge den alla möjliga värden, men det blir bara default var den aktuella vyn är inställd på.

/* Mikke Schirén, https://digitalist/ */

$view =

pontus_nilsson's picture

$view = views_get_view('[DIN-VY]');
$view->set_display('[DIN-DISPLAY]');
$view->set_items_per_page(0);
//$view->set_arguments(array($something->nid));
$view->pre_execute();
return $view->result;

Du skulle kunna speca exakt vilken vy och display du vill hämta och även sätta argument för den vyn. I stil med ovan.

Vad är det du vill uppnå genom att hämta alla nids på detta sätt?

//Pontus Nilsson, Digitalist

Nid ska användas för att

misc's picture

Nid ska användas för att skickas som argument till en annan vy. Så de Nid jag samlar ihop lägger sig i url:en till den vyn:
t.ex:
http://mindoman.se/sokresultat/204+168+174+172+87+144+220+161+66+199

function views_get_current_view_result() {
$view = views_get_view('Soka');
$view->set_display('page_9');
  $view->set_items_per_page(5);
  $view->pre_execute();
  return $view->result;
}

Koden ovan funkar inte heller, $view = views_get_view('Soka') gör att den inte funkar alls, däremot så fungerar funktionen om jag anger $view = views_get_current_view() - fast fortfarande inte set_items_per_page.

/* Mikke Schirén, https://digitalist/ */

Hm, verkar som inga av

misc's picture

Hm, verkar som inga av argumenten i koden har någon verkan, jag plockade bort dem en och en, och

$view = views_get_current_view()

Ger samma resultat som hela koden ovan...

/* Mikke Schirén, https://digitalist/ */