Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now

Building custom menus


From:

Drupal 6 Essential Training

with Tom Geller

Video: Building custom menus

As much as I love Drupal I disagree with its some parts of its design. One of those parts is the default Navigation menu, which makes use of every part of the pig except the squeal. So on my site I replaced with it a custom menu that was shorter and discover just how useful custom menus are in general whether you use them to replace the Navigation menu as I did or for some other purpose. Let us go to my site and take a look at that. One of the things I did was I combine the name of the person logged in with the log out command here. I did this through a PHP code snippet that I got from drupal.org. We will show you how to do that in another part of this series. If we switch back to out original site you will see that the name of the person logged in and log out are in two different places and I thought that took up too much space.
Expand all | Collapse all
  1. 4m 36s
    1. Welcome
      49s
    2. Using the example files
      3m 47s
  2. 28m 50s
    1. Drupal is a CMS
      7m 43s
    2. Choosing Drupal
      5m 31s
    3. Checking Drupal's requirements
      4m 26s
    4. Understanding the inner workings of Drupal
      4m 32s
    5. Meeting the Drupal community
      6m 38s
  3. 11m 26s
    1. Learning key terms in Drupal
      5m 19s
    2. Touring Drupal's interface
      6m 7s
  4. 34m 28s
    1. Installing WAMP and Drupal on Windows
      9m 41s
    2. Installing MAMP
      4m 34s
    3. Setting up the database on a Mac
      2m 1s
    4. Downloading and installing Drupal on a Mac
      6m 32s
    5. Troubleshooting installation problems
      3m 49s
    6. Automating updates with cron
      7m 51s
  5. 25m 34s
    1. Setting up clean URLs
      5m 51s
    2. Backing up your Drupal site
      3m 31s
    3. Restoring your Drupal site from backup
      4m 18s
    4. Wiping your Drupal installation clean
      2m 6s
    5. Updating Drupal
      9m 48s
  6. 15m 35s
    1. Using the Administration menu
      6m 20s
    2. Setting site information
      4m 50s
    3. Setting the theme
      4m 25s
  7. 35m 6s
    1. Understanding security and permissions
      7m 2s
    2. Controlling site access with user management
      3m 39s
    3. Creating users
      7m 57s
    4. Setting user profiles
      9m 40s
    5. Creating contact forms
      6m 48s
  8. 19m 18s
    1. Creating your site's basic info pages
      7m 12s
    2. Understanding page layout
      5m 40s
    3. Creating a flexible layout with blocks
      6m 26s
  9. 15m 34s
    1. Monitoring performance
      4m 51s
    2. Recovering from disasters
      7m 37s
    3. Improving administration skills
      3m 6s
  10. 41m 1s
    1. Understanding nodes
      6m 49s
    2. Creating basic content: Stories and pages
      7m 9s
    3. Enabling other content types
      9m 22s
    4. Adding blogs
      3m 48s
    5. Adding forums
      6m 56s
    6. Adding polls
      6m 57s
  11. 34m 48s
    1. Exploring content categories
      7m 44s
    2. Exchanging content via RSS
      9m 47s
    3. Using input filters
      7m 40s
    4. Managing comments
      9m 37s
  12. 38m 5s
    1. Configuring your theme
      11m 27s
    2. Changing your theme's graphics
      4m 59s
    3. Finding and installing a new theme
      8m 56s
    4. Understanding Cascading Style Sheets (CSS)
      5m 56s
    5. Deciphering CSS files
      6m 47s
  13. 22m 38s
    1. Finding modules
      6m 52s
    2. Unpacking and installing modules
      6m 29s
    3. Configuring modules
      3m 49s
    4. Implementing complex modules
      5m 28s
  14. 32m 10s
    1. Ensuring automated updates with poormanscron
      3m 10s
    2. Defining custom content types with CCK
      12m 53s
    3. Stopping spam using a CAPTCHA
      10m 43s
    4. Using a WYSIWYG text editor
      5m 24s
  15. 22m 18s
    1. Getting around with multilevel menus
      7m 26s
    2. Building custom menus
      5m 42s
    3. Creating easy-to-navigate books
      9m 10s
  16. 20m 18s
    1. Changing page templates with PHP
      8m 15s
    2. Using PHP in content
      5m 20s
    3. Implementing PHP snippets
      6m 43s
  17. 10m 14s
    1. Launching your site
      5m 51s
    2. Joining the Drupal community
      4m 23s
  18. 15s
    1. Goodbye
      15s

please wait ...
Watch the Online Video Course Drupal 6 Essential Training
6h 52m Beginner Aug 25, 2008

Viewers: in countries Watching now:

Drupal is a free, open-source content management system (CMS) for a variety of platforms. It has a robust user community and easy-to-use administration features. Drupal Essential Training covers all the important aspects of installing, configuring, customizing, and maintaining a Drupal-powered website. Instructor Tom Geller explores blogs, discussion forums, member profiles, and other features while demonstrating the steps required to make Drupal perform. He also teaches fundamental concepts and skills along the way, including installation, backups, and updates; security and permissions; flexible page layouts and CSS; menu navigation; and performance monitoring and disaster recovery. He also discusses how to select and install the community-supported modules that further expand Drupal's capabilities, and gives experienced PHP programmers tips on customizing page templates. Example files accompany the course.

Topics include:
  • Understanding the inner workings of Drupal
  • Creating stories, pages, blogs, forums, and polls
  • Managing users and comments
  • Setting and customizing themes
  • Exchanging content via RSS
  • Stopping comment spam with a CAPTCHA
  • Launching a site and joining the Drupal community
Subject:
Web
Software:
Drupal
Author:
Tom Geller

Building custom menus

As much as I love Drupal I disagree with its some parts of its design. One of those parts is the default Navigation menu, which makes use of every part of the pig except the squeal. So on my site I replaced with it a custom menu that was shorter and discover just how useful custom menus are in general whether you use them to replace the Navigation menu as I did or for some other purpose. Let us go to my site and take a look at that. One of the things I did was I combine the name of the person logged in with the log out command here. I did this through a PHP code snippet that I got from drupal.org. We will show you how to do that in another part of this series. If we switch back to out original site you will see that the name of the person logged in and log out are in two different places and I thought that took up too much space.

Let us built a similarly simple Navigation menu for our site. We are just going to have two items in it; blogs and feed aggregator. Of course you can put in what ever items you like. The next thing to do is to figure out what URLs we go to when we go to click on those items. So, let us do it. Click on Blogs and we go to \blog. Remember that because we are going to be using it in minute. Click on Feed aggregator and we go aggregator. Once again we have to remember that. Another way to tell what the links are is to look in some browsers which have information area, for example in Fire Fox when you hover a link at the bottom of the screen down here, it tells you what that link is where you are going to go. I am switching back now to Safari so I can look at my administrative interface.

To add our custom menu we go to Administer and then Menus. From here we go to Add Menu. First, the menu name. This is going to be the machine-readable name of this menu. When you enter a machine- readable name it is best not to have any underscore or spaces because the machine won't understand them. The specific details about what machine-readable is are given underneath the entry field, but we will just keep it simple and call it new Navigation. For the title we will just call it Your menu and will leave the description blank for now. This part at the bottom about the ID for excluding and including this element is actually an advance topic, which we won't be covering in this course. We click on save, good. Now, let us take a look at all of the menus by again going to Administer and Menus. There it is there is our menu. We click on it and now we can start adding items to it.

You remember we wanted to have two things there, the blog and the aggregator. I will add an item and here we enter the path. This is going to be the URL where we go when we click on it. You do not have to put that leading slash so we just put log for the blog and then in the menu link title I am just going go say logs. For description we will enter what we are thinking now. We will have it enabled and we won't have it expanded because I do not want to show that my blog. It is just going to be a simple menu. The parent item tell us where this menu items going to go, since we created it coming from the Your menu choice it decides of course we are going to put it in Your menu, but we could decide at the last minute, oh no, we want to put it in the Navigation menu underneath Site Configuration in which case we will change the pop up menu to there. But we are not going to do that.

Weight controls are how high or low the items appears on the menu and we are just going to click Save because we only have one item here. Good! We have created out first item now we will create our second one, that feed aggregator, we do the same process again add an item. Remember the path we were going to is aggregator and the Menu link title, I do not like Feed Aggregator no one knows what that means, so I am just going to say News, and for description I will say all that fit to feed. Again we will leave that enabled but not expanded same here same here. Leave it as it is and click on Save. And our menu has been created. But where is it, we do not see it anywhere up here. That is because when you create a menu it is created as a block and you have to enable it some where on your page.

Let us do that now we do so by going to Administer and then over to Blocks. You see the Navigation menu is right here, if we scroll down we see that menu that we just created called Your menu is down in a disabled area. We are going to move that up to the left sidebar and Save it. Now, we have both the Admin menu here and Your menu down here at the bottom we do not really need both. So I am going to get rid of the Navigation menu at this point. Go to None and that gets rid of that and then I am going to move Your menu up to the top.

Once again we go to the bottom of the page, Save Blocks, there we now have a very simple menu up here instead of the Navigation menu. I am actually going to change it back. To do so we just reverse the process. Take Your menu, make it None, scroll down to the Navigation menu, make it left sidebar. Save your blocks and then move it around to wherever you wanted, it. It was originally underneath user log in which only shows up by the way when you are not logged in. Scroll to the bottom, Save Blocks and we are back where we began. A lot of what makes the site attractive is having a clear Navigation path and being able to create customize menus makes that goal possible. In designing menus I recommend that you be as spare as possible but be prepared to invest time in figuring out which menus are really important. The best way to do that is with user testing, watch where people actually go the most and make menus so they can go there easily.

Less is more, and to repeat one of my favorite quotes, making it easy is hard.

Find answers to the most frequently asked questions about Drupal 6 Essential Training .


Expand all | Collapse all
please wait ...
Q: While following along to the installation instructions in the “Installing WAMP and Drupal on Windows” chapter in the Drupal Essential Training title, an error occurs when attempting to open the local host page. Nothing appears except for an error reading “WAMPSERVER server offline.” What is causing this?
A: There is a known problem with some versions of WAMP that include a version of PHP (5.3) that some versions of Drupal is not compatible with. See http://tomgeller.com/content/tips-running-drupal-windows-using-wamp#comment-831 for more information.
If that is not causing the issue, reference the tips at http://tomgeller.com/content/tips-running-drupal-windows-using-wamp.
If you don't see the solution at either of those links, try using another AMP stack, such as XAMPP or the Acquia stack installer. See http://tomgeller.com/content/what-hells-wrong-drupal-wamp for discussion about these.
Q: After installing XAMPP and running Drupal for the first time, the Administration menu does not appear. What is the reason for this?
A: There are several possible problems. Here are some likely solutions. (These may also solve problems encountered with other AMP stacks.)
  1. Increase XAMPP's PHP allocation.
  2. Check to make sure all XAMPP's paths are correct and that permissions are correct. If the database information appears, but not Drupal's supporting files, and an included theme is being used, the supporting files will be in the /modules folder.
  3. Another solution is to not use WAMP or XAMPP. One option is to use Acquia's Drupal Stack Installer ("DAMP"), which can be found at http://www.acquia.com/downloads. However, that installs Acquia Drupal, which is a version of "normal" Drupal extended with additional modules. If  only core Drupal is desired, see the instructions at http://acquia.com/blog/kieran/try-drupal-7-alpha-your-laptop-or-desktop. (The instructions are for Drupal 7, but will work for Drupal 6 as well.)
Q: In the "Using the example files" movie, the method of importing information to the database is shown, using the backup in Chapter 10. When attempting to do this, the following error is shown: "No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16." The system is running the latest versions of Apache, PhP and MySQL, on Windows Vista. What could be causing the problem?
A: This is probably caused because your AMP stack allocates too little memory to PHP. 
 
That's especially true if you're using WAMP, which only gives PHP 2MB of memory, when it really needs at least 16MB. 
You'll see the issue if you go to the MySQL-controlling phpMyAdmin screen (probably at http://localhost/phpMyAdmin) and click "Import": The maximum file size allowed is 2,048K. That's only 2MB, and the databases for most Drupal sites are much larger than that. (The example site for Drupal Essential Training gets as big as 5MB.) The video "Installing WAMP and Drupal on Windows" shows (at around 3:30) where the php.ini file is, but here are some more-complete instructions to increase that memory limit. 

  1. Click the WAMP icon in your system tray.
  2. Select "PHP". In the side menu, select "php.ini" to open a file containing PHP's configuration options.
  3. Search for the line, "upload_max_filesize = 2M".
  4. Change it to "upload_max_filesize = 32M" (or whatever you like). 
  5. Save the file and restart WAMP. (Better yet, restart your computer entirely to be sure. I'm frankly not sure whether it makes a difference.)
  6. Now go back to that "Import" screen in phpMyAdmin: You should notice that the limit has changed.
Q: I don't remember the default username and password used demonstrate Drupal.
A: The default username used in the course is "admin"; the default password is "booth".
Q: How can I change Drupal's administrative username and password?
A: If for some reason the default exercise file username (admin) and password (booth) don't work, you can change them in the database itself using phpMyAdmin. (This technique is demonstrated in a video from Chapter 8, "Recovering from disasters".)

  1. Open your Drupal database with phpMyAdmin.
  2. Go to the "users" table. Click the Browse icon.
  3. For the row where uid = 1, click the Edit icon. (Note the value under the "Name" column: That's the administrator's username.)
  4. In the "pass" row, select "MD5" under the "Function" column
  5. In the same row, enter your new password under the "Value" column.
  6. At the bottom of the screen, click the "Go" button. You should now be able to log in with that username and new password.
Q: In Windows Vista, the WAMP icon disappears from the system tray after a certain amount of time. How do I get it to reappear?
A: To make the WAMP icon reappear (so that you can access localhost, phpmyadmin, php.ini, etc.), you have to activate the "start WAMP server" icon (from start menu, desktop or wherever). The system tray icon will reappear.
Q: My .htaccess file disappeared. What caused this?
A: A few times during the Drupal Essential Training video series, the instructor says to copy a Drupal installation by selecting all the files in the folder and then "dragging and dropping" them, either to a server or another location on your local computer. This is not the best way to do so, as the hidden file ".htaccess" will not be copied. 

There are two ways to get around that problem: 
  1. When installing Drupal for the first time: Instead of copying files from the Drupal folder, move the entire folder to its target location and rename it. This is the easiest solution for those without experience with Unix. 
  2. Use the command-line interface to copy the .htaccess file.
Sorry for the error.
Q: In the video, the instructor says the current version of Drupal is 6.3, but on the drupal.org site, the latest version is 6.17. Which is the newer version of Drupal?
A: Drupal 6.17 is newer than version 6.3. For some reason, the the version numbers go 6.3, 6.4... 6.9, 6.10... 6.17. It’s counter-intuitive, but that’s the order.
Q: My WAMP phpMyadmin will not allow me to upload the exercise files. It returns this message: "No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16." There was no previous database to drop, so what do I need to do to make this work?
A: This is a common problem, caused not by Drupal, but by WAMP. WAMP only allows you to upload files of 2MB or smaller, which is much too small. The solution is detailed at http://tomgeller.com/cant-import-a-drupal-site-in-windows.
 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Drupal 6 Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK

Upgrade to View Courses Offline

login

With our new Desktop App, Annual Premium Members can download courses for Internet-free viewing.

Upgrade Now

After upgrading, download Desktop App Here.

Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Start your FREE 10-day trial

Begin learning software, business, and creative skills—anytime,
anywhere—with video instruction from recognized industry experts.
lynda.com provides
Unlimited access to over 4,000 courses—more than 100,000 video tutorials
Expert-led instruction
On-the-go learning. Watch from your computer, tablet, or mobile device. Switch back and forth as you choose.
Start Your FREE Trial Now
 

A trusted source for knowledge.

 

We provide training to more than 4 million people, and our members tell us that lynda.com helps them stay ahead of software updates, pick up brand-new skills, switch careers, land promotions, and explore new hobbies. What can we help you do?

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.