Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
One issue I've always had with the way ColdFusion handles conditional syntax is that you either have to use a full cfif tag or you have to use the convoluted and often difficult to understand IIF function if you want to keep your code looking nice and clean. In ColdFusion 9, Adobe has added support for ternary operators, which will allow you to drop a quick if statement into just about any block of code like you like. Another small addition we'll cover in this video is the ability to set multiple variables to the same value with a single statement, instead of multiple cfifs or multiple lines in the cfscript block.
So to get started in the Chapter3 folder, we'll open ternary.cfm. And this isn't using into the new ColdFusion 9 features yet, but I am just going to review the file very quickly and then we'll go through and make some changes using new ColdFusion 9 syntax. In this file I am selecting all of the artists from our Artists table, and then I have a function here that will check and see how many total pieces the artist has versus the number that have been sold, and then returns a message based off of whether or not we have low stock or we have some percentage of stock remaining.
Down here at the bottom, I am looping over each of these artists, I am putting a header and then a table that shows all of their artwork, whether or not it's been sold, and at the end their total pieces, the number that they have sold, and then that stock message. I am also in the table row here setting a class of either even or odd row depending on whether it's an even or odd row. We'll go ahead and preview this file and you can see for Jeff Baclawski, I have their artwork, sold, No, No, Yes, Yes.
We have their total number of 6. They have sold 3 of them so they have 50% remaining, and for Aiden Donolan here we can see that we are low stock. Message shows that we only have 20% remaining. And we get our nice alternating row colors. So the first thing I am going to show you is the new ternary operators in ColdFusion 9. The ternary operator is a way to write an if statement in a single line, so here we are going to go back to our source code, scroll to the top, and the first if statement I have is if percentSold is greater than 50, then we show one of these two messages.
So I am going to convert this into a ternary operation. And we'll do that by doing cfreturn and I'm going to put my conditional statement inside parentheses, then I put a question mark, and then I put in what I want to happen if this statement is true. In this case, we are going to return this text. Then at the end of that block, I am going to say else, and I do the else with a colon. And then I put what I want displayed if my if statement is false.
In that case, I want it to be this text. We will go down to the end here, make sure my block is properly closed and get rid of my extra cfif. So I am going to just save my file here and we'll preview. And we can see that while nothing has changed,on the end I can still see can my low stock message where I am supposed to, and I am seeing my 50% stock remaining where I am supposed to. The Source code is changed entirely to use this new if syntax. Now in this particular case that doesn't seem all that useful.
However, if I go down to the bottom here where I have my alternating row colors, this syntax on this line has always bugged me. Having the cfif crammed inside of the HTML just doesn't look right. So what I can do instead of this as I can, because I'm already inside a CF output, I can just put a pound sign, I can say totalPieces MOD 2 equals 0. Then I'm going to output "evenRow", else I'll output "oddRow", and then I will close my pounds, save my file.
Now if I preview, again my alternating row colors are still working the way they are supposed to, but for me this is far more readable and more correct. Now you can use the ternary operators any place you would normally have an if statement. You can use them as I am here as an output. You can use them in a cfreturn block, anything that has a simple true and false return value is a good candidate for using the ternary operators. Now the other thing that ColdFusion 9 introduced is the ability to set multiple variables to a single value in a single line.
So in this case, I am setting total pieces and number sold both equal to zero. In ColdFusion I can do this. So both total pieces and number sold will be set to zero. Now those are called chained operators. So in this case I'm chaining two variables into a single value. Oh! And I just spotted another spot here where we can use a ternary operators, so let's replace this too. Let's do cfset numberSold =, if the current item is sold, and put that inside parens, then numberSold is going to be numberSold + 1. Else it's just going to be the previous value. Save our file.
So my statement says set the number sold to number sold plus one, if the current art has been marked as is sold. Otherwise just set it to it's old value. So the big takeaway in this video is the new ternary operator, which should help make your code leaner and cleaner as you move your applications to ColdFusion 9.
Get unlimited access to all courses for just $25/month.Become a member
61 Video lessons · 93575 Viewers
82 Video lessons · 104393 Viewers
71 Video lessons · 76554 Viewers
56 Video lessons · 107881 Viewers
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
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.