Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
There are going to be times that as you plan your templates, you may have elements on the page that although they have certain attributes which change from page-to-page, the entire element itself stays the same. This could be the source of an image or the destination of a link, you know things like that. But in these cases instead of making the whole element an editable region, you can simply make the attribute itself editable. Take our template. We need to be able to control our navigation and breadcrumbs through the template itself. To indicate the current page in our navigation, we will assign the class Current to the link.
To adjust the page layout in the event of a page needing breadcrumbs, we assign the class hasCrumbs to the body tag. By simply making those attributes editable, we can change the entire complexion of the page through simply assigning those classes. We're not limited to class attributes either. Link sources, image alt tags, image sources, element IDs, really any attribute can be identified as an editable attribute within your templates. So I have had the main_template.dwt that we were working on in the last exercise open and I have found this in the 13_03 Templates folder.
So I am going to start by assigning some editable attributes and probably the first place to start would be the body tag. Now you'll notice if I look down at my Tag Selector, the body tag has a class called hasCrumbs. Now I am going to switch over to Code View and show you that a little bit more clearly. So our body tag has a class called hasCrumbs. Now what does that do for us? Well, in the event that our page has breadcrumbs, we don't need as much spacing between the breadcrumb and the page heading. When a page has no breadcrumbs, we need to make sure that that space remains empty so that our page headings and the content doesn't move up the page whenever breadcrumbs are not found.
So essentially hasCrumbs simply modifies the space between the heading and the element above it. That way we ensure consistent spacing whether a page has breadcrumbs or not. So it's really important when we create new pages off this template that we're able to differentiate between pages that have crumbs and pages that don't. By making this hasCrumbs class editable, when we create a new page, we can simply tell Dreamweaver make the class either this or this and the layout will adjust. So to make an editable attribute, you simply select the element that contains the attribute in question.
In this case, I am going to go down to my Tag Selector and again click on that body tag. So you just click on that once and make sure you have that selected. Next, I am going to go up to my menu. Now when we created the editable regions, they were found in the Insert menu, but editable attributes are actually found onto the Modify menu. I don't know why. Just go up to your menu, select Modify, go down to Templates and you want to choose Make Attribute Editable. Perhaps that's it. We are modifying this particular tag.
So as soon as you do that, you will notice that it's saying "Choose which attribute of the body tag should be editable." That's a nice indicator of what element you have selected and if you see something there that you didn't expect, if it's set for the div tag or a link tag , then we selected the wrong one and you should hit Cancel and try it again. So let's make sure that it says the body tag and the attribute that we're going to make editable is class. Although if you notice, if you grab the pull-down menu, if we had other attributes on the body tag such as an IDE or any of the other attributes that the body tag could have, they would all be listed here.
Only the ones that you have set are going to be listed. So I am going to make sure it says Class then I am going to choose Make attribute editable. So I can give this a label and you might be tempted to just go ahead and leave it as Class but later on when we're creating pages off of this, we're going to go up and modify our template properties and we are going to get a full listing of these and if we have 15 classes listed, we won't know what they are. So we're just going to call this one bodyClass, all one word. That way we know exactly which one we're modifying. Now one of the coolest things about editable attributes is the Type pulldown menu.
Notice that we can choose between Text, URLs, Color, True/False or Boolean value and Number. The thing that I love about this is that let's say you're taking an image and you are making the source of that image editable. If you choose URL, when you go into modify the image properties, Dreamweaver will give you a little browse icon and you can browse for an image. If you say Color, it's going to give you your Swatch panel as you assign a value to it. So that's really, really cool. By saying Text, you are just saying let me type in a textual value and for classes, that's all we really need. Now I am just going to leave the default as hasCrumbs, but I could really put anything I wanted here.
So if the overwhelming majority of my site was not going to have crumbs, I could probably just change this to say noCrumbs and then when prompted, when creating the page, I could simply type in and change it to hasCrumbs. But as it is I will just leave the default as hasCrumbs. So I am going to go ahead and click OK and there is our first editable attribute. Now if you look down at the body tag right now, you are going to see some pretty confusing code. Well, that's what we call a template expression and essentially in the code, what Dreamweaver's done is it's created a parameter. Let me show you what I mean. I am going to switch over to Code View and I can see right here on line 10 up in the ahead of my document, I now have a comment tag.
That is essentially Dreamweaver establishing a template parameter. Its name is bodyClass, its type is text, and its value is hasCrumbs. If you wanted to and you understood the syntax of that, you can just create these all on your own. In the bodyClass itself, we have what is known as the template expression. This template expression evaluates and notice that it's looking for the value of bodyClass so it's going to go up here and find that value and plug it into that particular spot. So those can be hand coded if you want, although I think they are a lot easier to do through the interface. Okay let's go ahead and save our template and now we need to move onto the big section which is our links.
Earlier when we created our template, we clicked inside each one of these links and we added this baseLink class. When we create a page, we are going to have the option of replacing baseLink with current. Current would indicate that this is the current page and our CSS would modify our link so that it is displayed properly. As is, baseLink has really no styling attached to it all so leaving it there means nothing is going to change. But it's an important step. Even though that baseLink is sort of a dummy class, it doesn't really do anything for us, it allows us to have a value that we can replace. So you always want that because if you don't already have something in there, so you would at least have to have a default value in there to replace.
Okay, so now we have to go through each one of these and create an editable attribute. Again, this is a little bit of work on the front-end, but this is really going to payoff when we start creating our pages based on these. So I am going to click inside Tours, and then using the Tag Selector, I am going to click on the link a.tours baseLink. Once again I am going to go to Modify > Templates > Make Attribute Editable. So here you can see we have more choices. Our link also includes an href attribute and a Title attribute. Well, we want to make the Class attribute editable so I am going to go ahead and select that.
Again, I am going to click the checkbox Make Attribute Editable, and remember we have to come up with the unique name for that, that we will recognize later on when we are creating pages based off of this. I am just going to call this one toursLink. Its Type is going to be Text, and I am going to leave the Default alone. I am not going to touch that or modify that in anyway. Let me go ahead and click OK. Now it's going to appear that that deleted the link. It didn't. What it did is it replaced the current class contents with a template expression. Our CSS was using that to determine which graphic to display, so in essence it's not showing a graphic.
That's okay because when we create a new page based off the template, that template expression will be replaced by the actual classes so we will be fine. All right, now all that's left for us to do is to go through each link and in turn create editable attributes. So click inside All Tours and once again go down to the Tag Selector and click on the a tag for that particular link and we're going to go up to Modify > Templates > Make Attribute Editable. Once again, we are going into the class, we are going to make that editable, and we are just going to come up with a consistent naming convention here.
I am going to type in toursSub, to indicate it's part of the subNav, All because those are All Tours. So toursSubAll, one word, I am going to leave it Text and I leave the default alone. As a matter of fact, we won't change that for any of the links that we're going to be working with. Now Dreamweaver has a habit of jumping back up to the very top of the page when it finishes with this. It almost makes it easier to go all the way down to the bottom of your navigation and start from the bottom and work your way down but just keep in mind which one you did last. So I will do Tours by Activity next.
Again, I am going to click my Tag Selector and choose the link. Modify > Templates > Make Attribute Editable. We will make the Class attribute editable, and this one is going to be toursSubActivity. Next will be regions. So go ahead and select that one the same way that we have selected all the other ones. I am going to go to Modify > Template > Make Attribute Editable. We are going to do Class and this one is going to be toursSubRegion. Select the Tour Finder one. Modify > Template > Make Attribute Editable, Class, make it editable, and this one is going to be toursSubFinder.
Click on Mission and again I am going to select the a tag, Modify > Templates > Make Attribute Editable, Class and we are just going to call this one missionLink. Again, I am going to leave the defaults alone and click OK. And again, if we did it right, it will disappear. Select the Contact link. Modify > Template > Make Attribute Editable. You can see if you are going to do a whole lot of this in your workflow, you may want to go ahead and map out a keyboard shortcut to this. That could certainly help.
This one will be labeled contactLink, and again verify each time out that you are making the Class Attribute editable, not href or the Title attribute. Click OK and just keep going. So next we will do Resources, Templates > Make Attribute Editable, Class and we are going to call this one resourceLink. And we just have to go through them one at a time. Unfortunately, there is no shortcuts for this.
And you probably won't have this many attributes each time out. So for this one, we are going to call this one resourceSubFAQ. We can leave the default alone. And we are just going to keep going. So with each link, just go and select it and make sure you are modifying the Class. This one will be resourceSubTerms. Modify > Templates > Make Attribute Editable.
Class, resourceSubAdd, I will just say Add for additional. As long as you know what that name is going to reference later on, then you can name it anything you want. My advice however is sometimes when you are doing something like this, you will say to yourself, oh I will remember what that is, but you really want to be descriptive because a month from now really? Maybe, maybe not. So this one, we'll do resourceSubPrivacy and we are indeed getting there.
We're making progress. Modify > Templates > Make Attribute Editable, again Class, and we are going to make this one exploreLink. And then all that is left to do is the sub-navigation here. So Templates > Make Attribute Editable. We are going to do exploreSubJoin. Notice again we are not modifying those defaults at all.
This is why we went in and placed the baseLink in there to begin with so that we didn't have to do it at this stage. Make Attribute Editable. Class, that one is going to be exploreSubBlog, and then two more. Thanks for hanging in there with me. And this one is exploreSubPhotos and then finally do our last one.
That's going to be exploreSubVideo. Okay, save your file and now we have our editable regions. Now, I know that it took a while to do but it really showcases that when you make templates, sometimes there's going to be a little bit of drudgery involved. The good news is though this work is designed to save as a ton of work on the backend. So by going ahead and putting it into extra work as you are building your templates, you are going to make your life easier as you develop your site and certainly as you maintain your site later on.
So we have two editable regions for the main content of the page, our navigation is customizable, based on which section of the site we're working on, and our body tag has a class attribute that could be changed to modify the layout for whether we have crumbs on our page or no breadcrumbs. We still have one thing to tackle before we start building pages off of this template. Our sub-navigation and breadcrumbs won't be needed on all of our pages. As such we are going to make them optional regions so that we only add them to the pages as needed and we're going to tackle that in our next movie.
Get unlimited access to all courses for just $25/month.Become a member