Drupal: Zmiana zapytania wygenerowanego przez Views

Moduł Views pozwala w wygodny sposób prezentować wybraną treść. Gdy oferowane możliwości są jednak zbyt ubogie i chcemy zmodyfikować zapytanie SQL, z pomocą przyjdzie poniższy kod.

  1. Tworzymy własny moduł (proste zadanie – można pominąć plik .install)
  2. W pliku modułu umieszczamy:
function NAZWAMODULU_views_pre_execute(&$view) {
	// Zamieniamy zapytanie w widoku

	if ($view->name == 'NAZWAWIDOKU') {
		$view->build_info['query'] = preg_replace(
		'/do zmiany/',
		'na co zmieniamy',
		$view->build_info['query']
		);
	}
}

podmieniając NAZWAMODULU nazwą modułu, a NAZWAWIDOKU nazwą widoku :)

Warto wypisać na początku zawartość $view->build_info['query'] – może się różnić od podglądu w interfejsie.

Oceń: 1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>