User login

How to

Information on how to do something... anything.

Show main menu links in the admin menu

<?php
/**
* Alter the admin menu to show main menu links there also (for admin pages).
*/
function example_admin_menu_output_alter(&$content) {
 
// Retrieve the Main menu link tree.
 
$tree = menu_build_tree('main-menu');
 
$links = admin_menu_links_menu($tree);
  if (!empty(
$links)) {
   
// Fake out a top-level main menu link.
   
$links['#title'] = t('Main menu');
   
$links['#href'] = '<front>';
   
$links['#options'] = array(
     
'alias' => true,
    );
   
$links['#weight'] = 100;
   
debug($links);
   
$content['menu']['main_menu'] = $links;
  }
}
?>

Undo Drupal's over-aggressive shortening of user names

And use a real ellipses!

Drupal's theme_username() is used many places within Drupal, and shortens any name over 20 characters, which can be a lot if you encourage people to use full names. This can be undone with a preprocess function in your module or theme, just replace EXAMPLE with your module or theme name.

Maintaining a Drupal project with Git: Vacating the master branch

If you've already been committing code to master, do this to start a new 7.x branch and kill off the code in the master branch so noone gets confused.

cd /path/to/repo
git checkout -b 7.x-1.x

git push origin 7.x-1.x

git checkout master
git rm -r *
echo "Real code is not kept on the master branch, to see the code: git checkout 7.x-1.x" > README.txt
git add README.txt
git commit -m "Add a README explaining that the master branch is empty."
git push origin master

Define and Use a JQuery Plugin as a Helper Function for Drupal JavaScript

Here's the basics of defining and using a JQuery plugin within the context of Drupal.

This is definitely not the best and highest use of a plugin, and may in fact be a downright abomination-- this isn't a plugin that really works outside the context of the code it is written for, and certainly not outside Drupal. But it was a clean way to abstract out 42 lines of code, so here it is, for the enjoyment of all.

The first part here is simply how to call JQuery from Drupal, the second part is the plugin.

How to fetch a file at a URL and set it as the default image in an image field

There's two separate cool things here that you might want to do. One, simply know how to save a file from a URL (there's a secret Drupal function for that in system module) and two, how to give an image field a default image when creating it programmatically (that part is outsourced to the fieldhelp module).

Using Views DataSource and Feeds to pull content from one site to another... with multiple images

Disclaimer: This is a should-be-deprecated approach, both Views DataSource and Feeds can be replaced with better options, such as Services or RestWS to Rules and Rules XPath Parser. But this approach basically works now.

On the source site.

Making Views Datasource Output multiple values for an image

drush dl image_url_formatter
drush -y en image_url_formatter

Configure the View to use it for the desired image field ("Image URL" instead of "Image").

/admin/structure/views/view/yourview_xml/edit

Have menu local tasks (view, edit, etc. tabs) show menu item description as tooltip

Most menu items in Drupal 7 show a link tool-tip, or title, but local tasks (the tabs you are most used to seeing as the edit link tab on full node pages sadly do not follow this sensible pattern.

Until Drupal core is fixed so that menu item "description" is applied to title attribute of menu tab links", here is a fix for Drupal 7. Change this to your custom theme's name (replace 'example') and drop into your theme's template.php file:

Return user to current page: How to link to a form from a Drupal menu

Press login / press account links for anonymous and logged in users, respectively. Subtly added to a bottom menu. Via code in order to allow for the redirect back to the page you were on after login or editing.

There is surely a way, or should be a way, that does not involve hook_page_alter(), but hey, this works.

Create vocabulary and taxonomy terms in an installation profile

The first part is provided by the default installation profile:

Settings for sets of sites: Putting Drush configuration into your project repository

Inherit local-only options with 'parent'

Parent is not working across files. Filed support request: http://drupal.org/node/1262230

In an aliases file that lives with your project, so for our SDL project, sdl.aliases.drushrc.php, put in all settings that are true no matter who is using Drush and from where. This is the settings for an externally hosted development collaboration site.

Syndicate content