Gives a high-level overview of the field configuration page and defines the field types, widget and display formatters. Also adds a simple text field as an example of extending an existing content type.
Let’s talk about taking your image uploads and turning them into unique shapes with fabulous effects using the ImageCache Actions module.
We already know that being able to set a standard for image display creates consistency and a better user experience. Drupal comes with the ability to do basic image manipulation like resizing them. By downloading and enabling another module, ImageCache Actions, we can do fancy things to those images, making your display truly customized.
I am assuming that you already know how to create Image Style presets.
For this tutorial, you need to make sure the Image module that comes with Drupal Core and you also need to download and enable the ImageCache Actions module. This can be found at drupal.org/project/imagecache_actions.
Goes through the process of creating a view of something other than content. In this case it's a view of users, and this chapter talks about other types of views of entities that are possible from different base tables.
This video series will continue the Job Board example from the Fields for Site Builders series where we will discover ways to display all of the job postings, allow people to find the one they are looking for and easily apply for it.
This screencast shows how you can use Rules to alter the presentation of your Drupal site, such as:
- Enabling, disabling and moving blocks around
- Setting HTML title element and also on-page titles
- Setting body classes
- Setting the active menu item (using Menu Position)
Some bigger questions about using Rules for altering presentation is also discussed:
- Using Rules for presentation altering is relatively heavy. (It consumes about 2.5 MB more PHP memory than Context, and has about the same loading times – judging from a first, rough comparison.)
- Using Rules for presentation altering gives a more complex UI than the interface use for modules made for more particular use cases.
- It is possible for modules to provide alternative user interfaces to Rules.
- Rules allows reusing actions in many different situations, between different modules.
- Rules (and Entity API) provides generalized data handling.
Additional resources
Rules guide (Drupal.org)
More Rules Link
FreeThis screencast shows some more settings in the Rules Link module:
- How to use the visibility conditions in Rules Link.
- That the entity the link is attached to is always available as a parameter.
- That you can add more variables to the Rules Link by passing them in the URL – and that you need to set up the parameters settings to tell the link how to interpret the data.
- That each link is available as a field in Views.
- That you can add parameters to links displayed in Views.
- That there is a bug preventing links for non-node entities to be displayed in Views.
Additional resources
Rules guide (Drupal.org)
This screencast shows some functionality included in Rules Bonus Pack, as an example of how to make Rules integrate with other modules on your site. In particular it shows some Views and CTools/Page manager integration.
- Condition: Check the number of results from a view.
- Action: Load the sum of a Views column as a number. (Currently only D6!)
- Action: Load the first result in a view into Rules.
- Action: Clone a full node object.
- Action: Convert a number into a date
- Event: Trigger a rule when a custom page is rendered.
- Special: Allow Rules condition components to be used as CTools access plugins.
Additional resources
Rules guide (Drupal.org)
This screencasts presents some of the settings available when configuring a bulk operations view. It covers:
- Controlling access to your VBO, and why that is important.
- Showing actions as buttons rather than a select list.
- The new cool option for selecting all items on all view result pages.
- Turning check boxes into radio buttons.
- Showing or hiding the result of the bulk operations.
- Showing action configuration on the view page.
- How to skip the confirmation page.
- How to give your actions customized labels.
Additional resources
Views Bulk Operations (VBO) guide (Drupal.org)
This screencast introduces the awesome Views Bulk Operations (VBO) module, that can be used to perform actions on objects listed with Views. The screencast covers:
- How to add VBO fields to your views, to allow actions
- That these fields are displayed as check boxes (or possibly radio buttons) in your view
- That each VBO field is tied to one type of data in the view (such as nodes, node revisions or users)
- That some VBO actions have configuration pages
Additional resources
Views Bulk Operations (VBO) guide (Drupal.org)
This screencast shows how to repeat scheduled events – in this case sending repeated reminders to users who have not logged in for a month. The screencast covers:
- How to set up a component for scheduling (as seen before)
- The point of re-using an ID for scheduled tasks, to avoid duplicate reminders
- The trick of finding a good triggering event for scheduling (which is not always easy)
- The trick of having a component schedule itself upon completion, thereby repeating the scheduling
- How to delete scheduled tasks, and why that may be a good idea
Additional resources
Rules guide (Drupal.org)
This screencast shows “how you can use multiple-parameter Rules components in VBO and get the additional parameters as action configuration,” which translates to:
- If you have more than one parameter for a Rules component, you can still use it with VBO.
- Any additional parameters will be displayed as action configuration, meaning that the person executing the VBO gets to choose parameter value.
- Sadly, you can’t access data from the view item being actioned – you’ll have to stick with fixed input values. (If you want to use data from the processed item, you could actually do this inside the Rules component!) This is an issue being worked on.
- If you have complex parameters – such as taxonomy terms instead of just an integer – you can (mostly) use entity ID in the direct input mode.
- You can, by coding, change the form elements used for input. It is probably better to target the Rules data widget than doing a standard form_alter, but both will work.
- You could, for example, use this for changing comment settings on nodes, or adding selected tags to nodes. (Both examples shown in this screencast.) You could also use it for, say, sending customized messages or something. Or cloning existing nodes with changes specified in parameters.
- Bonus: If you add an entry to a multiple-value field in an entity, Rules won’t pick up that the entity has changed – make sure to add a “save entity” action in the rule.
Not mentioned in this screencast but still good to know:
- You can have Rules components without any parameters as well. No sweat.
- You can use Rules components without any parameters matching the View type too. In that case, you’ll have to specify all the parameters manually.
- If you have a component with several parameters matching the view type, the first one will be auto-populated by VBO – the rest you have to set manually.
Additional resources
Rules guide (Drupal.org)
This screencast shows how to start using Rules Scheduler. It does this by mimicking the Comment Closer module – closing the comments on articles two weeks after they are created. The screencast covers:
- Rules Scheduler needs components – you can only schedule prepared components
- Components can be scheduled as actions, for example from reaction rules
- The evaluation time for scheduled tasks is set with strtotime(), which means that you can use highly flexible expressions
- You can also use data selection, combined with offsets if you want to
- Every scheduled task should have a unique task ID, or it will replace existing tasks
- Scheduled tasks are displayed under the Schedule tab on the Rules admin pages
- You can delete tasks manually if you want to
- You can schedule tasks manually, without the need of reaction rules
- It is sometimes useful to execute rule components manually, to see that the scheduled tasks will work as expected
Additional resources
Rules guide (Drupal.org)
It is very time consuming and error prone to repeat "click steps" among multiple sandboxes, development and production in order to get your new image styles to appear. In this video, I will show you how to write code that turns your "custom" image style into a "default" image style so that you can use source control to update all of your site environments.
I am assuming you already know how to create image styles in the administrative interface. Familiarity with basic module development is helpful, but if you follow the techniques and patterns I demonstrate, you will successfully export your image styles into a new custom module.
This chapter explains hook_page_alter(), which is another alter hook new to Drupal 7 and to the theme layer. Each page rendered by Drupal is contained within an array where the theme is able to go in and rearrange, delete or duplicate specific page elements.
Additional resources
This chapter shows some general best practices for keeping your template.php file clean as well as making it easier for designers to work primarily with the template files when possible to avoid them having to make too many changes to template.php. Specifically, some HTML classes are removed from the ninesixtyrobots_comment_form() function in template.php and moved to the comment-form.tpl.php template file, which is specified as an option in the ninesixtyrobots_theme() function. The rendering logic is also removed from the theme function and into a preprocess function so that it can be passed in as a variable to the new template file.
Additional resources
The ability of having alter hooks within the theme layer starts to blur the line between the logic and presentation, and so there are a few things to be aware of when using hook_form_alter() from the theme layer. The biggest thing to know is that the form rendering process has already gone through the creation and validation preparation process at the module layer, and so you shouldn't be drastically changing the functionality of a form at the theme layer. This form alter hook at the theme layer is primarily for aesthetic clean-up, styling and additional design. This chapter gives some specific examples of things to watch out for.
Additional resources
There are four alter hooks that are now available to the theme layer in Drupal 7. This chapter walks through two of those hooks, hook_css_alter() and hook_js_alter(). These hooks allow the theme layer to reorder, delete or replace specific CSS or JavaScript files that are being loaded by Drupal core or other contributed modules.
Additional resources
This lesson goes through the process of creating Theme Settings so that administrators of a theme are able to turn on and off specific features within the the theme, as well as specify other relevant settings.
Note: Twitter has recently shut down their v1 REST API so this lesson's site_slogan adjustment no longer works (it will always return no values because there is no API data found). The core concepts of how to create theme settings are still correct, you just won't be able to see the output from Twitter.
Additional resources
This chapter goes through the process of adding a specific form id to the theme registry with the hook_theme() function, which allows the creation of a new function that targets a specific form. Specifically in this chapter, comment_form is added to the theme registry so that we can create a ninesixtyrobots_comment_form() function in order to add a column to the comment form so that the name and subject fields are displayed side-by-side.
Additional resources
Provides an overview of what is covered in the Theming Basics series and gives a preview of what is yet to be covered within the Advanced Theming video.
Walks through the process of adding a screenshot to you theme so that it'll show up properly within the theme administration page, following the screenshot directions found on Drupal.org, and using the Skitch screenshot app (you can use whichever screenshot app you like).