Matt Butcher: Drupal 6 JavaScript and jQuery (Pactk, 2009, 340 oldal) (-> Packt (ebook: $27.19, print: $35.19, combo: $40.79), Amazon ($34.58-$39.99))
- Preface
- Chapter 1: Drupal and JavaScript
- Do you speak...?
- PHP
- SQL
- HTML
- CSS
- XML
- JavaScript
- Drupal's architecture
- The Drupal Core
- The Theme Engine
- Modules
- Users, nodes, and blocks
- Users
- Blocks
- Nodes
- Drupal JavaScript development tools
- A good editor
- Firebug
- The Drupal Devel package
- Summary
- Do you speak...?
- Chapter 2: Working with JavaScript in Drupal
- How Drupal handles JavaScript
- Where Drupal JavaScript comes from?
- Project overview: printer-friendly page content
- The printer script
- Drupal coding standards
- Stylistic differences between PHP and JavaScript
- The first lines
- The print() function
- Drupal coding standards
- Creating a theme
- Full themes and subthemes
- Creating a theme: first steps
- Creating a theme directory
- Creating the .info file
- Adding files to the theme
- The CSS file
- Adding JavaScript to a theme
- Overriding a template
- Adding the script file
- Summary
- How Drupal handles JavaScript
- Chapter 3: jQuery: Do More with Drupal
- jQuery: the write less, do more library
- A first jQuery script
- Getting jQuery
- Starting with a basic HTML document
- Querying with jQuery (and the Firebug console)
- Bye bye, jQuery(); hello $()
- Doing more with jQuery
- A first jQuery script
- Using jQuery in Drupal
- Don't do it yourself!
- Project: rotating sticky node teasers
- The StickyRotate functions
- The init() function
- The periodicRefresh() function
- Adding an event handler with jQuery
- The StickyRotate functions
- A brief look backward
- Summary
- jQuery: the write less, do more library
- Chapter 4: Drupal Behaviors
- The drupal.js library
- Drupal JavaScript behaviors
- Defining a behavior to handle repeatable events
- Telling Drupal to attach behaviors
- Context and behaviors: bug potential
- Project: collapsing blocks
- Utilities
- Checking capabilities with Drupal.jsEnabled
- The Drupal.checkPlain() function (and the jQuery alternative)
- The Drupal.parseJson() function
- The Drupal.encodeURIComponent() function
- The Drupal.getSelection() function
- Project: a simple text editor
- The main behavior
- Step 1: find text areas that need processing
- Step 2: add event handlers
- Step 3: attach the button bar
- The main behavior
- Summary
- Chapter 5: Lost in Translations
- Translations and drupal.js
- Translation and languages
- Turning on translation support
- Getting and installing translations
- Configuring languages
- Adding the language
- Configuring languages
- Using the translation functions
- The Drupal.t() function
- The Drupal.formatPlural() function
- Adding a translated string
- Project: weekend countdown
- Translating the project's strings
- Changing a translation file
- Summary
- Chapter 6: JavaScript Theming
- Theming in PHP, theming in JavaScript
- The Drupal.theme() function
- Project: menus and blocks
- Adding a block with a menu in it
- Theming a block
- Theming a menu
- The JavaScript theming module
- Theming tables
- Sending notifications to the user
- Adding links
- Project: templates for JavaScript
- The node template
- From a template to a system: what next?
- A template system
- Theming with templates
- Using the template system
- A word of warning
- Summary
- Chapter 7: AJAX and Drupal Web Services
- AJAX, JSON, XHR, AHAH, and Web 2.0
- Web application and Web 2.0
- The position of AJAX in Web 2.0
- Getting technical
- Move over, XML
- Web application and Web 2.0
- Project: web clips with RSS and AJAX
- Really Simple Syndication (RSS)
- The project goals
- Creating the web clips tool
- The WebClips behavior
- The WebClips.showItem() function
- Project: real-time comment notifications
- Displaying comments as notifications
- Installing Views and Views Datasource
- Creating a JSON view
- The comment watcher
- The comment watcher behavior
- The CommentWatcher.check() function
- Theming the comment notification
- Managing cookies
- Summary
- AJAX, JSON, XHR, AHAH, and Web 2.0
- Chapter 8: Building a Module
- How modules work
- The module structure
- The directory
- The .info file
- The .module file
- Where do modules go?
- The module structure
- Project: creating a JavaScript loader module
- Creating the module directory
- A JavaScript sample
- The module's .info file
- A custom addition
- The .module file
- The jsloader_help() function
- The jsloader_init() function
- Project: the editor revisited
- First step: creating the module
- The CSS file
- The bettereditor.module file
- The bettereditor.js script
- The editor() behavior
- The insertTag() function
- The addTag() theme
- The button() theme function
- The buttonBar() theme function
- A last question
- Summary
- How modules work
- Chapter 9: Integrating and Extending
- Project: autocompletion and search
- The theory
- Our plan
- First step: creating the taxonomy
- The new module
- The search autocomplete JavaScript
- Project: jQuery UI
- What is jQuery UI?
- Getting jQuery UI
- The accordion module
- The .info and .module files
- The accordion JavaScript
- Project: writing a jQuery plug-in
- The plug-in code
- A brief introduction to closures
- The divWrap() function
- The plug-in code
- Summary
- Project: autocompletion and search
- Index