Views 3 nézet kódba exportálása

gergely képe

Az előző bejegyzés írásánál még nem tudtam hogyan lehetne ezt megvalósítani, de az élet rákényszerített egy project kapcsán ahol sok nézetet kellet csinálni és iszonyú lassú volt a szerver egyébként is a site mögött, plusz lehetőség volt verziókezelésre.

Fontos itt az elején leírni, hogy bár létezik Drupal 6-os verzióra a Views 3 én ezt Drupal 7 alatt készítettem el és ahhoz készültek a példakódok is.

Tehát ha a felületen összekattingattuk a nézetünket amit szeretnénk kódban tárolni akkor írni kell egy saját modult amelyben megvalósítjuk a hook_views_api függvényt.

Az example.module fájl tartalma:

<span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">example_views_api</span><span style="color: #007700">() {<br />  return array(<br />    </span><span style="color: #DD0000">'api' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">3</span><span style="color: #007700">,<br />  );<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span>

Ha modult írunk az info fájl sem maradhat le:

name = example<br />description = "Take the views into code"<br />package = Views<br />core = 7.x

És most jön a varázslat. Mivel a modulunkba meghívtuk a hook_views_api függvényt ezért a modul könyvtárában automatikusan megkeresi a Views a MODULNEVE.views_default.inc fájlt, ami jelen esetben az example.views_default.inc lesz, amelyben egyetlen függvényt kell meghívni a hook_views_default_views-t:

<span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">archimon_views_default_views</span><span style="color: #007700">() {
<p></p></span><span style="color: #FF8000">//Ide beillesztjuk a views felületén megkapott exportálandó kódot
<p></p></span><span style="color: #0000BB">$views</span><span style="color: #007700">[</span><span style="color: #DD0000">'fooldal'</span><span style="color: #007700">] = </span><span style="color: #0000BB">$view</span><span style="color: #007700">; </span><span style="color: #FF8000">// Itt megadjuk a nézet nevét és átadjuk a $view-nak.<br />// Ezt a lépést a függvényen belül annyiszor végezhetjük el ahány nézetet szeretnénk exportálni kódba.
<p></p></span><span style="color: #007700">return </span><span style="color: #0000BB">$views</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span>

Az exportálandó kódot erre a linkre kattintva tudjuk elérni:

A modul engedélyezése után csak vissza kell állítani a nézeteket a Views felületén (/admin/structure/views) és kész.

Remélem hasznos volt és valakinek segített. :)

Címkék: drupaldrupal7views