Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Implementing PHP snippets

From: Drupal 6 Essential Training

Video: Implementing PHP snippets

The main method for extending Drupal's functionality is through modules. That is, downloadable packages of code that add specific abilities to your site. But some tricks don't require an entire module. Small passages of PHP code called Snippets by the Drupal community will do the job just fine. We'll show you where to find such snippets, how to implement them on your own site and some traps to watch out for. The place to go for snippets is, as with everything else in Drupal, drupal.org. Once you're on the Drupal site, go to Documentation, scroll down and go to Beyond the basics.

Implementing PHP snippets

The main method for extending Drupal's functionality is through modules. That is, downloadable packages of code that add specific abilities to your site. But some tricks don't require an entire module. Small passages of PHP code called Snippets by the Drupal community will do the job just fine. We'll show you where to find such snippets, how to implement them on your own site and some traps to watch out for. The place to go for snippets is, as with everything else in Drupal, drupal.org. Once you're on the Drupal site, go to Documentation, scroll down and go to Beyond the basics.

Beyond the basics is of the book type, so you see you can page back and forth through it. We're going to go directly to the chapter on Snippets. There are two main types or snippets, the first one is for themes and this is the biggest area. If you click on it, you see numerous tricks that you can perform on your own site. You could of course click on any of these that look interesting to you or page through them as this is a book. Let's scroll to the bottom and then go back up, so we see all of the snippets. The other kind of snippets is for content- that is, to change small bits of your site as we did on our site for our endorsements block.

In addition, there are SQL snippets, which let you change things in the database. There are so many of these and they're implemented through a different method. You can learn how to implement SQL snippets by clicking on this link, How to use an SQL snippet. But we're only going to focus on the PHP ones. Finally, some snippets happen outside of the Drupal interface. That is, it's PHP which is placed on your server for one reason or another. These are also contained in the PHP snippets chapter. If you click on it and scroll down, you'll see an example of this PHP snippet that happens on the server, this Remote posting and administration.

We're going to show you how to implement one of these PHP snippets. We'll go back up and enter Theme snippets. The one that we're going to implement is called Add an "Edit" Tab to Every Block, we scroll down to find it and there it is. Click on it, when you get to this page, read the instructions of how to implement it. In this case, it gives us a link to an earlier post, which we'll want to read. But let's pretend that we don't at this point. We look through and see here's the code that you'd include in your theme's block.tpl.php file and now we know the file we're going to affect.

Before we do anything else, we're going to find that file and make a backup of it, in case anything goes wrong with this snippet. We go back to our finder and hide everything else and then go to our Drupal installation folder. This will be the folder where you first put Drupal when you started out. We're using a theme that came installed with Drupal. So, our theme will be in the Themes folder. If you're using a theme that wasn't installed with Drupal, yours will be in the Sites folder either in All or the Default folder. But for us, we're going into Themes and then into bluemarine, which is our theme.

There's the block.tpl.php file. We'll highlight it, copy it either by hitting Command+C on the Mac or Ctrl+C on a Windows machine and just paste it somewhere else. I'm going to put it on the desktop. And then I'm just going to add a little bit of text here, so it's clear that this is the backup, call it BACKUP. There, now we're ready to work on this file. We open it up in a Text Editor. If this is the first time you've opened this file, you may get a warning because you downloaded this file from the internet. Because we know where it came from and we trust it, we're going to say Open. So, now we've the file open that we want to affect. We also have a backup made of that file for safekeeping.

Now, we go back to that snippet. We'll copy the text by hitting Command+C on the Mac or Ctrl+C on a Windows machine, go back to our text file and then click in it and since it didn't mention where we've to place it, I'm just going to put it anywhere, I'll put it at the end of the file by hitting Command+V on a Mac or Ctrl+V on a Windows machine and save it and close it. Let's see how that affected our site. We go back, we reload the page and now we see a little Edit box here, right underneath the endorsements. We also see what would be edited. Wait, I thought that would add the edit capability to all of my blocks. Let's go back and take a look. Aha! Maybe there are some tips in here.

Indeed, if we go back to the earlier conversation, we see that it only affects custom blocks. This just highlights why you've to read all the documentation when you use a snippet. But in this case, it looks like the snippet did exactly what we wanted. Let's try it out. Click on Edit and there we're, we can edit that particular block. I've decided I didn't like the change to my site, so I'm going to go back to the earlier version where we weren't able to edit those endorsements. I go to the finder, hide everything, throw away that block.tpl.php that we just changed. On the Mac you do that by dragging to the trash, on the PC by right clicking on the mouse and selecting Delete.

Now, I put that backup back into that folder. I drag it in and change the name back to what it was before, delete the extra PHP and Backup and let's go back to our site to make sure that took. I reload the site and indeed the Edit box disappeared. I've to give you a few caveats though when you use snippets. First of all, there is no central testing authority for testing snippets, where as the Drupal core project itself goes through a lot of quality control, there really isn't any for snippets except for those people who have used it and then commented on it. That leads us to the second part, read the documentation very well and be sure you understand it and read all of the comments.

Very often, somebody will submit a snippet and then the comment will say, you know there's a bug in it, I discovered it this way and then somebody will contribute a patch to it, so it works correctly. So, do read all of the comments. Next, make sure that you understand the code as best as you can. I'm not a programmer myself, but if you look through it enough times, you can start to see the logic of what's happening. Finally, always backup the effected files first. I can't stress that enough. If something goes wrong with the snippet, you want to be able to rollback to your situation before you applied it. I love Drupal Snippets, of course I like that they improve my sites, but just as importantly, they help me learn PHP and my SQL. I've come to understand how Drupal works from the inside out because I can see how programmers use some of its internal variables.

And I feel empowered by seeing how one can just reach into the code and make big changes with very small tweaks.

Show transcript

This video is part of

Image for Drupal 6 Essential Training
Drupal 6 Essential Training

66 video lessons · 31271 viewers

Tom Geller
Author

 
Expand all | Collapse all
  1. 4m 38s
    1. Welcome
      50s
    2. Using the example files
      3m 48s
  2. 28m 55s
    1. Drupal is a CMS
      7m 43s
    2. Choosing Drupal
      5m 32s
    3. Checking Drupal's requirements
      4m 26s
    4. Understanding the inner workings of Drupal
      4m 35s
    5. Meeting the Drupal community
      6m 39s
  3. 11m 28s
    1. Learning key terms in Drupal
      5m 20s
    2. Touring Drupal's interface
      6m 8s
  4. 34m 35s
    1. Installing WAMP and Drupal on Windows
      9m 41s
    2. Installing MAMP
      4m 34s
    3. Setting up the database on a Mac
      2m 2s
    4. Downloading and installing Drupal on a Mac
      6m 37s
    5. Troubleshooting installation problems
      3m 49s
    6. Automating updates with cron
      7m 52s
  5. 25m 37s
    1. Setting up clean URLs
      5m 52s
    2. Backing up your Drupal site
      3m 31s
    3. Restoring your Drupal site from backup
      4m 19s
    4. Wiping your Drupal installation clean
      2m 7s
    5. Updating Drupal
      9m 48s
  6. 15m 37s
    1. Using the Administration menu
      6m 21s
    2. Setting site information
      4m 50s
    3. Setting the theme
      4m 26s
  7. 35m 8s
    1. Understanding security and permissions
      7m 2s
    2. Controlling site access with user management
      3m 39s
    3. Creating users
      7m 58s
    4. Setting user profiles
      9m 40s
    5. Creating contact forms
      6m 49s
  8. 19m 19s
    1. Creating your site's basic info pages
      7m 13s
    2. Understanding page layout
      5m 40s
    3. Creating a flexible layout with blocks
      6m 26s
  9. 15m 35s
    1. Monitoring performance
      4m 52s
    2. Recovering from disasters
      7m 37s
    3. Improving administration skills
      3m 6s
  10. 41m 3s
    1. Understanding nodes
      6m 50s
    2. Creating basic content: Stories and pages
      7m 9s
    3. Enabling other content types
      9m 22s
    4. Adding blogs
      3m 49s
    5. Adding forums
      6m 56s
    6. Adding polls
      6m 57s
  11. 34m 50s
    1. Exploring content categories
      7m 45s
    2. Exchanging content via RSS
      9m 47s
    3. Using input filters
      7m 41s
    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 41s
    1. Finding modules
      6m 53s
    2. Unpacking and installing modules
      6m 30s
    3. Configuring modules
      3m 50s
    4. Implementing complex modules
      5m 28s
  14. 32m 12s
    1. Ensuring automated updates with poormanscron
      3m 11s
    2. Defining custom content types with CCK
      12m 54s
    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 19s
    1. Changing page templates with PHP
      8m 15s
    2. Using PHP in content
      5m 20s
    3. Implementing PHP snippets
      6m 44s
  17. 10m 15s
    1. Launching your site
      5m 52s
    2. Joining the Drupal community
      4m 23s
  18. 14s
    1. Goodbye
      14s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
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

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
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?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

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:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
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.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

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.