Your SlideShare is downloading. ×
Drupal Views Cck Hans Rossel
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Drupal Views Cck Hans Rossel

4,983
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,983
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
71
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Jyve . Look at 'Acting career' page Layouts: Choose the 'One column' layout to unlock some DS goodies. Fields: a whole bunch of fields offered by Drupal are available by default Fields: add a dynamic field 'All images' Fields: add block field: Powered by Drupal Look at homepage Layout: Teaser goedzetten: 3-col stacked View modes: teaser in sidebar too busy: extra view mode instead of Views fields Views integration: homepage alternating view modes + grouping Other entities: Profile block Comments layout HTML output: vergelijken node en comment
  • Jyve Tonen Extra's module, demo most important ones Field templates: reset als default kiezen en HTML vergelijken Field templates: Image bij article aanpassen in expert mode Regions to block: image in sidebar block Page title: manueel instellen Switching View modes: between full and teaser Views Displays: frontpage view aanzetten en velden tonen
  • Transcript

    • 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. Extra http://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 backup of drush 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)
      • 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
    • 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 <img> 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
      • 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 ook http://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 (&quot;+&quot;, $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. Sony www.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 definiëren 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 de http://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. Filosofie achter 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
    • 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
    • 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
        • Via http://drupal.org/project/features
        • 309. Als module http://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 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 of http://drupalcontrib.org (contibuted) of eigen via http://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 = Kopiëren naar theme map + aanpassen
      • 345. Via Theme Developer (Devel)‏
    • 346. Node en User Object Node object <?php print_r($node); ?> <?php var_export($node); ?> <?php var_dump($node); ?> Veiligheid:
      • check_url($front_page);
      • 347. check_plain($node->body);
      • 348. check_markup($node->body);
      User object <?php print_r($user); ?> <?php var_export($user); ?> <?php var_dump($user); ?> Veiligheid
      • check_url($user -> ...);
      • 349. check_plain($user -> name);
    • 350. Node object laden Voor execute php in devel <?php if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); print_r($node); } ?>
    • 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 beïnvloeden in code 1) Met de template files views-view.tpl.php 2) 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.php Layout van de exposed filters form. views-more.tpl.php Theme de lees meer link views-view-fields.tpl.php Standaard simple view template met alle velden als een rij. views-view-grid.tpl.php Een view als grid weergegeven  views-view-list.tpl.php Een view als lijst weergegeven views-view-row-comment.tpl.php Eén comment in een view. views-view-row-node.tpl.php Eén node in een view
    • 370. Views 2 templates views-view-rss.tpl.php Feeds in rss stijl views-view-summary-unformatted.tpl.php Groep van summary lijnen. views-view-summary.tpl.php Lijst van summary lijnen. views-view-table.tpl.php Een tabel view. views-view-unformatted.tpl.php Lijst van rijen. views-view.tpl.php Hoofd view template.
    • 371. Views 2 templates views-view-rss.tpl.php Feeds in rss stijl views-view-summary-unformatted.tpl.php Groep van summary lijnen. views-view-summary.tpl.php Lijst van summary lijnen. views-view-table.tpl.php Een tabel view. views-view-unformatted.tpl.php Lijst van rijen. views-view.tpl.php Hoofd view template.
    • 372. Views 2 templates views-exposed-form.tpl.php Layout van de exposed filters form. views-more.tpl.php Theme de lees meer link views-view-fields.tpl.php Standaard simple view template met alle velden als een rij. views-view-grid.tpl.php Een view als grid weergegeven  views-view-list.tpl.php Een view als lijst weergegeven views-view-row-comment.tpl.php Eén comment in een view. views-view-row-node.tpl.php Eén 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 <?php echo views_embed_view('most_recent_post', 'default'); ?> <?php echo views_embed_view('nieuws', 'block_1'); ?> <?php print views_embed_view('calendar', 'calendar_block_1'); ?>
    • 381. Views met js embedden Issue views_slideshow: http://drupal.org/node/325353#comment-2941588 Opgelet: js herladen! In template.php: <?php function themename_preprocess_page(&$vars, $hook) { $vars['embedded_view'] = views_embed_view(‘rooms’, ‘block_1′); $vars['scripts'] = drupal_get_js(); $vars['styles'] = drupal_get_css(); } ?> In page.tpl.php <?php print $embedded_view; ?>
    • 382. Views alternatief embedden via block Gewoon block embedden: <?php $block = module_invoke('block', 'block', 'view', 10); print $block['content']; ?> Views block embedden: <?php $block = module_invoke('views', 'block', 'view', 'FotoCarousel-block_1'); print $block['content']; ?>
    • 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 <?php $view = views_get_view('Publicaties'); //print '<pre>'; //print_r($view); //print '</pre>'; $view->set_display('block_1'); $view->display_handler->set_option('items_per_page', 2); $view->set_arguments(args...); $title = $view->get_title(); $output = $view->preview(); print '<h2>' . $title . '</h2>'; print $output; ?>
    • 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 <?php $view = views_get_current_view(); print_r($view); $current_view_name = $view->name; $current_view_display = $view->current_display; ?>
    • 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. Via http://drupal.org/project/panels
      • 392. Via www.drupal.org/project/ds
    • 393. Totaal aantal resultaten <?php $from = ($view->pager['current_page'] * $view->pager['items_per_page']) + 1; $to = $from + count($view->result) - 1; $total = $view->total_rows; if ($total <= $to) { // no need to show where we are if everything fits on the first page print '<b style=&quot;resultaten&quot;>'; if ($total <> '') { echo $total . &quot; resultaten gevonden.&quot;; } print '</b>'; print '<br />'; } else { print '<b style=&quot;resultaten&quot;>'; echo &quot;Gevonden: &quot; . $from . &quot; - &quot; . $to . &quot; van in totaal &quot; . $total . &quot; resultaten.&quot;; } ?> 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)
        • 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
        • <img border=&quot;0&quot; src=&quot;http://maps.google.com/maps/api/staticmap?center=[geo_code_1],[geo_code_2]&zoom=13&size=570x285&maptype=roadmap&markers=color:blue|label:F|[geo_code_1],[geo_code_2]&sensor=false&quot; />
    • 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 onderdelen
        • Automatisch: 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: <?php print views_embed_view('nieuwsbrief_items','default'); ?>
      • 438. Reference field: <?php print render($content['field_nb_architectuurnieuws']); ?>
      • 439. Veld: <?php print check_url($node->field_nb_subfoto1_linkt['und'][0]['url']); ?>
    • 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
      • 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
      • 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. Interessante cck 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