Drupal 7 module development
-
Upload
adam-kalsey -
Category
Technology
-
view
1.765 -
download
3
description
Transcript of Drupal 7 module development
![Page 2: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/2.jpg)
Who Am I?
![Page 3: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/3.jpg)
Activity Stream
![Page 4: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/4.jpg)
Phone Poll
Vote in polls with SMS or voice
http://www.flickr.com/photos/sanberdoo/510894918/
http://www.flickr.com/photos/comedynose/4584215861/
![Page 5: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/5.jpg)
Luxe
Login User eXperience Enahcements
![Page 6: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/6.jpg)
Passkey
Login integration with external systems
![Page 7: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/7.jpg)
![Page 8: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/8.jpg)
The Basics
http://www.flickr.com/photos/lrosa/2182577107
![Page 9: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/9.jpg)
tropo.info
name = Tropodescription = Voice and SMS Awesomenesscore = 7.x
dependencies[] = views (>2.1)
Mostly the same
![Page 10: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/10.jpg)
/** * Remove block_callback field from {menu_router}. */function system_update_7064() { db_drop_field('menu_router', 'block_callback');}
Documentation that appears in update.php
Update comments
![Page 11: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/11.jpg)
Everything’s an Object
![Page 12: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/12.jpg)
Everything’s an Object
Nodes
![Page 13: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/13.jpg)
Everything’s an Object
Nodes
Users
![Page 14: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/14.jpg)
Everything’s an Object
Nodes
Users
Comments
![Page 15: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/15.jpg)
Everything’s an Object
Nodes
Users
Comments
Files
![Page 16: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/16.jpg)
Everything’s an Object
Nodes
Users
Comments
Files
Taxonomy Terms
![Page 17: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/17.jpg)
Everything has a hook
http://www.flickr.com/photos/versageek
![Page 18: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/18.jpg)
hook_nodeapi($op)
![Page 19: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/19.jpg)
hook_node_load
![Page 20: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/20.jpg)
hook_node_load
hook_user_load
hook_file_load
hook_comment_load
hook_taxonomy_term_load
hook_blah_load
![Page 21: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/21.jpg)
hook_user($op)
![Page 22: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/22.jpg)
hook_user($op)
hook_user_presavehook_user_inserthook_user_loadhook_user_operation
No moreUniversal Business Adaptors
![Page 23: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/23.jpg)
Fields
http://www.flickr.com/photos/mikecattell
![Page 24: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/24.jpg)
<?php $node->body = array( 'und' => array( array( 'value' => 'body here', 'summary' => 'teaser here', 'format' => '1', 'safe_value' => 'sanitized body', 'safe_summary' => 'sanitized teaser', ) ), );?>
![Page 25: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/25.jpg)
![Page 26: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/26.jpg)
<?php// Drupal 6db_query("INSERT INTO {mytable} (intvar, stringvar, floatvar) VALUES (%d, '%s', %f)", 5, 'hello world', 3.14);$id = db_last_insert_id();
// Drupal 7$id = db_insert('mytable') ->fields(array( 'intvar' => 5, 'stringvar' => 'hello world', 'floatvar' => 3.14, )) ->execute();?>
![Page 27: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/27.jpg)
Form API
http://www.flickr.com/photos/teegardin
![Page 28: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/28.jpg)
<?php //Drupal 6 $form[$theme->name]['screenshot'] = array('#value' => $screenshot);
//Drupal 7 $form[$theme->name]['screenshot'] = array('#markup' => $screenshot);?>
![Page 29: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/29.jpg)
my_function($argument, array $options);
Function signatures
![Page 30: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/30.jpg)
Lots of little function name changes
Set static variables with drupal_static()
Email assumes everything’s html
Block deltas can be arbitrary strings
New API for search tab creation
![Page 31: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/31.jpg)
Lots of little function name changes
Set static variables with drupal_static()
Email assumes everything’s html
Block deltas can be arbitrary strings
New API for search tab creation
http://drupal.org/node/224333
![Page 32: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/32.jpg)
Text
Coder Upgrade module
Automate the grunt work
![Page 33: Drupal 7 module development](https://reader034.fdocuments.in/reader034/viewer/2022051208/54579577af7959795d8b507c/html5/thumbnails/33.jpg)