Using PHP in content
Video: Using PHP in contentWe are now going to discuss an incredibly powerful part of Drupal, the ability to use PHP code within a page's content. PHP has access to many of the inner-workings of your Drupal site allowing to essentially rewrite the site on the fly. However its power can also lead to unbelievably huge security holes and a relativity small error could make your entire site unavailable or even destroy critical information. The example we will give was taken from the drupal.org site and has been shown to be safe. The first thing that we need to do is to turn on the PHP filter module. To do so go to Administer and Modules and then scroll down until you see PHP filter, turn that on. Scroll to do the bottom and click Save Configuration. The second thing you will need to do is to turn on the Input format call PHP and make sure that the PHP evaluator is turned on within that input format. To do so go to Administer, scroll down to Input formats, click on it and go to the PHP code choice and click configure. I scroll down here and turn on the PHP evaluator just in case it's not on. Usually it will be but sometimes you might turn it off for safety, go down to the bottom and click Save Configuration.
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.
- 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
Using PHP in content
We are now going to discuss an incredibly powerful part of Drupal, the ability to use PHP code within a page's content. PHP has access to many of the inner-workings of your Drupal site allowing to essentially rewrite the site on the fly. However its power can also lead to unbelievably huge security holes and a relativity small error could make your entire site unavailable or even destroy critical information. The example we will give was taken from the drupal.org site and has been shown to be safe. The first thing that we need to do is to turn on the PHP filter module. To do so go to Administer and Modules and then scroll down until you see PHP filter, turn that on. Scroll to do the bottom and click Save Configuration. The second thing you will need to do is to turn on the Input format call PHP and make sure that the PHP evaluator is turned on within that input format. To do so go to Administer, scroll down to Input formats, click on it and go to the PHP code choice and click configure. I scroll down here and turn on the PHP evaluator just in case it's not on. Usually it will be but sometimes you might turn it off for safety, go down to the bottom and click Save Configuration.
Now we are ready to enter PHP code, but first we need a place to enter it. I am going to create a block that I will put in the top right-hand corner showing an endorsement, explaining how wonderful it is to live underwater. To create that block, we go to Administer and Blocks and then add a new block. We will call the block Endorsements and the Block title as well will be Endorsements. If you have a Rich Text Editor, such as FCKeditor turned on, it's best to turn it off before you start playing with PHP code. You might end up entering styled HTML that could interfere with your code. But first we are just going to enter plain text, if you are a premium member of lynda.com or received this course on a disk you have an Exercise File 15_02 which includes a text document containing all of the text you are about to see.
I am going to go there now so I can copy and paste the text. For the Endorsements Block, I just copy, Command C on the Mac or Control C on a PC and paste it in there with Command V or Control V on a PC. In this case we have HTML code in here so we are going to make sure that our Input format is Full HTML, scroll to the bottom and save the block. Now we have to enable that block by bringing it into that right column and then move it up to the top. So we scroll down, there it is Endorsements; I will move it into the Right sidebar and save the block. Then in the Right sidebar once again I will bring it up to the top, scroll to the bottom and save the block, and there it is. Now we are going to turn that into dynamic content, thanks to PHP; we have three endorsements and we are going to rotate among the three.
To do so we will go back to that block and edit it, again we have the Endorsements block right here and click configure. Now I am going to go back to our example file and copy and paste the PHP code. Here's the code. I copy it, switch back to my site, erase what's there and paste it. Don't worry if you don't understand this PHP code, although of course if you are working with PHP code in your site you should know exactly what it does and how it does it. We also have to make one more change, which is to change the Input format to PHP.
We will open up this turn down triangle and click on PHP code. Then go to the bottom of the page and save the block, there. We now have a random endorsement up here, we can show that it's random by repeatedly reloading the page. Let's go Home for example, that's the same one but if we Reload, there is a different one. One more time and again there is the other one, of course you might get two of the same ones in a row because that's the way random numbers work but you can see its dynamic content. If you need help for how Drupal handles PHP code you can always get it by going to any Create content page like create Blog entry, go down to Input format and then click on the More information about formatting options. Up here it gives you information about all the HTML that shows up in Drupal and if you scroll down to the bottom, you will see all of the details on how it handles PHP code.
You can use PHP for content pretty much anywhere Drupal accepts inputs using Input formats filter, that is, wherever you are given a choice of Filtered HTML, Full HTML or PHP that includes blocks as well as the body fields of most node types. There are dozens of bits of useful and interesting PHP code on the drupal.org web site, where they are called snippets. Just be sure you remember to turn on the PHP module and PHP Input format to make them work and more importantly be extremely careful about the code you use.
Find answers to the most frequently asked questions about Drupal 6 Essential Training .
Here are the FAQs that matched your search "" :
- 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.)
- Increase XAMPP's PHP allocation.
- 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.
- 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.
- Click the WAMP icon in your system tray.
- Select "PHP". In the side menu, select "php.ini" to open a file containing PHP's configuration options.
- Search for the line, "upload_max_filesize = 2M".
- Change it to "upload_max_filesize = 32M" (or whatever you like).
- 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.)
- 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".)
- Open your Drupal database with phpMyAdmin.
- Go to the "users" table. Click the Browse icon.
- For the row where uid = 1, click the Edit icon. (Note the value under the "Name" column: That's the administrator's username.)
- In the "pass" row, select "MD5" under the "Function" column
- In the same row, enter your new password under the "Value" column.
- 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:
Sorry for the error.
- 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.
- Use the command-line interface to copy the .htaccess file.
- 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.
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.