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

Using conditional template expressions

From: Dreamweaver CS3 Beyond the Basics

Video: Using conditional template expressions

Now that we have used template parameters and template expressions, let's examine making our template expressions a little more complex. Template expressions are in reality just a small subset of JavaScript, and because of this we can modify expressions using various operators to have them perform the calculations or evaluate data or perform conditional logic, which is what we are going to have them do. So, let's take a look in our cheek_artists_bios template again. So, in the Exercise Files, in the Templates directory, I have opened this file.

Using conditional template expressions

Now that we have used template parameters and template expressions, let's examine making our template expressions a little more complex. Template expressions are in reality just a small subset of JavaScript, and because of this we can modify expressions using various operators to have them perform the calculations or evaluate data or perform conditional logic, which is what we are going to have them do. So, let's take a look in our cheek_artists_bios template again. So, in the Exercise Files, in the Templates directory, I have opened this file.

I want to examine the sidebar for a moment. Every bio page and every gallery page has a link in the secondary navigation over here. So, while we are creating these bios, I would really like to indicate which bio we are on by showing our current state and we have already done the CSS for this. There is a current class style that if we apply the class style to one of those links, it will show up as the Current. So, we could certainly open up every bios page as we are building the template pages and apply that class style. But again, template expressions help us take some of the work or the drudgery out of assembling these pages. So, let's see how our template expression can actually do the work for us.

So, I am going to switch to Code View and scroll down to around line 45 or so. At line 49, we can see the link for Aimee's Gallery page. So, on line 49 we find that link. We are going to put a template expression with a conditional operator in here. A conditional operator is a fancy way of saying and IF statement. So, it's going to take a look at the value and make a decision on what to do based upon that value. So, what we are going to do is we will go ahead and type in the syntax. So, we are going to evaluate what the syntax is and then we will replace that with the actual values we are gong to use. So, place your cursor just at the end of the href attribute inside the A tag. Type in a space so that we have some distance between the href value and the expression we are about to type in and we will begin our expression.

Just type in two @ symbols, @@, and then a parenthesis, then we want to type in condition and then a double =, so ==, conditional value, ?, the word TRUE; and the word FALSE. So, this is our conditional operator. Let's take a look at the syntax before we actually plug in the values we are going to use. Essentially, the question mark is the heart of this. On the left hand side of the question mark is the condition that is being evaluated. On the right hand side of the question mark is what to do if the condition evaluates as a true value or if the condition evaluates as a false value. So to turn our attention to the condition. It's going to check a template parameter and it is going to see what the value of that template parameter. So, it's saying, "Condition" and then ==.

So, the double equal sign is an operator that looks for equality so it checks for equality. It says "Is this value equal to this condition?" So, we are going to go ahead and replace the condition with the template parameter that we are looking for and here's how we are going to do that. Highlight the word Condition and replace it with _document and then open up a bracket. So, we are going to use bracket notation here, type in a single quote and then type in our template parameter, which is currentArtist. Remember to close your single quotation mark and close your bracket notation.

So, bracket notation forces the evaluation of something and so it's forcing us to evaluate what is Current Artist. Highlight condition value on the other side of the double equal signs and let's type in single quotation marks the word Aimee. Since we are checking Aimee's link, we are basically saying at this point is the value of CurrentArtist Aimee. If it is, we want something to happen. So, we are going to highlight the True value and we will change that to reflect what we want Dreamweaver to do if this condition is true. So, we are going to type in single quotation marks 'Class ="current"'. Notice that Dreamweaver brings up the code in here for us. So, if you want to take advantage of that, go right ahead. Now, after you are done typing in the double quotation around Current, don't forget to close out the single quotation that we put around the whole statement there, 'class="current"'.

After the colon, we will highlight the word False and I am going to open up one single quotation mark and then close a single quotation mark, so that's going to be empty. Now since that we can put a value in there and if current artist did not return as Aimee, it would replace that. So, we could have said, 'class="not current"'. But we don't really want to do anything if the value isn't Aimee, so we will leave that blank so that nothing happens. So just to go over this one more time. We have the double @@ symbols. That opens up the parenthesis, then we see _ document currentArtist. So, what's the value of current artist. If it's equal to Aimee, we want class for the A tag to equal current. If it doesn't equal Aimee, we want nothing to happen. Now, after this, don't forget to close your parenthesis and then close your double @ symbols. We need to go ahead and make sure we are closing our template expression. Let's save our file.

Now, when we do that, it's going to prompt us to go ahead and update our files. We are going to do that but we are going to get something else that happens here too. An inconsistent region name dialog box comes up and essentially what happens is if you put a template expression inside an editable region, the editable region is no longer editable. So, we have to let Dreamweaver know what to do with the information that used to be in the sidebar on these other two pages. Well, we don't need two sidebar so we are just going to tell it instead of saying, Not resolved, we are going to tell it go nowhere. So, we will go ahead and click OK and it finishes our update.

Okay, let's open up Aimee, and so I will go over to my Files panel and I will open up the bios folder and I am going to double click Aimee.htm, and I am going to just test it in the browser. Now, you can see in the sub- navigation that Aimee Hutchins's name is highlighted indicating that it's the current page. I am going to go ahead and close my browser and let's go back into our template, because we want to go ahead and update that a couple of more times just to watch this in action. So, I am going to scroll down through down my code, so that I can see the links for Ben and we are going to also modify the link for Chris really quickly. The easiest way to do this template expression is to simply copy and paste it. So, I am going to highlight the template expression there on line 49 and just the template expression. Make sure you don't get any other part of that link.

I am going to copy it and I will place my cursor right at the end of the link for Ben. Now always remember the type and little bit of a space because you want at least one character void space between the href attribute and your template expression. So, we will pass in the template expression. Now, for Ben's link, I am not checking for the parameter of Aimee, I am checking for the parameter of Ben. So, I have got to change the value of Aimee to Ben right there, and then we will just do the same thing for Chris. So type in at the end of Chris's link, type in a space, paste the expression, and then change the value from Aimee to Chris.

So, you can see that this would be pretty easy to do. We have got several links here but it wouldn't really take that long to get this finished. So, we are going to go ahead and save that. Again, it's going to ask me to update those pages. I don't get the replaced sidebar region. I will only have to do that one time. So, I am going to open up Ben's page and now if I check Ben's page in the browser, I see that Ben's link is listed as active. If I click on Aimee's page, her link is now listed as Active. Well, we have been doing this kind of piece by piece. So, let's see the finished product. I am going to close out of Firefox again and we are going to finish it up by creating one more page off of our bios template. So, I am going to close Ben, I will close Aimee and save that, and I will just go ahead and close my template too. I don't really don't like to have it open unless I am editing it.

So, I will say File > New and we will do New from Template, cheek_artist_bios, we are going to create there, and I am going to go up and select Save and we will save this in the bios folder and we will save it as Chris.htm. It's going to ask me if I want to replace the existing one, and I am just going to go ahead and say Yeah. I will switch back to Design View and as we expect, all of Aimee's comes up. So, I am going to replace Aimee's name with Chris Mattia and we will save that, and now all I have to do is go up to Modify and choose Template Properties.

I will change the value of Aimee to Chris and now that we do that, notice everything that changes. The banner graphic changes, Chris's photograph changed, if I scroll down, I see that the Chris Gallery link has been generated, and if I look over in the sub-navigation, we can see that Chris is now indicated as the active link. So, I hope this gives you some idea of how powerful template expressions are and how you can use them in your Dreamweaver workflow.

Show transcript

This video is part of

Image for Dreamweaver CS3 Beyond the Basics
Dreamweaver CS3 Beyond the Basics

102 video lessons · 38718 viewers

James Williamson
Author

 
Expand all | Collapse all
  1. 2m 3s
    1. Welcome
      1m 17s
    2. Using the exercise files
      46s
  2. 1h 23m
    1. Reviewing the Coding toolbar
      8m 42s
    2. Customizing the Coding toolbar
      9m 52s
    3. Taking advantage of Code Hinting
      7m 20s
    4. Using snippets and shortcuts
      11m 10s
    5. Using the Quick Tag Editor
      5m 18s
    6. Using Find and Replace
      9m 50s
    7. Regular expressions
      5m 39s
    8. Using Bridge with Dreamweaver CS3
      8m 28s
    9. Round-trip editing with Photoshop CS3
      3m 40s
    10. Leveraging image variables in Photoshop CS3
      7m 32s
    11. Integrating external variables into your workflow
      6m 16s
  3. 37m 26s
    1. Understanding the CSS Styles panel
      7m 59s
    2. Understanding the Cascade
      5m 50s
    3. Understanding Inheritance
      5m 8s
    4. Understanding Specificity
      7m 5s
    5. Managing CSS styles
      5m 4s
    6. Using Design-Time style sheets
      6m 20s
  4. 2h 19m
    1. Using the new CSS template pages
      5m 59s
    2. Understanding DIV tag structure and layout
      12m 0s
    3. Understanding the CSS box model
      10m 0s
    4. Using absolute and relative positioning
      8m 35s
    5. Understanding floating elements
      7m 9s
    6. Clearing floats
      7m 19s
    7. Using floats to control page layout
      3m 45s
    8. Building structure and assigning IDs
      10m 19s
    9. Applying basic styling to structured content
      11m 14s
    10. Positioning container elements
      11m 4s
    11. Enhancing layouts with background graphics
      11m 48s
    12. Creating faux columns with background graphics
      8m 55s
    13. Creating rounded corners with background graphics
      9m 17s
    14. Building navigation with CSS
      16m 57s
    15. Using Dreamweaver's Browser Check feature
      5m 31s
  5. 53m 22s
    1. Creating properly structured forms
      6m 30s
    2. Creating accessible forms
      6m 41s
    3. Using CSS to lay out form structure
      7m 40s
    4. Creating vertical columns for form elements
      7m 48s
    5. Adding user feedback
      5m 52s
    6. Applying advanced styling to forms
      8m 11s
    7. Client-side form validation
      4m 17s
    8. Validating forms with the Spry Validation tools
      6m 23s
  6. 1h 20m
    1. Understanding the Spry framework
      3m 43s
    2. Defining a data source for use in Spry
      3m 56s
    3. Creating a Spry table
      8m 8s
    4. Using the Spry widgets
      8m 11s
    5. Connecting various data sets
      4m 50s
    6. Understanding Spry widget structures
      7m 1s
    7. Applying custom styles to Spry widgets
      6m 24s
    8. Applying additional custom styles to Spry widgets
      8m 46s
    9. Controlling Spry widget behaviors with JavaScript
      6m 0s
    10. Controlling Spry widget animations with JavaScript
      9m 31s
    11. Creating effects with Spry behaviors
      4m 42s
    12. Hand-coding Spry
      9m 11s
  7. 1h 11m
    1. Creating a base template
      8m 6s
    2. Creating editable attributes
      6m 26s
    3. Creating a new page from a template
      7m 42s
    4. Applying a template to an existing page
      4m 36s
    5. Creating nested templates
      5m 24s
    6. Using repeating regions
      6m 34s
    7. Creating editable and non-editable optional regions
      6m 0s
    8. Using template parameters
      7m 26s
    9. Using template expressions
      9m 59s
    10. Using conditional template expressions
      8m 54s
  8. 54m 40s
    1. Examining XML structure
      2m 44s
    2. Creating an XML document
      9m 9s
    3. Using the CDATA structure
      5m 7s
    4. Creating an XSLT file
      4m 33s
    5. Binding data from an XML to an XSLT document
      5m 6s
    6. Inserting repeating regions into an XSL document
      5m 16s
    7. Creating a client-side XSL transformation
      2m 52s
    8. Styling a remote RSS feed
      7m 29s
    9. Creating a server-side XSL transformation
      5m 31s
    10. Writing XSL expressions
      6m 53s
  9. 1h 2m
    1. Overview of building dynamic websites
      1m 35s
    2. Installing PHP, MySQL, and Apache on Mac
      3m 22s
    3. Installing PHP, MySQL, and Apache on Windows
      3m 54s
    4. Creating a MySQL database
      3m 16s
    5. Defining a testing server and database bindings
      6m 14s
    6. Creating a database recordset
      4m 35s
    7. Adding dynamic content to the page
      5m 14s
    8. Creating repeating regions of dynamic content
      7m 6s
    9. Filtering database records
      7m 39s
    10. Using the Live Preview
      10m 22s
    11. Passing URL parameters
      4m 23s
    12. Dynamically generating links
      5m 18s
  10. 57m 9s
    1. Understanding behaviors
      5m 16s
    2. Installing additional behaviors
      3m 39s
    3. Planning to create a custom behavior
      3m 42s
    4. Examining existing behaviors
      5m 32s
    5. Building a behavior function
      7m 23s
    6. Creating an Action file
      6m 48s
    7. Enabling behavior functions
      9m 1s
    8. Initializing the user interface for a behavior
      3m 9s
    9. Loading behaviors in Dreamweaver
      6m 47s
    10. Testing and debugging behaviors
      5m 52s
  11. 27m 12s
    1. Running reports
      7m 41s
    2. Checking and validating links
      3m 40s
    3. Using cloaking
      5m 42s
    4. Using Check In/Check Out
      4m 3s
    5. Using Design Notes
      6m 6s
  12. 20s
    1. Goodbye
      20s

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 Dreamweaver CS3 Beyond the Basics.

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.