Skip to main content
Aug
29
2011

Drupal 7 notes: unsetting formatting tips

Following on from hiding unwanted elements in comment forms, I found this tip on one of the many threads in Drupal of people trying to hide the pesky formatting guidelines and came up with:

template.php

<?php function [theme_name]_form_comment_form_alter(&$form, &$form_state, $form_id) { $form['comment_body']['#after_build'][] = 'remove_tips'; } function remove_tips(&$form) { unset($form['und'][0]['format']['guidelines']); unset($form['und'][0]['format']['help']); return $form; } ?>

That gets rid of everything but the fieldset container and for the roles that can use multiple text formats, the select box (the "Text format" label can be easily removed with $form['und'][0]['format']['format']['#title'] = ''; in the comment_form_alter).

Jun
24
2011

Drupal 7 notes: node--[type].tpl.php being ignored

If you change the machine name of a content type, make sure you bump all the nodes that were created under the old machine name.  If that doesn't work or there are too many of them, change them in the database.

In the below example I was trying to theme the "estimate" nodes with node--estimate.tpl.php.  It wasn't working because node 1 in this case still had the original type of "screen".

Node type as viewed by phpmyadmin

Jun
23
2011

Drupal 7 notes: the submit button on the node creation form isn't working!

In template.php:

<?php function [theme-name]_theme($existing, $type, $theme, $path) { return array ( '[content-type]_node_form' = array( 'render element' =>

'form', 'template' => 'node--[content-type]-form', ) ); } ?>

If you keep template files in a subdirectory (eg sites//all/themes/[theme-name]/templates or something to that effect) this may help:

'path' => drupal_get_path('theme', '[theme-name]') . '/subfolder',

After you've put all your fields where you want them in your pretty node--type.tpl.php:

<?php echo render($form['title']); echo render($form['field_[field_name]']); // etc // with whatever formatting around it ?>

At the end put

<?php echo drupal_render_children($form) ?>

That renders all those sneaky little hidden fields Drupal uses to process and validate form stuff. Use css to hide the vertical tabs if you want them hidden.

May
24
2011

Drupal 7 notes: unserialize() and undefined index notices after importing users from a csv

Long title is going to break my pretty layout.

So following on from the task of having to import a csv file of users into Drupal 6, I upgraded that install of Drupal 6 to 7, then exported the users, user roles and role tables into csv files for insertion into the database at work.  Of course I had to test it out on my local to make sure nothing was too broken.

Drupal 7 unserialize() and undefined index errors

Yeh right.

Apr
22
2011

Work, Wannabe and other projects and a dash of unschooling

Firstly, what in the hell is with the life category?!

I've been (very slowly!) importing livejournal entries so I can replace missing photos.  Very minor regret that I didn't bother skimming through my shadowshifter livejournal before I deleted it as I probably had a few progress reports for my various projects kicking around on it, but oh well.

Mar
06
2011

Drupal 7 notes - putting submenus in different places from the parent menu while keeping your active-trail

By default, when you set up a child menu, it appears directly under and slightly indented from the parent item.  Occasionally, there is a need (such as with the kiosk I'm currently working on for the Christmas Island Tourism Association) where you need an active-trail but the menus need to be in different regions.

Rather trying to do everything with blocks in regions I found it easier to dump code in templates.

<?php
      $main = menu_navigation_links('main-menu', '0');
      echo theme('links__system_main_menu', array(
        'links' => $main,
        'attributes' => array(
          'id' => 'main-menu',
          'class' => array('links')
        ),
      ));
  ?>

Feb
11
2011

Drupal 7 notes - Hiding unwanted form elements in comment forms

Just so I don't drive myself completely insane again.

It's a fairly standard theming problem, you have your Drupal comment form rendering thusly:

Drupal comment form (in WANLN theme)

Your site is set to not allow posting by anonymous users, rendering the "Your name" field superfluous and you think the subject line looks ugly, is unnecessary or you just don't want users giving their comments subjects for whatever reason.

In Drupal 6, you do it like this.  In Drupal 7, it's easier but harder to find.  They're in the docs, but the docs are a bit of a mess still.

Jan
12
2011

Drupal 7 notes - dealing with "ghost fields"

Came across a problem someone else on Drupal dubbed "ghost field" in one of the issue queues.  My issue with ghost fields came about while setting up Profile2 to use in my profile (strangely), but the problem happens in other modules as well.

The problem

  1. create a profile type (or modify the main one)
  2. add a field
  3. delete the field (I don't recall seeing any difference between saving data in the field or not)
  4. try to add a new field with the same name, get an error saying the field name is already in use, but it doesn't appear in the "Add existing field" list

The solution

Oct
12
2010

How in the hell do you alter forms?

In Drupal 6 you could do it with hook_form_alter()s in template.php or a helpful little module called Node and Comments Form Settings.  With 7...I have no idea, but apparently not quite the way I've done it before. 

Oct
09
2010

Beta!

I survived the alpha iterations! Learned a bit but didn't end up helping much (or at all really) aside from something like a bug report and confirming a UX issue.  So now we're sitting on beta1 and I feel slightly more confident putting stuff here as from memory the betas are upgradeable.  Alphas are not.