Drupal CCK & Views v5 Hans Rossel - www.koba.be
CCK / Fields <ul><li>Content Construction kit of Fields module
Velden bij inhoudstypes
Historiek: flexinode->cck->fields
In D7: fields module in core </li></ul><ul><ul><li>Fields op alle fieldable entities: node, user, tax of entities gemaakt ...
Filefield, imagefield, imagecache in core
Nodereference en userreference in cck contrib </li></ul></ul>
Views <ul><li>Dynamic query builder, lijsten trekken
Earl Miles, Sony, Panels
http://drupal.org/project/views
D5: Views1: enkel nodes (=>nodecontent, nodecomments, ...)
D6: Views2: ook users, taxonomie, files, ...
D6: Views3: elke databron niet enkel db, ook apache Solr, Flickr, RDF, elke bron met api + OR mogelijkheid bij filters
D7: Views3 & fields in core.  </li></ul>
Drupal installatie <ul><li>Verondersteld gekend
Via devel generate kan een volle site opgebouwd worden (opgelet met files)  </li></ul>
Lamp server op Ubuntu (debian) <ul><li>sudo aptitude install php5 apache2 mysql-server phpmyadmin php5-mysql libapache2-mo...
root user paswoord instellen voor mysql
phpmyadmin: spatiebalk drukken om apache2 te kiezen + ok
testen: localhost, localhost/phpmyadmin
sudo /etc/init.d/apache2 restart
Alternatief: sudo tasksel install lamp-server
Meer info: https://help.ubuntu.com/community/ApacheMySQLPHP   </li></ul>
Mod rewrite installeren 1) sudo a2enmod rewrite 2) sudo pico /etc/apache2/sites-enabled/000-default  3) Change AllowOverri...
Drush: Drupal Shell <ul><li>http://drupal.org/project/drush  (ook voor windows) </li><ul><li>http://vimeo.com/5207683
Extra  http://drupal.org/taxonomy/term/4654
http://www.archive.org/details/DrupalconSf2010Drush
http://www.archive.org/details/DrupalconSf2010AdvancedDrush </li></ul></ul>
Drush commando voorbeelden <ul><li>Drupal installeren in htdocs of www mapje </li><ul><li>drush  (help uitleg)
drush dl drupal  (download drupal)
drush dl cck views nl ckeditor acquia_marina backup_migrate   (in drupal map)
drush en cck views  (modules aanleggen, omgekeerd: dis)
drush cron </li></ul><li>Drupal updaten met drush </li><ul><li>drush bam backup  of  drush sql-dump > example10052010.sql
tar -czf drupal.tgz drupal
drush variable-set site_offline TRUE
drush up : update alle modules + backup code
drush updb:  run update.php
drush variable-set site_offline FALSE </li></ul></ul>
HOOFDSTUK 2 Content Ordening
 
Basis cck fields <ul><li>Voornaamste extra fields </li></ul><ul><ul><li>http://drupal.org/project/imagefield
http://drupal.org/project/filefield
http://drupal.org/project/date
http://drupal.org/project/email
http://drupal.org/project/link
http://drupal.org/project/emfield   </li></ul></ul>
CCK tekst <ul><li>Nieuwsbericht met scheduler
Tekstveld ipv body
Reactie instellingen
Invoerformaat </li></ul><ul><ul><li>Better formats
Wysiwyg filter </li></ul></ul><ul><li>Widgets: (vergelijk met webform) </li></ul><ul><ul><li>Textfield
Textarea
Select
Checkbox </li></ul></ul><ul><li>Nodeformcols of vertical tabs: afwerking invoer  </li></ul>
CCK USABILITY
Node Form Columns Usability vereenvoudiging cck formulieren <ul><li>http://drupal.org/project/nodeformcols </li></ul>
Better messages
CCK Link <ul><li>Links configureren
Weblinks module
Linkchecker </li><ul><li>Automatisch controleren op dode links in textareas en link velden
Werkt op cron
Geeft overzicht van dode links en mogelijkheid om deze te deactiveren </li></ul></ul>
CCK File en Image <ul><li>Filefield
Imagefield
Image api
Imagecache
Transliteration
Filefield paths
Filefield sources
Image fupload
Dragn'drop uploads </li></ul>
Insert & Image Resize filter <ul><li>http://drupal.org/project/insert </li><ul><li>Zorgt voor extra buttons om filefield a...
Zorgt voor dropdown met selectie van imagecache presets voor invoegen
Voordeel: Veiligheid & gebruiksvriendelijkheid gecombineerd: je hoeft geen <img> toe te laten voor anonieme gebruikers om ...
Insert
Insert & Image Resize filter <ul><li>http://drupal.org/project/image_resize_filter </li><ul><li>Aan hoekjes trekken om afb...
HOOFDSTUK 2 VIEWS
Views handleiding & support <ul><li>Advanced help module installeren </li></ul><ul><ul><li>Ingebouwde handleiding van Views
Views documentatie op admin/advanced_help/views
http://views-help.doc.logrus.com : advanced help op site van Earl
http://views.doc.logrus.com : views 2 API op site van Earl </li></ul></ul><ul><li>http://drupal.org/project/issues/views <...
Filteren op all support requests </li></ul><li>http://drupal.org/handbook/modules/views </li></ul><ul><ul><li>Gearchiveerd...
http://drupal.org/node/492210#comment-1714204   </li></ul></ul>
Default views <ul><li>Frontpage view </li><ul><li>Eenvoudigste: bootst de homepage /node na
Teaserlijst van laatste items met vinkje aangeraden op voorpagina aan
Is vanaf nu wijzigbaar
Niet vergeten bij websitegegevens frontpage te zetten ipv node voor homepage </li></ul></ul>
ADMINISTRATIEVE VIEWS EXPORT EN AUTOMATISERING
Views Bulk Operations <ul><li>Een bepaalde actie/rule uitvoeren op een selectie gemaakt met views
Een email sturen naar een groep mensen </li><ul><li>Naar een user view
Naar de auteur van nodes: [mail] plaatsen bij ontvanger
Opgelet: Batch api (of jobqueue) aanzetten bij versturing van grote hoeveelheden </li></ul></ul>
Soorten views <ul><li>Node, comment, user, …
Formatting views queries p201 </li></ul><ul><ul><li>Queries bekijken
prototyping </li></ul></ul>
Views Bulk operations <ul><li>Default view aanpassen </li></ul><ul><ul><li>admin/content/node2 bijsturen
Extra exposed filters </li></ul></ul><ul><li>Acties: </li></ul><ul><ul><li>Emails versturen (batch/nieuwsbrief)
Updaten van taxonomie </li></ul></ul>
Actions/Triggers/Rules <ul><li>Actions/Triggers: zit in Drupal core: het vinkje bij Trigger module aanzetten
Rules module: Geeft bijkomende verfijning en condities aan de acties </li><ul><li>Een bericht op scherm plaatsen
Een automatische email versturen
Een nieuwsbrief nasturen
Een veld wijzigen </li></ul></ul>
Rules <ul><li>Email sturen bij indienen van vacature </li><ul><li>Actions: maak de email actie
Trigger: new content
Condition: Node type=vacature
(Condition: Field has value)
Action: Send email  </li></ul></ul>
GEBRUIKERS EN PROFIELEN
Gebruikers en profielen Content profile module <ul><ul><li>Naam, voornaam, adres, lidnummer
Automatic Nodetitles </li></ul></ul>Node view: Beheer profielen <ul><ul><li>N:Naam, N:straat, N:lidnummer, U:mail, U:edit,...
Exposed:naam, U:Created date of N:Updated date
Tabel: default sort
Permissies op de view: enkel admins </li></ul></ul>
Gebruikers en Profielen (2) User view: Beheer accounts <ul><li>Relationship: content profile
Fields: G:Naam,G:mail,G:rollen,G:edit,G:laatste toegang,N:naam,N:voornaam
Table view: Naam en voornaam samen in één vakje
Filter G:naam <>anonymous, rollen exposed, email exposed, naam exposed
Permissies: enkel admins </li></ul>
Gebruikers en profielen (3) <ul><li>Mijn inhoud: blokken met inhoud van de gebruiker op de profielpagina
Argument:  </li></ul><ul><ul><li>Gebruiker:uid
Provide default argument: user id from url
Validator:gebruiker only allow numeric uid </li></ul></ul>
Gebruikers en profielen <ul><li>Mijn Reacties </li></ul><ul><ul><li>Relationship: Reactie: Node
Fields: reactie:titel
Filters </li></ul></ul><ul><ul><ul><li>(Node)Node:User posted or commented
(Node)Gebruiker: Current Ja of
Argument (Node): User:uid </li></ul></ul></ul>
Reacties beheren <ul><li>Reactie view </li></ul><ul><ul><li>Comments recent
Default view </li></ul></ul><ul><li>Node view </li></ul><ul><ul><li>Fields: R:titel, R:berichttekst, R:Auteur, R:indiendatum
Filters:Indiendatum>=-30days </li></ul></ul>
Headline view <ul><li>Hoofdview: Laatste nieuwsbericht </li></ul><ul><ul><li>View met ingekorte tekst 1 item laatste nieuw...
HANDGEPLUKTE en BEINVLOEDE INFORMATIE
Drupal core standaard <ul><li>Vinkje: vastgeplakt bovenaan de lijst
Vinkje: aangeraden op de voorpagina
Via de frontpage view kan hier in beperkte mate promotie van content worden gedaan
Via i18n: eventueel “aangeraden op de voorpagina” vertalen naar “in de kijker”
Nadeel: we krijgen slechts 1 indicator/lijst en vaak hebben we op een homepage meerdere nodig </li></ul>
Nodequeue <ul><li>Voordeel </li><ul><li>Mogelijkheid om zelf informatie te kiezen
Volgorde kan eenvoudig veranderd worden
Weergave bepalen via een view
Ideaal voor homepage, in de kijker, …
Rules: automatisch toevoegen aan nodequeue </li></ul><li>Nodequeue aanmaken
Nodequeue view </li></ul><ul><ul><li>Disablen indien niet nodig
In block weergeven: rechterkolom content </li></ul></ul>
Flag <ul><li>Mark as spam, mooie foto, bookmarks, goedgekeurd
Admin View </li></ul><ul><ul><li>Relationship: Flag
Field: Flag:flaglink, relationship: goedkeuring
Acties/Triggers: op goedkeuring ook publiceren </li></ul></ul><ul><ul><ul><li>Flag actions
Actions/triggers/rules </li></ul></ul></ul>
Ratings <ul><li>Voting api </li></ul><ul><ul><li>Relationship: node voting results: percent, no filtering, average
Sorteren op beste punten: (Voting results) Voting API results: Waarde desc
Field: (Voting results) Voting API results: Waarde </li></ul></ul><ul><li>Fivestar </li><ul><li>Vijf sterretjes voor score
User generated content </li></ul></ul>
STATISTIEKEN <ul><li>Statistics module aanzetten: 16 weken
Sort criteria: Most popular
Default view: backlinks </li></ul>
EXPOSED FILTERS
Exposed filters <ul><li>Filters wijzigen via code
Checkboxen gebruiken (views checkboxes module/content taxonomy)
Upcoming SlideShare
Loading in...5
×

Drupal Views Cck Hans Rossel

5,227

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,227
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
72
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Jyve . Look at &apos;Acting career&apos; page Layouts: Choose the &apos;One column&apos; layout to unlock some DS goodies. Fields: a whole bunch of fields offered by Drupal are available by default Fields: add a dynamic field &apos;All images&apos; 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&apos;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
  • Drupal Views Cck Hans Rossel

    1. 1. Drupal CCK & Views v5 Hans Rossel - www.koba.be
    2. 2. CCK / Fields <ul><li>Content Construction kit of Fields module
    3. 3. Velden bij inhoudstypes
    4. 4. Historiek: flexinode->cck->fields
    5. 5. In D7: fields module in core </li></ul><ul><ul><li>Fields op alle fieldable entities: node, user, tax of entities gemaakt door een module: Organic group, Commerce Product
    6. 6. Filefield, imagefield, imagecache in core
    7. 7. Nodereference en userreference in cck contrib </li></ul></ul>
    8. 8. Views <ul><li>Dynamic query builder, lijsten trekken
    9. 9. Earl Miles, Sony, Panels
    10. 10. http://drupal.org/project/views
    11. 11. D5: Views1: enkel nodes (=>nodecontent, nodecomments, ...)
    12. 12. D6: Views2: ook users, taxonomie, files, ...
    13. 13. D6: Views3: elke databron niet enkel db, ook apache Solr, Flickr, RDF, elke bron met api + OR mogelijkheid bij filters
    14. 14. D7: Views3 & fields in core. </li></ul>
    15. 15. Drupal installatie <ul><li>Verondersteld gekend
    16. 16. Via devel generate kan een volle site opgebouwd worden (opgelet met files) </li></ul>
    17. 17. Lamp server op Ubuntu (debian) <ul><li>sudo aptitude install php5 apache2 mysql-server phpmyadmin php5-mysql libapache2-mod-php5 php5-cli (voor drush)
    18. 18. root user paswoord instellen voor mysql
    19. 19. phpmyadmin: spatiebalk drukken om apache2 te kiezen + ok
    20. 20. testen: localhost, localhost/phpmyadmin
    21. 21. sudo /etc/init.d/apache2 restart
    22. 22. Alternatief: sudo tasksel install lamp-server
    23. 23. Meer info: https://help.ubuntu.com/community/ApacheMySQLPHP </li></ul>
    24. 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. 25. Drush: Drupal Shell <ul><li>http://drupal.org/project/drush (ook voor windows) </li><ul><li>http://vimeo.com/5207683
    26. 26. Extra http://drupal.org/taxonomy/term/4654
    27. 27. http://www.archive.org/details/DrupalconSf2010Drush
    28. 28. http://www.archive.org/details/DrupalconSf2010AdvancedDrush </li></ul></ul>
    29. 29. Drush commando voorbeelden <ul><li>Drupal installeren in htdocs of www mapje </li><ul><li>drush (help uitleg)
    30. 30. drush dl drupal (download drupal)
    31. 31. drush dl cck views nl ckeditor acquia_marina backup_migrate (in drupal map)
    32. 32. drush en cck views (modules aanleggen, omgekeerd: dis)
    33. 33. drush cron </li></ul><li>Drupal updaten met drush </li><ul><li>drush bam backup of drush sql-dump > example10052010.sql
    34. 34. tar -czf drupal.tgz drupal
    35. 35. drush variable-set site_offline TRUE
    36. 36. drush up : update alle modules + backup code
    37. 37. drush updb: run update.php
    38. 38. drush variable-set site_offline FALSE </li></ul></ul>
    39. 39. HOOFDSTUK 2 Content Ordening
    40. 41. Basis cck fields <ul><li>Voornaamste extra fields </li></ul><ul><ul><li>http://drupal.org/project/imagefield
    41. 42. http://drupal.org/project/filefield
    42. 43. http://drupal.org/project/date
    43. 44. http://drupal.org/project/email
    44. 45. http://drupal.org/project/link
    45. 46. http://drupal.org/project/emfield </li></ul></ul>
    46. 47. CCK tekst <ul><li>Nieuwsbericht met scheduler
    47. 48. Tekstveld ipv body
    48. 49. Reactie instellingen
    49. 50. Invoerformaat </li></ul><ul><ul><li>Better formats
    50. 51. Wysiwyg filter </li></ul></ul><ul><li>Widgets: (vergelijk met webform) </li></ul><ul><ul><li>Textfield
    51. 52. Textarea
    52. 53. Select
    53. 54. Checkbox </li></ul></ul><ul><li>Nodeformcols of vertical tabs: afwerking invoer </li></ul>
    54. 55. CCK USABILITY
    55. 56. Node Form Columns Usability vereenvoudiging cck formulieren <ul><li>http://drupal.org/project/nodeformcols </li></ul>
    56. 57. Better messages
    57. 58. CCK Link <ul><li>Links configureren
    58. 59. Weblinks module
    59. 60. Linkchecker </li><ul><li>Automatisch controleren op dode links in textareas en link velden
    60. 61. Werkt op cron
    61. 62. Geeft overzicht van dode links en mogelijkheid om deze te deactiveren </li></ul></ul>
    62. 63. CCK File en Image <ul><li>Filefield
    63. 64. Imagefield
    64. 65. Image api
    65. 66. Imagecache
    66. 67. Transliteration
    67. 68. Filefield paths
    68. 69. Filefield sources
    69. 70. Image fupload
    70. 71. Dragn'drop uploads </li></ul>
    71. 72. Insert & Image Resize filter <ul><li>http://drupal.org/project/insert </li><ul><li>Zorgt voor extra buttons om filefield afbeeldingen in een textarea in te voegen
    72. 73. Zorgt voor dropdown met selectie van imagecache presets voor invoegen
    73. 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 </li></ul></ul>
    74. 75. Insert
    75. 76. Insert & Image Resize filter <ul><li>http://drupal.org/project/image_resize_filter </li><ul><li>Aan hoekjes trekken om afbeelding te verkleinen en toch een correcte resize opdracht uitvoeren in php </li></ul><li>Kan goed gecombineerd worden met de insert module om een alternatieve vorm en veilige vorm van invoegen van afbeeldigen te verkrijgen. </li></ul>
    76. 77. HOOFDSTUK 2 VIEWS
    77. 78. Views handleiding & support <ul><li>Advanced help module installeren </li></ul><ul><ul><li>Ingebouwde handleiding van Views
    78. 79. Views documentatie op admin/advanced_help/views
    79. 80. http://views-help.doc.logrus.com : advanced help op site van Earl
    80. 81. http://views.doc.logrus.com : views 2 API op site van Earl </li></ul></ul><ul><li>http://drupal.org/project/issues/views </li><ul><li>Search inside gebruiken
    81. 82. Filteren op all support requests </li></ul><li>http://drupal.org/handbook/modules/views </li></ul><ul><ul><li>Gearchiveerd op vraag van Earl Miles
    82. 83. http://drupal.org/node/492210#comment-1714204 </li></ul></ul>
    83. 84. Default views <ul><li>Frontpage view </li><ul><li>Eenvoudigste: bootst de homepage /node na
    84. 85. Teaserlijst van laatste items met vinkje aangeraden op voorpagina aan
    85. 86. Is vanaf nu wijzigbaar
    86. 87. Niet vergeten bij websitegegevens frontpage te zetten ipv node voor homepage </li></ul></ul>
    87. 88. ADMINISTRATIEVE VIEWS EXPORT EN AUTOMATISERING
    88. 89. Views Bulk Operations <ul><li>Een bepaalde actie/rule uitvoeren op een selectie gemaakt met views
    89. 90. Een email sturen naar een groep mensen </li><ul><li>Naar een user view
    90. 91. Naar de auteur van nodes: [mail] plaatsen bij ontvanger
    91. 92. Opgelet: Batch api (of jobqueue) aanzetten bij versturing van grote hoeveelheden </li></ul></ul>
    92. 93. Soorten views <ul><li>Node, comment, user, …
    93. 94. Formatting views queries p201 </li></ul><ul><ul><li>Queries bekijken
    94. 95. prototyping </li></ul></ul>
    95. 96. Views Bulk operations <ul><li>Default view aanpassen </li></ul><ul><ul><li>admin/content/node2 bijsturen
    96. 97. Extra exposed filters </li></ul></ul><ul><li>Acties: </li></ul><ul><ul><li>Emails versturen (batch/nieuwsbrief)
    97. 98. Updaten van taxonomie </li></ul></ul>
    98. 99. Actions/Triggers/Rules <ul><li>Actions/Triggers: zit in Drupal core: het vinkje bij Trigger module aanzetten
    99. 100. Rules module: Geeft bijkomende verfijning en condities aan de acties </li><ul><li>Een bericht op scherm plaatsen
    100. 101. Een automatische email versturen
    101. 102. Een nieuwsbrief nasturen
    102. 103. Een veld wijzigen </li></ul></ul>
    103. 104. Rules <ul><li>Email sturen bij indienen van vacature </li><ul><li>Actions: maak de email actie
    104. 105. Trigger: new content
    105. 106. Condition: Node type=vacature
    106. 107. (Condition: Field has value)
    107. 108. Action: Send email </li></ul></ul>
    108. 109. GEBRUIKERS EN PROFIELEN
    109. 110. Gebruikers en profielen Content profile module <ul><ul><li>Naam, voornaam, adres, lidnummer
    110. 111. Automatic Nodetitles </li></ul></ul>Node view: Beheer profielen <ul><ul><li>N:Naam, N:straat, N:lidnummer, U:mail, U:edit, N:edit, N:updated
    111. 112. Exposed:naam, U:Created date of N:Updated date
    112. 113. Tabel: default sort
    113. 114. Permissies op de view: enkel admins </li></ul></ul>
    114. 115. Gebruikers en Profielen (2) User view: Beheer accounts <ul><li>Relationship: content profile
    115. 116. Fields: G:Naam,G:mail,G:rollen,G:edit,G:laatste toegang,N:naam,N:voornaam
    116. 117. Table view: Naam en voornaam samen in één vakje
    117. 118. Filter G:naam <>anonymous, rollen exposed, email exposed, naam exposed
    118. 119. Permissies: enkel admins </li></ul>
    119. 120. Gebruikers en profielen (3) <ul><li>Mijn inhoud: blokken met inhoud van de gebruiker op de profielpagina
    120. 121. Argument: </li></ul><ul><ul><li>Gebruiker:uid
    121. 122. Provide default argument: user id from url
    122. 123. Validator:gebruiker only allow numeric uid </li></ul></ul>
    123. 124. Gebruikers en profielen <ul><li>Mijn Reacties </li></ul><ul><ul><li>Relationship: Reactie: Node
    124. 125. Fields: reactie:titel
    125. 126. Filters </li></ul></ul><ul><ul><ul><li>(Node)Node:User posted or commented
    126. 127. (Node)Gebruiker: Current Ja of
    127. 128. Argument (Node): User:uid </li></ul></ul></ul>
    128. 129. Reacties beheren <ul><li>Reactie view </li></ul><ul><ul><li>Comments recent
    129. 130. Default view </li></ul></ul><ul><li>Node view </li></ul><ul><ul><li>Fields: R:titel, R:berichttekst, R:Auteur, R:indiendatum
    130. 131. Filters:Indiendatum>=-30days </li></ul></ul>
    131. 132. Headline view <ul><li>Hoofdview: Laatste nieuwsbericht </li></ul><ul><ul><li>View met ingekorte tekst 1 item laatste nieuwsbericht </li></ul></ul><ul><li>Subview: Titels andere nieuwsberichten </li></ul><ul><ul><li>Lijst van titels van andere nieuwsberichten </li></ul></ul>
    132. 133. HANDGEPLUKTE en BEINVLOEDE INFORMATIE
    133. 134. Drupal core standaard <ul><li>Vinkje: vastgeplakt bovenaan de lijst
    134. 135. Vinkje: aangeraden op de voorpagina
    135. 136. Via de frontpage view kan hier in beperkte mate promotie van content worden gedaan
    136. 137. Via i18n: eventueel “aangeraden op de voorpagina” vertalen naar “in de kijker”
    137. 138. Nadeel: we krijgen slechts 1 indicator/lijst en vaak hebben we op een homepage meerdere nodig </li></ul>
    138. 139. Nodequeue <ul><li>Voordeel </li><ul><li>Mogelijkheid om zelf informatie te kiezen
    139. 140. Volgorde kan eenvoudig veranderd worden
    140. 141. Weergave bepalen via een view
    141. 142. Ideaal voor homepage, in de kijker, …
    142. 143. Rules: automatisch toevoegen aan nodequeue </li></ul><li>Nodequeue aanmaken
    143. 144. Nodequeue view </li></ul><ul><ul><li>Disablen indien niet nodig
    144. 145. In block weergeven: rechterkolom content </li></ul></ul>
    145. 146. Flag <ul><li>Mark as spam, mooie foto, bookmarks, goedgekeurd
    146. 147. Admin View </li></ul><ul><ul><li>Relationship: Flag
    147. 148. Field: Flag:flaglink, relationship: goedkeuring
    148. 149. Acties/Triggers: op goedkeuring ook publiceren </li></ul></ul><ul><ul><ul><li>Flag actions
    149. 150. Actions/triggers/rules </li></ul></ul></ul>
    150. 151. Ratings <ul><li>Voting api </li></ul><ul><ul><li>Relationship: node voting results: percent, no filtering, average
    151. 152. Sorteren op beste punten: (Voting results) Voting API results: Waarde desc
    152. 153. Field: (Voting results) Voting API results: Waarde </li></ul></ul><ul><li>Fivestar </li><ul><li>Vijf sterretjes voor score
    153. 154. User generated content </li></ul></ul>
    154. 155. STATISTIEKEN <ul><li>Statistics module aanzetten: 16 weken
    155. 156. Sort criteria: Most popular
    156. 157. Default view: backlinks </li></ul>
    157. 158. EXPOSED FILTERS
    158. 159. Exposed filters <ul><li>Filters wijzigen via code
    159. 160. Checkboxen gebruiken (views checkboxes module/content taxonomy)
    160. 161. Hierarchical select </li></ul>
    161. 162. VIEWS ARGUMENTEN
    162. 163. User argument <ul><li>“ Mijn inhoud” </li><ul><li>Gebruiker: uid
    163. 164. Provide default argument: uid from url
    164. 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. </li></ul></ul>
    165. 166. Node argument <ul><li>Blok met veld dat behoort bij deze pagina </li><ul><li>Bij inhoudstype: display settings: exclude dit veld
    166. 167. Node:nid
    167. 168. Provide default argument: nid from url </li></ul><li>Blok met Meer nieuws </li><ul><li>Node:nid, provide default argument: nid from url, exclude the argument
    168. 169. Zorgen dat pagina zelf niet in de lijst van meer staat => exclude </li></ul></ul>
    169. 170. TAXONOMIE & CATEGORISEREN VIA NODEREFERENCE
    170. 171. Taxonomie views <ul><li>Via taxonomie module indelen in woordenschatten en termen </li><ul><li>Hierarchie
    171. 172. Free tagging
    172. 173. Multiple </li></ul><li>2 manieren voor de view </li><ul><li>Veld All Terms: werkt best, geen filter
    173. 174. Veld Term: indien filter nodig of argument </li></ul></ul>
    174. 175. Views met taxonomie <ul><li>Voordelen </li><ul><li>Mogelijkheid om hierarchie weer te geven via Relationship: parent term
    175. 176. Auto aanvullen in exposed filters maar nu ook http://drupal.org/project/autocomplete_widgets </li></ul><li>Nadelen </li><ul><li>Sorteren volgens taxonomie werkt niet: kan niet sorteren volgens alfabet of numeric, wel volgens taxonomie gewicht maar daar bug, random sort ook bug
    176. 177. Soms duplicate results (door koppeling van node en term tabellen)
    177. 178. Alternatieven met CCK select kun je perfect sorteren </li></ul></ul>
    178. 179. Taxonomie view <ul><li>Oefening </li><ul><li>Taxonomie selecteren via exposed filter
    179. 180. Taxonomie via Argument </li></ul></ul>
    180. 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;
    181. 182. Nodereference <ul><li>Steeds meer gebruikt als alternatief voor taxonomie </li><ul><li>Gerelateerde content
    182. 183. Relatie kan beperkt worden via een view </li></ul><li>Voordeel: </li><ul><li>CCK
    183. 184. Is gekoppeld aan een eigenlijke pagina ipv aan een woord/term </li></ul></ul>
    184. 185. Nodereference view Gewone nodereference <ul><ul><li>Ct Pagina heeft nodereference naar gerelateerde pagina
    185. 186. View in blok van </li></ul></ul><ul><ul><ul><li>Field: Nodereference field
    186. 187. Argument: Node:nid,Default argument: Nid from url
    187. 188. Exclude/hide van Nodereference field in het inhoudstype pagina </li></ul></ul></ul>Andere toepassing: Blogroll: links bij bloghoofdpagina in zijkolom Opmerking: kan ook via theming
    188. 189. Reverse nodereference <ul><li>Reverse nodereference </li></ul><ul><ul><li>Ct Nieuws heeft nodereference naar (overzichts)pagina
    189. 190. Titel: nieuws bij pagina
    190. 191. Filters:N:Nieuws
    191. 192. Fields:Titel
    192. 193. Relationship:Inhoud:Noderef field, require
    193. 194. Argument:Node:Nid, relationship noderef field,provide default nid from url
    194. 195. Opm: Vergelijk met taxonomie
    195. 196. Vb: artikels bij magazine (inhoudstafel), ... </li></ul></ul>
    196. 197. Views Alpha Pager <ul><li>Glossary View
    197. 198. http://tedserbinski.com/tags/drupal/creating-alpha-pager-with-views-2-and-drupal-6 </li></ul>
    198. 199. DATUM VIEWS
    199. 200. Events in Drupal <ul>Date/Calendar <ul><li>De date module voorziet het datumveld
    200. 201. Met het datumveld kunnen lijsten worden getrokken in views en sorts, … gedaan
    201. 202. De calendar module is nodig als je een kalenderblok of pagina wenst </li></ul></ul>
    202. 203. Datum views <ul><li>Toevoegen van extra datum format op admin/settings/date-time/formats: wijzigen short in 14/10
    203. 204. Ical: importeren, exporteren Google calendar
    204. 205. Legend: verschillende kleuren ct
    205. 206. Date range
    206. 207. Calendar views </li></ul>
    207. 208. Date range <ul><li>Zaken van komende twee weken </li><ul><li>Tussen vandaag en +14d </li></ul><li>Items die nog niet vervallen zijn </li><ul><li>Einddatum > now </li></ul><li>Werken met publicatie </li></ul><ul><ul><li>http://drupal.org/project/scheduler
    208. 209. Rules </li></ul></ul>
    209. 210. Calendar module <ul><li>Weergave als een </li><ul><li>Kalenderblok
    210. 211. Volledige kalender </li></ul></ul>
    211. 212. Events <ul><li>Webform: eenvoudig niet gekoppeld </li></ul><ul><ul><li>http://drupal.org/project/webform
    212. 213. Versie 3 heeft gedeeltelijke views integratie </li></ul></ul><ul><li>Signup module + theme </li></ul><ul><ul><li>Theme in template.php </li></ul></ul>
    213. 214. Andere datum views <ul><li>Publicaties
    214. 215. Gebruikers volgens geboortedatum </li></ul>
    215. 216. PANELS
    216. 217. Panels: doel en historiek <ul><li>Panels = layoutbuilder in Drupal
    217. 218. Earl Miles (Views)
    218. 219. Sony www.myplay.com
    219. 220. Versies 1,2,3
    220. 221. Toekomst: Drupal 8 misschien een eenvoudige panels achtige interface voor toevoegen van content in Drupal core
    221. 222. Documentatie: http://drupal.org/node/496278 </li></ul>
    222. 223. Panels: voordelen <ul><li>Point en click Drupal theming zonder html en php, templates opstellen via de interface
    223. 224. Slechts 1 soort inhoudsobject: panel waarin blokken, menus, views, velden, ... kunnen weergegeven worden => alles eenvormig op dezelfde manier behandelen
    224. 225. Complexe pagina layouts mogelijk zonder voorkennis van html/css
    225. 226. Flexibeler layouts: vb zelfde blok in verschillende regios, ...
    226. 227. Makkelijker en sneller wijzigingen aanbrengen aan templates
    227. 228. Ctools: vastleggen van layouts in exportables en features => exporteerbaar dus hergebruikbaar en opgenomen in svn/git revisiesysteem.
    228. 229. Varianten: andere soorten layouts volgens context, vb ingelogde klanten/leden, mobiele website
    229. 230. Integreert heel goed met views </li></ul>
    230. 231. Panels: nadelen <ul><li>Performance: is heel grote module, wel goede caching opties
    231. 232. Kan complex zijn: is systeem op zich met leercurve en heel veel checkboxen
    232. 233. Werkt behoorlijk anders dan “the Drupal way” => bloksysteem en regios uitschakelen (vinkje)
    233. 234. Alles of niets: als je panels gebruikt het voor alles gebruiken
    234. 235. Moeilijker te debuggen
    235. 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)
    236. 237. Overladen html tenzij je eigen custom templates opstelt </li></ul>
    237. 238. Submodules en extra <ul><li>Page Manager (bij ctools): page layouts (beetje zoals page.tpl.php)
    238. 239. Mini panels: blok layouts
    239. 240. Panel nodes: node layouts
    240. 241. Views content panes: views in panels </li></ul><ul><li>Panels Everywhere </li></ul>
    241. 242. Layouts <ul><li>Standaardlayouts
    242. 243. Bepaalde themes definiëren extra layouts zoals Adaptive Theme (AT) in d6
    243. 244. http://drupal.org/project/panels_extra_layouts : extra layouts:
    244. 245. Best: eigen html templates voor layout </li><ul><li>Advanced help module: help/panels/plugins-layout
    245. 246. tpl.php, css, inc en png
    246. 247. Meer docs: http://drupal.org/node/495654 </li></ul></ul>
    247. 248. Variants <ul><li>Andere layout voor zelfde pagina bij andere voorwaarden </li><ul><li>Volgens content type: basic page er anders laten uitzien dan artikels
    248. 249. Volgens toegangsrol: admin, ingelogden, leden/klanten zien iets anders
    249. 250. Volgens taal
    250. 251. Volgens trefwoord, ...
    251. 252. Mobile themes dank zij integratie met de http://drupal.org/project/mobile_tools module </li></ul></ul>
    252. 253. Contexts <ul><li>Arguments </li><ul><li>/taxonomy/term/%term
    253. 254. /forum/%forum
    254. 255. /music/beatles/th </li></ul><li>Andere contexts </li><ul><li>Node auteur
    255. 256. Node reference </li></ul></ul>
    256. 257. DISPLAY SUITE
    257. 258. Filosofie achter Display Suite <ul><li>Centraal beheer van layout van website inhoud
    258. 259. Template bestanden overbodig maken
    259. 260. Focus op gebruiksvriendelijkheid
    260. 261. Gebruik van PHP beperken = betere veiligheid </li></ul>
    261. 262. Layout beheer met Drupal core <ul><li>Mix van template bestanden en Field UI
    262. 263. Nadelen: </li><ul><li>Template bestanden zijn niet onderhoudbaar
    263. 264. Field UI is beperkt: </li><ul><li>Geen UI om extra velden toe te voegen (vb. titel, auteur)
    264. 265. Geen UI om extra View Modes toe te voegen
    265. 266. Inconsistent: 'Search result' View Mode
    266. 267. Geen gebruik van voorgedefinieerde layouts </li></ul></ul></ul>
    267. 268. Layout beheer met DS <ul><li>Bouwt verder op Field UI </li><ul><li>Nieuwe View Modes aanmaken
    268. 269. Voorgedefinieerde layouts aanmaken
    269. 270. Eigen velden toevoegen </li></ul><li>Integratie met Views en Panels
    270. 271. Werkt op elke Drupal Entity (Node, gebruiker etc)
    271. 272. Consistente HTML output
    272. 273. Oefening 1: DS aanzetten en Node en Teaser layout wijzigen </li></ul>
    273. 274. DS layouts <ul><li>Standaard: 11 layouts + Panel layouts
    274. 275. Eigen layout in theme: </li><ul><li>ds_layouts folder aanmaken
    275. 276. ***.inc en ***.tpl.php bestanden verplicht
    276. 277. ***.css optioneel
    277. 278. Voorbeeld: ds.api.php lijn 356.
    278. 279. Oefening 2: Eigen layout met 3 rijen in theme toevoegen </li></ul></ul>
    279. 280. Extras module <ul><li>Field templates
    280. 281. Contextual links
    281. 282. Regions to block
    282. 283. Page title options
    283. 284. Views Displays
    284. 285. En veel meer! </li></ul>
    285. 286. ZOEKEN advanced
    286. 287. Geavanceerd zoeken <ul><li>http://drupal.org/project/apachesolr
    287. 288. Views3 + solr
    288. 289. Gewone views search combinatie
    289. 290. Display suite kan zoekresultaten opmaken </li></ul>
    290. 291. Search API <ul><li>Nieuwe module voor D7 die op een heel flexibele manier zoekresultaten kan weergeven </li><ul><li>Pluggable backends: database, Solr, …
    291. 292. Weergave via views (dus afbeeldingen en layout in zoekresultaten eenvoudig)
    292. 293. Makkelijk meerdere zoekomgevingen op een site
    293. 294. Wordt momenteel heel actief ontwikkeld </li></ul></ul>
    294. 295. MEDIA: foto video
    295. 296. Fotogallerij <ul><li>Basisidee: </li><ul><li>Met views kun je lijsten trekken van foto's.
    296. 297. De foto's kunnen worden opgemaakt via css of via een grid view of extra style plugin weergegeven </li></ul><li>CSS </li></ul><ul><ul><li>#viewsgallerij img {
    297. 298. float:left;
    298. 299. margin:0 10px 10px 0;
    299. 300. } </li></ul></ul>
    300. 301. Fotogallerij: effecten <ul><li>Van een lijst van foto's maak je een mooie gallerij via één van de http://plugins.jquery.com </li></ul><ul><li>Gebruik specifieke style plugins </li></ul><ul><ul><li>http://drupal.org/project/views_cycle
    301. 302. http://drupal.org/project/views_rotator
    302. 303. http://drupal.org/project/views_slideshow
    303. 304. http://drupal.org/project/viewscarousel
    304. 305. http://drupal.org/project/views_galleria </li></ul></ul>
    305. 306. Uitgebreidere fotogalerij <ul><li>http://www.lullabot.com/articles/photo-galleries-views-attach </li><ul><li>Mooi uitgewerkte fotogalerij met indeling in albums
    306. 307. Werkt met views attach en nodereference modules
    307. 308. Beetje complexe setup </li></ul><li>Alternatieve verpakkingen van de setup </li><ul><li>Via http://drupal.org/project/features
    308. 309. Als module http://drupal.org/project/views_gallery </li></ul></ul>
    309. 310. Video Video op de eigen server <ul><li>Filefield: http://www.drupaltherapy.com/filefield
    310. 311. Streaming video via RTMP en custom cck veld
    311. 312. Emfield: Embedded media field </li><ul><li>Video Upload module: direct vanuit de site naar Youtube opladen
    312. 313. Voor betere kwaliteit gebruik Vimeo of Blip.tv
    313. 314. Veel veiliger dan embed en object tags toe te laten in filtered html </li></ul></ul>
    314. 315. Embedded media field <ul><li>Embedded media field: </li><ul><li>http://drupal.org/project/emfield
    315. 316. Embedded media en embedded video field aanleggen
    316. 317. Inhoudstype maken met 1 emfield, display settings op full size video </li></ul></ul><ul><li>Video view </li></ul><ul><ul><li>Overzicht van video's
    317. 318. Doorzoekbaar per trefwoord via exposed filter
    318. 319. Groeperen per cck veld </li></ul></ul>
    319. 320. Views import en export
    320. 321. Feeds module <ul><li>www.drupal.org/project/feeds </li><ul><li>Aggregator van rss feeds maar ook csv, xml, ical, … en kan er nodes of data elementen van maken
    321. 322. Opvolger van de feedapi module
    322. 323. node/add/feed </li></ul><li>Youtube feeds: http://www.youtube.com/rssls
    323. 324. Feeds </li><ul><li>http://drupal.org/project/feeds_imagegrabber </li></ul><li>Cron moet werken! </li></ul>
    324. 325. Views export csv of xls http://drupal.org/project/views_data_export <ul><li>Feed display toevoegen
    325. 326. Style op csv zetten
    326. 327. Pad geven
    327. 328. Xls module </li></ul>Voordeel tov views_bonus: batch api
    328. 329. THEMING HULP MODULES
    329. 330. Devel module http://drupal.org/project/devel <ul><li>Dpr(): drupal print array
    330. 331. Dpm(): drupal print message </li></ul>
    331. 332. Theme developer http://drupal.org/project/devel_themer
    332. 333. Drupal for firebug http://drupal.org/project/drupalforfirebug
    333. 334. Fields EN VIEWS THEMING
    334. 335. Intercept & override <ul><li>Basisprincipe: core niet hacken
    335. 336. Niet akkoord met de html en css? </li></ul><ul><ul><li>Css: css door core gedefinieerd overriden in style.css of andere .css bestanden (via .info)‏
    336. 337. Html: </li></ul></ul><ul><ul><ul><li>Template files: in theme map van de module
    337. 338. theme overrides: html die wordt gegenereerd door de modules theme_... functies </li></ul></ul></ul>
    338. 339. Theme overrides
    339. 340. Theme functies overriden <ul><li>Overriden in template.php </li></ul><ul><ul><li>Phptemplate_...: voor alle themes
    340. 341. Mytheme_...: voor mytheme (veiliger)‏ </li></ul></ul>
    341. 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 <ul><ul><li>In een .module file: zoeken naar theme_... </li></ul></ul>
    342. 343. Nieuwe tpl.php bestanden <ul><li>Naast comment en box sinds Drupal 6: in mapje van core en andere modules
    343. 344. Override = Kopiëren naar theme map + aanpassen
    344. 345. Via Theme Developer (Devel)‏ </li></ul>
    345. 346. Node en User Object Node object <?php print_r($node); ?> <?php var_export($node); ?> <?php var_dump($node); ?> Veiligheid: <ul><li>check_url($front_page);
    346. 347. check_plain($node->body);
    347. 348. check_markup($node->body); </li></ul>User object <?php print_r($user); ?> <?php var_export($user); ?> <?php var_dump($user); ?> Veiligheid <ul><li>check_url($user -> ...);
    348. 349. check_plain($user -> name); </li></ul>
    349. 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); } ?>
    350. 351. FIELDS THEMING
    351. 352. Theming fields Individuele velden kunnen gethemed worden via field.tpl.php <ul><li>field.tpl.php
    352. 353. field--field-type.tpl.php
    353. 354. field--field-name.tpl.php
    354. 355. field--content-type.tpl.php
    355. 356. field--field-name--content-type.tpl.php </li></ul>
    356. 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'));
    357. 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
    358. 359. VIEWS THEMING
    359. 360. Field display settings Vanuit de interface <ul><li>Fields en labels wrappen in h2, class, … zit in Views 3 standaard in de module
    360. 361. Indien je meer wenst </li><ul><li>http://drupal.org/project/semanticviews
    361. 362. http://drupal.org/project/semantic_fields </li></ul></ul>
    362. 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
    363. 364. Views templates <ul><li>Basistemplates in de views module folder
    364. 365. Theme Information link in de view zelf geeft suggesties voor files specifiek voor deze view </li></ul><ul><ul><li>node-view-nodequeue_1.tpl.php
    365. 366. node-view-front_most_recent_conference.tpl.php </li></ul></ul><ul><li>Theme developer via Devel module: bekijken suggesties live
    366. 367. Er zijn ook theme_ functies beschikbaar voor views, maar handiger via tpl.php
    367. 368. Preprocess functies voor wijzigen variabelen </li></ul>
    368. 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
    369. 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.
    370. 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.
    371. 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
    372. 373. THEMING FIELDS
    373. 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 <ul><li>content-field-[FIELD_NAME].tpl.php
    374. 375. content-field-[CONTENT_TYPE].tpl.php
    375. 376. content-field-[FIELD_NAME]-[CONTENT_TYPE].tpl.php </li></ul>Opgelet steeds ook een gewone content-field.tpl.php plaatsen!!
    376. 377. Views embedden
    377. 378. Views embedden met module <ul><li>http://drupal.org/project/viewfield
    378. 379. http://drupal.org/project/insert_view </li></ul>
    379. 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'); ?>
    380. 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; ?>
    381. 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']; ?>
    382. 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
    383. 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; ?>
    384. 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'; } }
    385. 386. Opvragen current view <?php $view = views_get_current_view(); print_r($view); $current_view_name = $view->name; $current_view_display = $view->current_display; ?>
    386. 387. Homepage theming <ul><li>(via wysiwyg of eigen content type)
    387. 388. Standaard Drupal met blokken en extra regions
    388. 389. Met is_front() variabele
    389. 390. Als page-front.tpl.php: views embedden
    390. 391. Via http://drupal.org/project/panels
    391. 392. Via www.drupal.org/project/ds </li></ul>
    392. 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
    393. 394. GOOGLE MAPS
    394. 395. Google maps views <ul><li>Google maps: Latitude + Longitude
    395. 396. Geocoding (http://en.wikipedia.org/wiki/Geocoding) </li><ul><li>Google
    396. 397. Yahoo
    397. 398. Openstreetmap </li></ul></ul><ul><ul><li>http://www.geonames.org </li></ul></ul>
    398. 399. Eenvoudigste view <ul><li>Google maps static maps api </li><ul><li>http://code.google.com/apis/maps/index.html
    399. 400. http://code.google.com/apis/maps/documentation/staticmaps/ </li></ul><li>Views: Rewrite the output of this field </li><ul><li><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; /> </li></ul></ul>
    400. 401. Google maps modules <ul><li>Modules </li></ul><ul><ul><li>Gmap/Location: grootste logge oudste module: geen javascript geocoding
    401. 402. Open layers: http://drupal.org/project/openlayers
    402. 403. Nodemap: klein en eenvoudig, geen D7
    403. 404. Gmaps module: nieuwer, geen D7 </li></ul></ul>
    404. 405. Gmap module <ul><li>http://drupal.org/project/gmap
    405. 406. http://drupal.org/project/location
    406. 407. Oudste en meest gebruikte module
    407. 408. Bij inhoudstype location settings definieren
    408. 409. Latitude en longitude velden toevoegen in view </li></ul>
    409. 410. Openlayers <ul><li>Integreert met diverse maplagen: Openstreetmap, Google maps </li></ul>
    410. 411. Nodemap <ul><li>http://drupal.org/project/nodemap
    411. 412. Eenvoudige interface
    412. 413. Ondersteuning Yahoo en Google
    413. 414. Slechts 1 marker op de kaart </li></ul>
    414. 415. Gmaps module <ul><li>View </li><ul><li>Type: gmaps map, preset style earth
    415. 416. Row style: Map fields marker
    416. 417. Fields </li><ul><li>Content anp locatie
    417. 418. Marker option: locatie point
    418. 419. Marker option: icon options </li></ul></ul></ul>
    419. 420. NIEUWSBRIEVEN & e-mail integratie
    420. 421. Mail interactie <ul><li>Simplenews
    421. 422. Subscriptions of Notify of Watcher
    422. 423. Actions & Workflow/Rules & Views Bulk operations
    423. 424. Messenger & Notifications framework
    424. 425. Webform
    425. 426. Mailhandler </li></ul>
    426. 427. Nieuwsbrieven <ul><li>3 voornaamste mogelijkheden </li><ul><li>Simplenews: eenvoudig en goedkoop, geen bounce handling, beperkte statistieken, problemen met server gemarkeerd als spamserver
    427. 428. Campaignmonitor of Mailchimp integratie: full bounce handling, statistieken, whitelisting, betalend maar Mailchimp tot 1000 abonnees gratis!
    428. 429. Civimail (onderdeel van Civicrm): mailings, bounce handling, goed systeem </li></ul></ul>
    429. 430. Nieuwsbrief theming <ul><li>http://www.campaignmonitor.com/css/
    430. 431. http://drupal.org/node/268404
    431. 432. Probleem: css moet inline voor webclients (gmail, yahoo, hotmail) </li><ul><li>Views templates maken voor onderdelen </li></ul></ul><ul><ul><li>Automatisch: Emogrifier (htmlmail), Mime Mail CSS Compressor (mimemail)
    432. 433. Display suite </li></ul></ul>
    433. 434. Nieuwsbrief theme Via Themekey module: als ct nieuwsbrief of view nieuwsbrief => Nieuwsbrief theme gebruiken <ul><li>Nieuwsbrief theme </li><ul><li>Geen html5 en andere moderne zaken, terug naar de nineties!
    434. 435. Sterk vereenvoudigde html.tpl.php: geen css en js printen
    435. 436. Sterk vereenvoudigde page.tpl.php: enkel tabel </li></ul></ul>
    436. 437. Nieuwsbrief theme <ul><li>Views: <?php print views_embed_view('nieuwsbrief_items','default'); ?>
    437. 438. Reference field: <?php print render($content['field_nb_architectuurnieuws']); ?>
    438. 439. Veld: <?php print check_url($node->field_nb_subfoto1_linkt['und'][0]['url']); ?> </li></ul>
    439. 440. Aanpak 2: via views <ul><li>Nodequeue: Toevoegen aan nieuwsbrief
    440. 441. View: Nieuwsbrief op /nieuwsbrief
    441. 442. Nieuwsbrief = page - - nieuwsbrief.tpl.php </li><ul><li>Views_embed_view('eersteview');
    442. 443. views_embed_view('tweedeview'); </li></ul><li>Nadeel: geen inleiding, archief via Mailchimp </li></ul>
    443. 444. Aanpak: Eigen inhoudstype <ul><li>CT Nieuwsbrief </li><ul><li>Met velden voor foto's, tekst, links
    444. 445. Reference fields voor lijsten </li></ul></ul>
    445. 446. Simplenews theming <ul><li>simplenews-newsletter-body--1126.tpl.php
    446. 447. simplenews-newsletter-footer--1126.tpl.php </li></ul>
    447. 448. FEATURES
    448. 449. Configuration management <ul><li>Drupal werkt aan het probleem dat veel configuratie in de database zit en dit beter in code zou zitten.
    449. 450. http://london2011.drupal.org/conference/sessions/content-staging-and-deployments-drupal-7
    450. 451. http://buytaert.net/configuration-management-in-drupal-8
    451. 452. http://groups.drupal.org/node/134569 </li></ul>
    452. 453. Features <ul><li>http://drupal.org/project/features
    453. 454. Twee toepassingen </li><ul><li>Combineren van inhoudstypes, views, … tot een feature = via de interface gemaakte module die je op andere installaties kan gebruiken
    454. 455. Zoveel mogelijk van de Drupal settings overbrengen naar code zodat ze kunnen opgenomen worden in een versiecontrolesysteem (git, svn, ...) </li></ul></ul>
    455. 456. Strongarm <ul><li>http://drupal.org/project/strongarm
    456. 457. Slaat de Drupal variabelen op in code zodat ze kunnen in een versiecontrolesysteem opgenomen worden </li></ul>
    457. 458. EXTRA CCK
    458. 459. Fieldgroups <ul><li>Indelen in groepen
    459. 460. Met tabs: via cck fieldgroup tabs, vergelijk deze tabs met quicktabs </li></ul>
    460. 461. Content Copy <ul><li>Exporteren en importeren van cck inhoudstypes </li></ul>
    461. 462. UITBREIDINGSTOEPASSINGEN
    462. 463. Import export <ul><li>Table wizard & Migrate
    463. 464. Feeds (of feedapi)
    464. 465. Node import
    465. 466. User import
    466. 467. Views exporteren via bonus pack (zie eerder) </li></ul>
    467. 468. Default views <ul><li>Voorbeelden </li><ul><li>Archive
    468. 469. Glossary
    469. 470. Tracker </li></ul><li>Mogelijkheid om default views te definieren in een module </li></ul><ul><ul><li>http://views-help.doc.logrus.com/help/views/api-default-views </li></ul></ul>
    470. 471. Default views module <ul><li>Voordeel: svn/git + doorgeven
    471. 472. Wat zit in export bekijken
    472. 473. T functie toevoegen
    473. 474. Eenvoudige module </li></ul>
    474. 475. PERMISSIES
    475. 476. Content Permissions <ul><li>Field Permissions
    476. 477. Content access
    477. 478. Taxonomy access (forum)
    478. 479. Private </li></ul><ul><li>Views permissions
    479. 480. OG </li></ul><ul><li>Gebruik Masquerade voor testen </li></ul>
    480. 481. Views permissies <ul><li>Permissies instellen
    481. 482. Merk op </li></ul><ul><ul><li>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. </li></ul></ul>
    482. 483. Organische groepen <ul><li>Basisviews </li><ul><li>Beinvloeden, specifieke argumenten </li></ul><li>Organisatie organische groepen </li><ul><li>Permissies
    483. 484. Notifications en messaging framework </li></ul></ul>
    484. 485. UITBREIDING EN MEER INFO
    485. 486. Interessante cck velden en views plugins <ul><li>Extra velden en plugins
    486. 487. Views: http://drupal.org/project/modules?filters=tid:89&solrsort=sis_project_release_usage%20desc
    487. 488. CCK : http://drupal.org/project/modules?filters=tid:57&solrsort=sis_project_release_usage%20desc </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×