Drupal Views Cck Hans Rossel

download Drupal Views Cck Hans Rossel

If you can't read please download the document

Transcript of Drupal Views Cck Hans Rossel

  • 1. Drupal CCK & Views v5 Hans Rossel - www.koba.be

2. CCK / Fields

  • Content Construction kit of Fields module

3. Velden bij inhoudstypes 4. Historiek: flexinode->cck->fields 5. In D7: fields module in core

    • Fields op alle fieldable entities: node, user, tax of entities gemaakt door een module: Organic group, Commerce Product
  • 6. Filefield, imagefield, imagecache in core

7. Nodereference en userreference in cck contrib 8. Views

  • Dynamic query builder, lijsten trekken

9. Earl Miles, Sony, Panels 10. http://drupal.org/project/views 11. D5: Views1: enkel nodes (=>nodecontent, nodecomments, ...) 12. D6: Views2: ook users, taxonomie, files, ... 13. D6: Views3: elke databron niet enkel db, ook apache Solr, Flickr, RDF, elke bron met api + OR mogelijkheid bij filters 14. D7: Views3 & fields in core. 15. Drupal installatie

  • Verondersteld gekend

16. Via devel generate kan een volle site opgebouwd worden (opgelet met files) 17. Lamp server op Ubuntu (debian)

  • sudo aptitude install php5 apache2 mysql-server phpmyadmin php5-mysql libapache2-mod-php5 php5-cli (voor drush)

18. root user paswoord instellen voor mysql 19. phpmyadmin: spatiebalk drukken om apache2 te kiezen + ok 20. testen: localhost, localhost/phpmyadmin 21. sudo /etc/init.d/apache2 restart 22. Alternatief: sudo tasksel install lamp-server 23. Meer info: https://help.ubuntu.com/community/ApacheMySQLPHP 24. Mod rewrite installeren 1) sudo a2enmod rewrite 2) sudo pico /etc/apache2/sites-enabled/000-default 3) Change AllowOverride None to AllowOverride All 4) Restart Apache: sudo /etc/init.d/apache2 force-reload 25. Drush: Drupal Shell

  • http://drupal.org/project/drush(ook voor windows)
  • http://vimeo.com/5207683

26. Extrahttp://drupal.org/taxonomy/term/4654 27. http://www.archive.org/details/DrupalconSf2010Drush 28. http://www.archive.org/details/DrupalconSf2010AdvancedDrush 29. Drush commando voorbeelden

  • Drupal installeren in htdocs of www mapje
  • drush(help uitleg)

30. drush dl drupal(download drupal) 31. drush dl cck views nl ckeditor acquia_marina backup_migrate (in drupal map) 32. drush en cck views(modules aanleggen, omgekeerd: dis) 33. drush cron Drupal updaten met drush

  • drush bam backupofdrush sql-dump > example10052010.sql

34. tar -czf drupal.tgz drupal 35. drush variable-set site_offline TRUE 36. drush up : update alle modules + backup code 37. drush updb:run update.php 38. drush variable-set site_offline FALSE 39. HOOFDSTUK 2 Content Ordening 40. 41. Basis cck fields

  • Voornaamste extra fields
    • http://drupal.org/project/imagefield
  • 42. http://drupal.org/project/filefield

43. http://drupal.org/project/date 44. http://drupal.org/project/email 45. http://drupal.org/project/link 46. http://drupal.org/project/emfield 47. CCK tekst

  • Nieuwsbericht met scheduler

48. Tekstveld ipv body 49. Reactie instellingen 50. Invoerformaat

    • Better formats
  • 51. Wysiwyg filter
  • Widgets: (vergelijk met webform)
    • Textfield
  • 52. Textarea

53. Select 54. Checkbox

  • Nodeformcols of vertical tabs: afwerking invoer

55. CCK USABILITY 56. Node Form Columns Usability vereenvoudiging cck formulieren

  • http://drupal.org/project/nodeformcols

57. Better messages 58. CCK Link

  • Links configureren

59. Weblinks module 60. Linkchecker

  • Automatisch controleren op dode links in textareas en link velden

61. Werkt op cron 62. Geeft overzicht van dode links en mogelijkheid om deze te deactiveren 63. CCK File en Image

  • Filefield

64. Imagefield 65. Image api 66. Imagecache 67. Transliteration 68. Filefield paths 69. Filefield sources 70. Image fupload 71. Dragn'drop uploads 72. Insert & Image Resize filter

  • http://drupal.org/project/insert
  • Zorgt voor extra buttons om filefield afbeeldingen in een textarea in te voegen

73. Zorgt voor dropdown met selectie van imagecache presets voor invoegen 74. Voordeel: Veiligheid & gebruiksvriendelijkheid gecombineerd: je hoeft geen toe te laten voor anonieme gebruikers om afbeeldingen in te voegen + blijft eenvoudig om inline te plaatsen 75. Insert 76. Insert & Image Resize filter

  • http://drupal.org/project/image_resize_filter
  • Aan hoekjes trekken om afbeelding te verkleinen en toch een correcte resize opdracht uitvoeren in php

Kan goed gecombineerd worden met de insert module om een alternatieve vorm en veilige vorm van invoegen van afbeeldigen te verkrijgen. 77. HOOFDSTUK 2 VIEWS 78. Views handleiding & support

  • Advanced help module installeren
    • Ingebouwde handleiding van Views
  • 79. Views documentatie op admin/advanced_help/views

80. http://views-help.doc.logrus.com : advanced help op site van Earl 81. http://views.doc.logrus.com : views 2 API op site van Earl

  • http://drupal.org/project/issues/views
  • Search inside gebruiken

82. Filteren op all support requests http://drupal.org/handbook/modules/views

    • Gearchiveerd op vraag van Earl Miles
  • 83. http://drupal.org/node/492210#comment-1714204

84. Default views

  • Frontpage view
  • Eenvoudigste: bootst de homepage /node na

85. Teaserlijst van laatste items met vinkje aangeraden op voorpagina aan 86. Is vanaf nu wijzigbaar 87. Niet vergeten bij websitegegevens frontpage te zetten ipv node voor homepage 88. ADMINISTRATIEVE VIEWS EXPORT EN AUTOMATISERING 89. Views Bulk Operations

  • Een bepaalde actie/rule uitvoeren op een selectie gemaakt met views

90. Een email sturen naar een groep mensen

  • Naar een user view

91. Naar de auteur van nodes: [mail] plaatsen bij ontvanger 92. Opgelet: Batch api (of jobqueue) aanzetten bij versturing van grote hoeveelheden 93. Soorten views

  • Node, comment, user,

94. Formatting views queries p201

    • Queries bekijken
  • 95. prototyping

96. Views Bulk operations

  • Default view aanpassen
    • admin/content/node2 bijsturen
  • 97. Extra exposed filters
  • Acties:
    • Emails versturen (batch/nieuwsbrief)
  • 98. Updaten van taxonomie

99. Actions/Triggers/Rules

  • Actions/Triggers: zit in Drupal core: het vinkje bij Trigger module aanzetten

100. Rules module: Geeft bijkomende verfijning en condities aan de acties

  • Een bericht op scherm plaatsen

101. Een automatische email versturen 102. Een nieuwsbrief nasturen 103. Een veld wijzigen 104. Rules

  • Email sturen bij indienen van vacature
  • Actions: maak de email actie

105. Trigger: new content 106. Condition: Node type=vacature 107. (Condition: Field has value) 108. Action: Send email 109. GEBRUIKERS EN PROFIELEN 110. Gebruikers en profielen Content profile module

    • Naam, voornaam, adres, lidnummer
  • 111. Automatic Nodetitles

Node view: Beheer profielen

    • N:Naam, N:straat, N:lidnummer, U:mail, U:edit, N:edit, N:updated
  • 112. Exposed:naam, U:Created date of N:Updated date

113. Tabel: default sort 114. Permissies op de view: enkel admins 115. Gebruikers en Profielen (2) User view: Beheer accounts

  • Relationship: content profile

116. Fields: G:Naam,G:mail,G:rollen,G:edit,G:laatste toegang,N:naam,N:voornaam 117. Table view: Naam en voornaam samen in n vakje 118. Filter G:naam anonymous, rollen exposed, email exposed, naam exposed 119. Permissies: enkel admins 120. Gebruikers en profielen (3)

  • Mijn inhoud: blokken met inhoud van de gebruiker op de profielpagina

121. Argument:

    • Gebruiker:uid
  • 122. Provide default argument: user id from url

123. Validator:gebruiker only allow numeric uid 124. Gebruikers en profielen

  • Mijn Reacties
    • Relationship: Reactie: Node
  • 125. Fields: reactie:titel

126. Filters

      • (Node)Node:User posted or commented
    • 127. (Node)Gebruiker: Current Ja of
  • 128. Argument (Node): User:uid

129. Reacties beheren

  • Reactie view
    • Comments recent
  • 130. Default view
  • Node view
    • Fields: R:titel, R:berichttekst, R:Auteur, R:indiendatum
  • 131. Filters:Indiendatum>=-30days

132. Headline view

  • Hoofdview: Laatste nieuwsbericht
    • View met ingekorte tekst 1 item laatste nieuwsbericht
  • Subview: Titels andere nieuwsberichten
    • Lijst van titels van andere nieuwsberichten

133. HANDGEPLUKTE en BEINVLOEDE INFORMATIE 134. Drupal core standaard

  • Vinkje: vastgeplakt bovenaan de lijst

135. Vinkje: aangeraden op de voorpagina 136. Via de frontpage view kan hier in beperkte mate promotie van content worden gedaan 137. Via i18n: eventueel aangeraden op de voorpagina vertalen naar in de kijker 138. Nadeel: we krijgen slechts 1 indicator/lijst en vaak hebben we op een homepage meerdere nodig 139. Nodequeue

  • Voordeel
  • Mogelijkheid om zelf informatie te kiezen

140. Volgorde kan eenvoudig veranderd worden 141. Weergave bepalen via een view 142. Ideaal voor homepage, in de kijker, 143. Rules: automatisch toevoegen aan nodequeue Nodequeue aanmaken 144. Nodequeue view

    • Disablen indien niet nodig
  • 145. In block weergeven: rechterkolom content

146. Flag

  • Mark as spam, mooie foto, bookmarks, goedgekeurd

147. Admin View

    • Relationship: Flag
  • 148. Field: Flag:flaglink, relationship: goedkeuring

149. Acties/Triggers: op goedkeuring ook publiceren

      • Flag actions
    • 150. Actions/triggers/rules

151. Ratings

  • Voting api
    • Relationship: node voting results: percent, no filtering, average
  • 152. Sorteren op beste punten: (Voting results) Voting API results: Waarde desc

153. Field: (Voting results) Voting API results: Waarde

  • Fivestar
  • Vijf sterretjes voor score

154. User generated content 155. STATISTIEKEN

  • Statistics module aanzetten: 16 weken

156. Sort criteria: Most popular 157. Default view: backlinks 158. EXPOSED FILTERS 159. Exposed filters

  • Filters wijzigen via code

160. Checkboxen gebruiken (views checkboxes module/content taxonomy) 161. Hierarchical select 162. VIEWS ARGUMENTEN 163. User argument

  • Mijn inhoud
  • Gebruiker: uid

164. Provide default argument: uid from url 165. Let op: dus best op /user/nummer doen anders is php code nodig om te bepalen wat de uid is of kan ook kiezen voor logged in user. 166. Node argument

  • Blok met veld dat behoort bij deze pagina
  • Bij inhoudstype: display settings: exclude dit veld

167. Node:nid 168. Provide default argument: nid from url Blok met Meer nieuws

  • Node:nid, provide default argument: nid from url, exclude the argument

169. Zorgen dat pagina zelf niet in de lijst van meer staat => exclude 170. TAXONOMIE & CATEGORISEREN VIA NODEREFERENCE 171. Taxonomie views

  • Via taxonomie module indelen in woordenschatten en termen
  • Hierarchie

172. Free tagging 173. Multiple 2 manieren voor de view

  • Veld All Terms: werkt best, geen filter

174. Veld Term: indien filter nodig of argument 175. Views met taxonomie

  • Voordelen
  • Mogelijkheid om hierarchie weer te geven via Relationship: parent term

176. Auto aanvullen in exposed filters maar nu ookhttp://drupal.org/project/autocomplete_widgets Nadelen

  • Sorteren volgens taxonomie werkt niet: kan niet sorteren volgens alfabet of numeric, wel volgens taxonomie gewicht maar daar bug, random sort ook bug

177. Soms duplicate results (door koppeling van node en term tabellen) 178. Alternatieven met CCK select kun je perfect sorteren 179. Taxonomie view

  • Oefening
  • Taxonomie selecteren via exposed filter

180. Taxonomie via Argument 181. Gerelateerde content via Taxonomy: term id argument $node = node_load(arg(1)); if ($node) { $terms = taxonomy_node_get_terms_by_vocabulary($node, 1); $continenten = array(416,1,2,3,4,5,6,7,8); foreach ($terms as $tid => $term) { if (in_array($tid, $continenten)) { //$tids[] = '1'; // we dont want to have the continenten everywhere also if just one country selected } else { $tids[] = $tid; } } if (isset($tids) && strlen(trim($tids)) 0) { return implode ("+", $tids); } else {return false;} } return false; 182. Nodereference

  • Steeds meer gebruikt als alternatief voor taxonomie
  • Gerelateerde content

183. Relatie kan beperkt worden via een view Voordeel:

  • CCK

184. Is gekoppeld aan een eigenlijke pagina ipv aan een woord/term 185. Nodereference view Gewone nodereference

    • Ct Pagina heeft nodereference naar gerelateerde pagina
  • 186. View in blok van
      • Field: Nodereference field
    • 187. Argument: Node:nid,Default argument: Nid from url
  • 188. Exclude/hide van Nodereference field in het inhoudstype pagina

Andere toepassing: Blogroll: links bij bloghoofdpagina in zijkolom Opmerking: kan ook via theming 189. Reverse nodereference

  • Reverse nodereference
    • Ct Nieuws heeft nodereference naar (overzichts)pagina
  • 190. Titel: nieuws bij pagina

191. Filters:N:Nieuws 192. Fields:Titel 193. Relationship:Inhoud:Noderef field, require 194. Argument:Node:Nid, relationship noderef field,provide default nid from url 195. Opm: Vergelijk met taxonomie 196. Vb: artikels bij magazine (inhoudstafel), ... 197. Views Alpha Pager

  • Glossary View

198. http://tedserbinski.com/tags/drupal/creating-alpha-pager-with-views-2-and-drupal-6 199. DATUM VIEWS 200. Events in Drupal

  • Date/Calendar
    • De date module voorziet het datumveld
  • 201. Met het datumveld kunnen lijsten worden getrokken in views en sorts, gedaan

202. De calendar module is nodig als je een kalenderblok of pagina wenst 203. Datum views

  • Toevoegen van extra datum format op admin/settings/date-time/formats: wijzigen short in 14/10

204. Ical: importeren, exporteren Google calendar 205. Legend: verschillende kleuren ct 206. Date range 207. Calendar views 208. Date range

  • Zaken van komende twee weken
  • Tussen vandaag en +14d

Items die nog niet vervallen zijn

  • Einddatum > now

Werken met publicatie

    • http://drupal.org/project/scheduler
  • 209. Rules

210. Calendar module

  • Weergave als een
  • Kalenderblok

211. Volledige kalender 212. Events

  • Webform: eenvoudig niet gekoppeld
    • http://drupal.org/project/webform
  • 213. Versie 3 heeft gedeeltelijke views integratie
  • Signup module + theme
    • Theme in template.php

214. Andere datum views

  • Publicaties

215. Gebruikers volgens geboortedatum 216. PANELS 217. Panels: doel en historiek

  • Panels = layoutbuilder in Drupal

218. Earl Miles (Views) 219. Sonywww.myplay.com 220. Versies 1,2,3 221. Toekomst: Drupal 8 misschien een eenvoudige panels achtige interface voor toevoegen van content in Drupal core 222. Documentatie:http://drupal.org/node/496278 223. Panels: voordelen

  • Point en click Drupal theming zonder html en php, templates opstellen via de interface

224. Slechts 1 soort inhoudsobject: panel waarin blokken, menus, views, velden, ... kunnen weergegeven worden => alles eenvormig op dezelfde manier behandelen 225. Complexe pagina layouts mogelijk zonder voorkennis van html/css 226. Flexibeler layouts: vb zelfde blok in verschillende regios, ... 227. Makkelijker en sneller wijzigingen aanbrengen aan templates 228. Ctools: vastleggen van layouts in exportables en features => exporteerbaar dus hergebruikbaar en opgenomen in svn/git revisiesysteem. 229. Varianten: andere soorten layouts volgens context, vb ingelogde klanten/leden, mobiele website 230. Integreert heel goed met views 231. Panels: nadelen

  • Performance: is heel grote module, wel goede caching opties

232. Kan complex zijn: is systeem op zich met leercurve en heel veel checkboxen 233. Werkt behoorlijk anders dan the Drupal way => bloksysteem en regios uitschakelen (vinkje) 234. Alles of niets: als je panels gebruikt het voor alles gebruiken 235. Moeilijker te debuggen 236. Soms trage upgrade bij nieuwe versie van dr http://www.youtube.com/watch?v=qBGKdnUj4Yw upal core , en upgrades tussen v1, 2 en 3 waren niet vanzelfsprekend, maar ondertussen heel veel gebruikt (> 80.000 installs) 237. Overladen html tenzij je eigen custom templates opstelt 238. Submodules en extra

  • Page Manager (bij ctools): page layouts (beetje zoals page.tpl.php)

239. Mini panels: blok layouts 240. Panel nodes: node layouts 241. Views content panes: views in panels

  • Panels Everywhere

242. Layouts

  • Standaardlayouts

243. Bepaalde themes definiren extra layouts zoals Adaptive Theme (AT) in d6 244. http://drupal.org/project/panels_extra_layouts : extra layouts: 245. Best: eigen html templates voor layout

  • Advanced help module: help/panels/plugins-layout

246. tpl.php, css, inc en png 247. Meer docs:http://drupal.org/node/495654 248. Variants

  • Andere layout voor zelfde pagina bij andere voorwaarden
  • Volgens content type: basic page er anders laten uitzien dan artikels

249. Volgens toegangsrol: admin, ingelogden, leden/klanten zien iets anders 250. Volgens taal 251. Volgens trefwoord, ... 252. Mobile themes dank zij integratie met dehttp://drupal.org/project/mobile_tools module 253. Contexts

  • Arguments
  • /taxonomy/term/%term

254. /forum/%forum 255. /music/beatles/th Andere contexts

  • Node auteur

256. Node reference 257. DISPLAY SUITE 258. Filosofieachter Display Suite

  • Centraal beheer van layout van website inhoud

259. Template bestanden overbodig maken 260. Focus op gebruiksvriendelijkheid 261. Gebruik van PHP beperken = betere veiligheid 262. Layout beheer met Drupal core

  • Mix van template bestanden en Field UI

263. Nadelen:

  • Template bestanden zijn niet onderhoudbaar

264. Field UI is beperkt:

  • Geen UI om extra velden toe te voegen (vb. titel,auteur)

265. Geen UI om extra View Modes toe te voegen 266. Inconsistent: 'Search result' View Mode 267. Geen gebruik van voorgedefinieerde layouts 268. Layout beheer met DS

  • Bouwt verder op Field UI
  • Nieuwe View Modes aanmaken

269. Voorgedefinieerde layouts aanmaken 270. Eigen velden toevoegen Integratie met Views en Panels 271. Werkt op elke Drupal Entity (Node, gebruiker etc) 272. Consistente HTML output 273. Oefening 1: DS aanzetten en Node en Teaser layout wijzigen 274. DS layouts

  • Standaard: 11 layouts + Panel layouts

275. Eigen layout in theme:

  • ds_layouts folder aanmaken

276. ***.inc en ***.tpl.php bestanden verplicht 277. ***.css optioneel 278. Voorbeeld: ds.api.php lijn 356. 279. Oefening 2: Eigen layout met 3 rijen in theme toevoegen 280. Extras module

  • Field templates

281. Contextual links 282. Regions to block 283. Page title options 284. Views Displays 285. En veel meer! 286. ZOEKEN advanced 287. Geavanceerd zoeken

  • http://drupal.org/project/apachesolr

288. Views3 + solr 289. Gewone views search combinatie 290. Display suite kan zoekresultaten opmaken 291. Search API

  • Nieuwe module voor D7 die op een heel flexibele manier zoekresultaten kan weergeven
  • Pluggable backends: database, Solr,

292. Weergave via views (dus afbeeldingen en layout in zoekresultaten eenvoudig) 293. Makkelijk meerdere zoekomgevingen op een site 294. Wordt momenteel heel actief ontwikkeld 295. MEDIA: foto video 296. Fotogallerij

  • Basisidee:
  • Met views kun je lijsten trekken van foto's.

297. De foto's kunnen worden opgemaakt via css of via een grid view of extra style plugin weergegeven CSS

    • #viewsgallerij img {
  • 298. float:left;

299. margin:0 10px 10px 0; 300. } 301. Fotogallerij: effecten

  • Van een lijst van foto's maak je een mooie gallerij via n van de http://plugins.jquery.com
  • Gebruik specifieke style plugins
    • http://drupal.org/project/views_cycle
  • 302. http://drupal.org/project/views_rotator

303. http://drupal.org/project/views_slideshow 304. http://drupal.org/project/viewscarousel 305. http://drupal.org/project/views_galleria 306. Uitgebreidere fotogalerij

  • http://www.lullabot.com/articles/photo-galleries-views-attach
  • Mooi uitgewerkte fotogalerij met indeling in albums

307. Werkt met views attach en nodereference modules 308. Beetje complexe setup Alternatieve verpakkingen van de setup

  • Viahttp://drupal.org/project/features

309. Als modulehttp://drupal.org/project/views_gallery 310. Video Video op de eigen server

  • Filefield: http://www.drupaltherapy.com/filefield

311. Streaming video via RTMP en custom cck veld 312. Emfield: Embedded media field

  • Video Upload module: direct vanuit de site naar Youtube opladen

313. Voor betere kwaliteit gebruik Vimeo of Blip.tv 314. Veel veiliger dan embed en object tags toe te laten in filtered html 315. Embedded media field

  • Embedded media field:
  • http://drupal.org/project/emfield

316. Embedded media en embedded video field aanleggen 317. Inhoudstype maken met 1 emfield, display settings op full size video

  • Video view
    • Overzicht van video's
  • 318. Doorzoekbaar per trefwoord via exposed filter

319. Groeperen per cck veld 320. Views import en export 321. Feeds module

  • www.drupal.org/project/feeds
  • Aggregator van rss feeds maar ook csv, xml, ical, en kan er nodes of data elementen van maken

322. Opvolger van de feedapi module 323. node/add/feed Youtube feeds:http://www.youtube.com/rssls 324. Feeds

  • http://drupal.org/project/feeds_imagegrabber

Cron moet werken! 325. Views export csv of xls http://drupal.org/project/views_data_export

  • Feed display toevoegen

326. Style op csv zetten 327. Pad geven 328. Xls module Voordeel tov views_bonus: batch api 329. THEMING HULP MODULES 330. Devel module http://drupal.org/project/devel

  • Dpr(): drupal print array

331. Dpm(): drupal print message 332. Theme developer http://drupal.org/project/devel_themer 333. Drupal for firebug http://drupal.org/project/drupalforfirebug 334. Fields EN VIEWS THEMING 335. Intercept & override

  • Basisprincipe: core niet hacken

336. Niet akkoord met de html en css?

    • Css: css door core gedefinieerd overriden in style.css of andere .css bestanden (via .info)
  • 337. Html:
      • Template files: in theme map van de module
    • 338. theme overrides: html die wordt gegenereerd door de modules theme_... functies

339. Theme overrides 340. Theme functies overriden

  • Overriden in template.php
    • Phptemplate_...: voor alle themes
  • 341. Mytheme_...: voor mytheme (veiliger)

342. Theme functies zoeken Lijst:http://api.drupal.org/api/group/themeable/6 Themable functies vinden theme_ Zoeken api.drupal.org (core) of api.lullabot.com ofhttp://drupalcontrib.org (contibuted) of eigen viahttp://drupal.org/project/api

    • In een .module file: zoeken naar theme_...

343. Nieuwe tpl.php bestanden

  • Naast comment en box sinds Drupal 6: in mapje van core en andere modules

344. Override = Kopiren naar theme map + aanpassen 345. Via Theme Developer (Devel) 346. Node en User Object Node object Veiligheid:

  • check_url($front_page);

347. check_plain($node->body); 348. check_markup($node->body); User object Veiligheid

  • check_url($user -> ...);

349. check_plain($user -> name); 350. Node object laden Voor execute php in devel 351. FIELDS THEMING 352. Theming fields Individuele velden kunnen gethemed worden via field.tpl.php

  • field.tpl.php

353. field--field-type.tpl.php 354. field--field-name.tpl.php 355. field--content-type.tpl.php 356. field--field-name--content-type.tpl.php 357. Theme image styles http://api.drupal.org/api/drupal/modules--image--image.module/function/theme_image_style/7 print theme('image_style', array( 'path' =>$field_gallery_image['de'][0]['uri'], 'style_name' => 'gallery_thumbnail')); 358. Theme image styles Probleem/bug: width/height van images: is opgelost in D7.8 http://drupal.org/node/908282 http://drupal.org/node/1129642 Manueel hoogtes specifieren theme('image_style', array('style_name' => 'desthumb', 'path' => $image0path, 'getsize' => TRUE, 'attributes' => array('class' => 'thumb', 'width' => '150', 'height' => '162'))); Tijdelijke workaround: http://api.drupal.org/api/drupal/modules--image--image.module/function/theme_image_style/7#comment-14839 359. VIEWS THEMING 360. Field display settings Vanuit de interface

  • Fields en labels wrappen in h2, class, zit in Views 3 standaard in de module

361. Indien je meer wenst

  • http://drupal.org/project/semanticviews

362. http://drupal.org/project/semantic_fields 363. Een view benvloeden in code 1) Met de template files views-view.tpl.php2) Met een hook vb hook_views_admin_links_alter 3) Tijdens het embedden van de view $view->hide_admin_links 364. Views templates

  • Basistemplates in de views module folder

365. Theme Information link in de view zelf geeft suggesties voor files specifiek voor deze view

    • node-view-nodequeue_1.tpl.php
  • 366. node-view-front_most_recent_conference.tpl.php
  • Theme developer via Devel module: bekijken suggesties live

367. Er zijn ook theme_ functies beschikbaar voor views, maar handiger via tpl.php 368. Preprocess functies voor wijzigen variabelen 369. Views 2 templates views-exposed-form.tpl.phpLayout van de exposed filters form.views-more.tpl.php Theme de lees meer link views-view-fields.tpl.phpStandaard simple view template met alle velden als een rij. views-view-grid.tpl.phpEen view als grid weergegeven views-view-list.tpl.phpEen view als lijst weergegeven views-view-row-comment.tpl.phpEn comment in een view.views-view-row-node.tpl.phpEn node in een view 370. Views 2 templates views-view-rss.tpl.phpFeeds in rss stijlviews-view-summary-unformatted.tpl.phpGroep van summary lijnen.views-view-summary.tpl.phpLijst van summary lijnen.views-view-table.tpl.phpEen tabel view.views-view-unformatted.tpl.phpLijst van rijen.views-view.tpl.php Hoofd view template. 371. Views 2 templates views-view-rss.tpl.phpFeeds in rss stijlviews-view-summary-unformatted.tpl.phpGroep van summary lijnen.views-view-summary.tpl.phpLijst van summary lijnen.views-view-table.tpl.phpEen tabel view.views-view-unformatted.tpl.phpLijst van rijen.views-view.tpl.php Hoofd view template. 372. Views 2 templates views-exposed-form.tpl.phpLayout van de exposed filters form.views-more.tpl.php Theme de lees meer link views-view-fields.tpl.phpStandaard simple view template met alle velden als een rij. views-view-grid.tpl.phpEen view als grid weergegeven views-view-list.tpl.phpEen view als lijst weergegeven views-view-row-comment.tpl.phpEn comment in een view.views-view-row-node.tpl.phpEn node in een view 373. THEMING FIELDS 374. Theming fields Individuele velden kunnen gethemed worden. Let op: originele content-field.tpl.php moet in theme map Zie theme map in cck module: content-field.tpl.php

  • content-field-[FIELD_NAME].tpl.php

375. content-field-[CONTENT_TYPE].tpl.php 376. content-field-[FIELD_NAME]-[CONTENT_TYPE].tpl.php Opgelet steeds ook een gewone content-field.tpl.php plaatsen!! 377. Views embedden 378. Views embedden met module

  • http://drupal.org/project/viewfield

379. http://drupal.org/project/insert_view 380. Eenvoudig views embedden http://api.lullabot.com/views_embed_view/7 381. Views met js embedden Issue views_slideshow:http://drupal.org/node/325353#comment-2941588 Opgelet: js herladen! In template.php: In page.tpl.php 382. Views alternatiefembedden via block Gewoon block embedden: Views block embedden: 383. Views embedden alternatief $view = views_get_view($view_name); $view->set_arguments(array(0 => 'all', 1 => 'typeb'));// if you have args $view->set_items_per_page(0);// Aantal resultaten print $view->execute_display(0, $args);// default view, include $args param if using 384. Geavanceerd embedden via blok 385. Via een module function MIJNMODULE_form_views_exposed_form_alter(&$form, $form_state) { if ($form['#id'] == 'views-exposed-form-all-events-page-1') { $form['date_filter']['min']['#date_format'] = 'd-m-Y'; $form['date_filter']['max']['#date_format'] = 'd-m-Y'; } } 386. Opvragen current view 387. Homepage theming

  • (via wysiwyg of eigen content type)

388. Standaard Drupal met blokken en extra regions 389. Met is_front() variabele 390. Als page-front.tpl.php: views embedden 391. Viahttp://drupal.org/project/panels 392. Viawww.drupal.org/project/ds 393. Totaal aantal resultaten In views-view--Naamvanjeview.tpl.php 394. GOOGLE MAPS 395. Google maps views

Google maps: Latitude + Longitude 396. Geocoding (http://en.wikipedia.org/wiki/Geocoding) Google 397. Yahoo 398. Openstreetmap http://www.geonames.org 399. Eenvoudigste view Google maps static maps api http://code.google.com/apis/maps/index.html 400. http://code.google.com/apis/maps/documentation/staticmaps/ Views: Rewrite the output of this field 401. Google maps modules Modules Gmap/Location: grootste logge oudste module: geen javascript geocoding 402. Open layers:http://drupal.org/project/openlayers 403. Nodemap: klein en eenvoudig, geen D7 404. Gmaps module: nieuwer, geen D7 405. Gmap module http://drupal.org/project/gmap 406. http://drupal.org/project/location 407. Oudste en meest gebruikte module 408. Bij inhoudstype location settings definieren 409. Latitude en longitude velden toevoegen in view 410. Openlayers Integreert met diverse maplagen: Openstreetmap, Google maps 411. Nodemap http://drupal.org/project/nodemap 412. Eenvoudige interface 413. Ondersteuning Yahoo en Google 414. Slechts 1 marker op de kaart 415. Gmaps module View Type: gmaps map, preset style earth 416. Row style: Map fields marker 417. Fields Content anp locatie 418. Marker option: locatie point 419. Marker option: icon options 420. NIEUWSBRIEVEN & e-mail integratie 421. Mail interactie Simplenews 422. Subscriptions of Notify of Watcher 423. Actions & Workflow/Rules & Views Bulk operations 424. Messenger & Notifications framework 425. Webform 426. Mailhandler 427. Nieuwsbrieven 3 voornaamste mogelijkheden Simplenews: eenvoudig en goedkoop, geen bounce handling, beperkte statistieken, problemen met server gemarkeerd als spamserver 428. Campaignmonitor of Mailchimp integratie: full bounce handling, statistieken, whitelisting, betalend maar Mailchimp tot 1000 abonnees gratis! 429. Civimail (onderdeel van Civicrm): mailings, bounce handling, goed systeem 430. Nieuwsbrief theming http://www.campaignmonitor.com/css/ 431. http://drupal.org/node/268404 432. Probleem: css moet inline voor webclients (gmail, yahoo, hotmail) Views templates maken voor onderdelenAutomatisch: Emogrifier (htmlmail), Mime Mail CSS Compressor (mimemail) 433. Display suite 434. Nieuwsbrief theme Via Themekey module: als ct nieuwsbrief of view nieuwsbrief => Nieuwsbrief theme gebruiken Nieuwsbrief theme Geen html5 en andere moderne zaken, terug naar de nineties! 435. Sterk vereenvoudigde html.tpl.php: geen css en js printen 436. Sterk vereenvoudigde page.tpl.php: enkel tabel 437. Nieuwsbrief theme Views: 438. Reference field: 439. Veld: 440. Aanpak 2: via views Nodequeue: Toevoegen aan nieuwsbrief 441. View: Nieuwsbrief op /nieuwsbrief 442. Nieuwsbrief = page - - nieuwsbrief.tpl.php Views_embed_view('eersteview'); 443. views_embed_view('tweedeview'); Nadeel: geen inleiding, archief via Mailchimp 444. Aanpak: Eigen inhoudstype CT Nieuwsbrief Met velden voor foto's, tekst, links 445. Reference fields voor lijsten 446. Simplenews theming simplenews-newsletter-body--1126.tpl.php 447. simplenews-newsletter-footer--1126.tpl.php 448. FEATURES 449. Configuration management Drupal werkt aan het probleem dat veel configuratie in de database zit en dit beter in code zou zitten. 450. http://london2011.drupal.org/conference/sessions/content-staging-and-deployments-drupal-7 451. http://buytaert.net/configuration-management-in-drupal-8 452. http://groups.drupal.org/node/134569 453. Features http://drupal.org/project/features 454. Twee toepassingen Combineren van inhoudstypes, views, tot een feature = via de interface gemaakte module die je op andere installaties kan gebruiken 455. Zoveel mogelijk van de Drupal settings overbrengen naar code zodat ze kunnen opgenomen worden in een versiecontrolesysteem (git, svn, ...) 456. Strongarm http://drupal.org/project/strongarm 457. Slaat de Drupal variabelen op in code zodat ze kunnen in een versiecontrolesysteem opgenomen worden 458. EXTRA CCK 459. Fieldgroups Indelen in groepen 460. Met tabs: via cck fieldgroup tabs, vergelijk deze tabs met quicktabs 461. Content Copy Exporteren en importeren van cck inhoudstypes 462. UITBREIDINGSTOEPASSINGEN 463. Import export Table wizard & Migrate 464. Feeds (of feedapi) 465. Node import 466. User import 467. Views exporteren via bonus pack (zie eerder) 468. Default views Voorbeelden Archive 469. Glossary 470. Tracker Mogelijkheid om default views te definieren in een module http://views-help.doc.logrus.com/help/views/api-default-views 471. Default views module Voordeel: svn/git + doorgeven 472. Wat zit in export bekijken 473. T functie toevoegen 474. Eenvoudige module 475. PERMISSIES 476. Content Permissions Field Permissions 477. Content access 478. Taxonomy access (forum) 479. Private Views permissions 480. OG Gebruik Masquerade voor testen 481. Views permissies Permissies instellen 482. Merk op Je kunt verschillende views maken met dezelfde url, maar verschillende permissies. Op die manier krijgen rollen op een bepaalde url een andere view te zien. 483. Organische groepen Basisviews Beinvloeden, specifieke argumenten Organisatie organische groepen Permissies 484. Notifications en messaging framework 485. UITBREIDING EN MEER INFO 486. Interessantecck velden en views plugins Extra velden en plugins 487. Views: http://drupal.org/project/modules?filters=tid:89&solrsort=sis_project_release_usage%20desc 488. CCK : http://drupal.org/project/modules?filters=tid:57&solrsort=sis_project_release_usage%20desc