Results
If the result list is too large, please consider these hints
- Reduce the number of websites.
- Add more keywords.
- Use quotes for building terms from keywords. For example, the phrase banner image searches for all articles containing both words. However, "banner image" searches for the exact two-word phrase.
Movable Type Weblog, Tutorials, 22 KB, 1097 words

In Comparison needed for conditional Generation I showed how to use the Compare Plugin for managing variations of a page type. The plugin allows comparing values and optionally inserting one or the other code segment into the output stream. However, the simple condition "if one value equals another value" is just the beginning. We are also able to create complex conditions. It is not even that difficult.
Basics
The Compare Plugin offers a number of tags, as for example MTIfEqual, MTIfNotEqual, MTIfGreater, MTIfGreaterOrEqual, MTIfLess, etc. Most of them work the same way: they take at least two mandatory attributes, a and b. The plugin compares the values of those two...
continue reading ...
Movalog, Tutorials, 26 KB, 654 words

Two of the most powerful and probably the least widely used tags in Movable Type are MTSetVar and MTGetVar. These tags allow you to set and get a variable like so <MTSetVar name="foo" value="bar"> <MTGetVar name="foo">
and can be used for a great variety of uses. If you use PHP, this can be done in a much easier way like so
<?php $foo = "bar"; ?>
and you can get the value of that variable by just using $foo within a block of PHP code (this method is more powerful than using MTSet/GetVar because you can use MT tags within PHP.)
Using MTSet/GetVar (or manually setting the variable in PHP) has several uses. Elise covered one of them with her tutorial on font colors but you can use them in several ways, especially in cases in which you would like a conditional display. A conditional display is a visual display that changes when certain conditions occur....
continue reading ...
Six Apart User Manual, Manuals, 22 KB, 382 words

Publishing Content When a Conditional is False
Problem
You want to publish some content when a conditional is false.
Solution
Use the MTElse tag inside of the container tag.
Discussion
As discussed in the introduction to this chapter, conditionals are a special form of container tags that will display their contents only if a certain condition is true. Movable Type includes MTElse, a very useful tag that can be used with conditional tags. Inside of any conditional, this tag will display its contents if the conditional is false. This template markup demonstrates its use. <MTEntryIfExtended> <p>TRUE</p> <MTElse> <p>FALSE</p> </MTElse> </MTEntryIfExtended>...
continue reading ...
Movable Type Weblog, Tutorials, 20 KB, 909 words

After you have started to modify the Movable Type templates according to your own style, you will probably find out, that this "programming by tags" is a little bit restricted. Often you want to use a condition for creating the HTML output in one or the other way. But Movable Type isn't able to support this very well.
And again, a plugin will do the work.
What do you need Comparisons for?
In this weblog an entry's title area consists of two parts. On the left side there is the title describing the subject. On the right side there is the date of creation.
With some entries I do not want the date to be visible. For example the entry »help« should be...
continue reading ...
Six Apart User Manual, Manuals, 40 KB, 914 words

A specialized version of MTEntries that is aware of subcategories.
Attributes: • category - The value of this attribute is a category label. This will include any entries to that category and any of its subcategories.
Since it is possible for two categories to have the same label, you can specify one particular category by including its ancestors, separated by slashes. For instance if you have a category "Flies" and within it a subcategory labeled "Fruit", you can ask for that category with category="Flies/Fruit". This would distinguish it from a category labeled "Fruit" within another called "Food...
continue reading ...
Staggernation, Plugins, 12 KB, 1043 words

This Movable Type plugin implements a set of template tags for displaying a portion of a template conditionally, depending on the results of a comparison between values. The values compared can be literal strings or numbers, or they can be pieces of MT template code that the plugin will build and evaluate, using the result in the comparison.
MT users have developed a number of techniques in PHP and JavaScript to implement various useful conditional-display features on MT-based sites. The tags in the Compare plugin should let you accomplish many of these same tasks within your MT templates, without using PHP or JavaScript tricks. For example: • Display different text in the Comments link for...
continue reading ...
Movable Type Weblog, Tutorials, 23 KB, 1171 words

Question
In Movable Type, entries or comments or other objects are often shown in lists. For example, the main index shows the most recent entries, a category archive also shows entries, or an individual entry archive shows comments. I preferred if not all items in such lists were styled the same. For example, there should be an alternating white / gray background. How can this be done?
Answer
Fortunately, the answer can be given in a generic way. The technique that I am going to show can be used with all types of objects (entries, comments, categories, etc.) and any number of different styles.
For showing the basic idea I will create a list of entries using 3 different styles....
continue reading ...
MovableTweak, Tutorials, 30 KB, 1649 words

You've seen it before. An article gets hot and soon you have 50 to 60 comments attached to it. Getting in on the tail end of the conversation can be annoying with that many posts to wade through. So we create a handy little convention that will highlight (change the class of) the comments posted by the author of the post.
There are many, many ways this can be done (plugins, php, etc.) and even more ways to implement it (mutliple author highlighting, specific images for certain commenters, etc.), but we're going to look at two important facets: static and dynamic.
Static vs. Dynamic
This is a debate which we will leave to the professionals. I will only...
continue reading ...
Six Apart Pronet Articles, Tutorials, 36 KB, 2180 words

Note: This tutorial was first published on October 29th for members of the Professional Network. If you'd like to get access to the benefits of membership in the network, sign up now.
Our last tutorial covering dynamic publishing provided a high-level technical overview of its implementation. In this tutorial, we will examine the way you create plugins for the PHP dynamic publishing model. It varies a bit from the Perl model, since we have built the template processing on top of Smarty, a popular and powerful templating engine for PHP.
Use the Source, Luke!
To get you started, there are a whole host of MT tags that have been ported from Perl to PHP. These would be the core...
continue reading ...
Six Apart User Manual, Manuals, 26 KB, 1073 words

2.51 (2002.10.29)
• Added Windows right-click bookmarklet functionality, where you can use a Post to MT Blog right click option to open the bookmarklet. Thanks to Anil Dash for the code. • Added a generic <MTElse> tag, which can be used to supply an ``else'' condition to any conditional. Thanks to Brad Choate for the code. • Added an <$MTEntryPermalink$> tag, which does the right thing when displaying the link for an entry: if an individual archive, it is not followed by an anchor; otherwise, it is. • When rebuilding files, only rewrite the...
continue reading ...
A List Apart, Tutorials, 13 KB, 1338 words

As I sat at my desk a few days ago, I suddenly wondered why HTML includes a <code> tag, and a <var> tag, and yet it takes marking up code no further than that. It'd be understandable to have just the <code> tag, but if they're going to have a <var> tag, shouldn't they have more programming tags?
The eventual product of this line of thought was that the W3C was too busy to produce a proper code markup inside the HTML specification, since the specification has to include so much else. So if they're not going to add a proper code markup language, then how would we mark up our script examples? "Aha!" I thought to...
continue reading ...
Staggernation, Plugins, 17 KB, 1631 words

This Movable Type plugin implements a set of template tags for identifying invalid link URLs within entries.
If your site has been around for a while, a few or many of the pages you've linked to in the past may have ceased to exist or moved to new locations. Also, if you tend to link to a large number of pages, you might not be in the habit of clicking on each and every link to check it, so some URLs might not have been valid in the first place. The CheckLinks plugin tries to access all the URLs linked to in your entries (or a subset of your entries), and lets you display a list of the ones it can't successfully access.
These tags are intended to be used on an index template, most likely...
continue reading ...
Six Apart User Manual, Manuals, 32 KB, 1761 words

Introduction
One of Movable Type's most powerful traits is its flexibility to adapt to practically any weblog design or use you can imagine. For the average user, most of this flexibility comes from Movable Type's template engine.
The template engine is crucial to automating the process of publishing and is what makes a publishing system go. When a rebuild is performed, templates are merged with content to create a page that visitors can view in their browsers.
These templates are what control the design and layout of your site and what keeps that design separate from the...
continue reading ...
Six Apart User Manual, Manuals, 26 KB, 1018 words

1.3 (2001.12.11)
• Fixed bug where days="N" would override category="Foo" in <MTEntries> tag. (cwodtke) • Added DBM file locking (shared lock when reading, exclusive when writing). • Export process now exports excerpts, and import now imports them. • When you upload a file, if a file by that name (at that location) already exists, you now get a confirmation screen to overwrite the file, or not. (Requires that File::Temp is installed.) • Added search and replace functionality. • You can now upload files into specific directories...
continue reading ...
A List Apart, Tutorials, 15 KB, 1582 words

Hey! That's mine!
Most web professionals are all too aware of the problems caused by hotlinkers. Leechers. Bandwidth thieves. People who use images hosted on your web server on their own pages.
For some lucky people who don't pay by the gigabyte for the amount of data they transfer, that's not too big a deal. Who cares if some little-trafficked weblog uses your photograph of snow falling in New York?
For other sites, however, it's a much bigger problem. If a 100K JPEG is hotlinked on a site that gets, say, 1,000 hits a day, that's 100MB of data transferred from your site without a single person actually visiting your site. If you have only a few gigabytes of...
continue reading ...
Movable Type Weblog, Tutorials, 21 KB, 1063 words

I am going to describe the basics of Movable Type in a short introduction. You do not have to know anything about Movable Type for understanding it. However, when following this three-part introduction, you will learn to know the most important components and gain a good overview. • Movable Type Basics / 1 • Movable Type Basics / 2 • Movable Type Basics / 3
Templates
In the previous part we explained that entries are stored in a database. However, you will not find the website's HTML in the database. Instead, just the attributes of an entry are stored as columns in a database table. But how does Movable Type create HTML out of this?
In Movable Type there are a number of...
continue reading ...
Don't Back Down, Tutorials, 16 KB, 1142 words
As mentioned previously, using Smarty for pagination isn't difficult. Of course, the simple example already given doesn't really do much - your users would still need to know about it, and manually construct the URL. That wouldn't be much fun. Using Smarty, we can do the work for them!
You'll need to start with a "total" count. I use MTCategoryCount, as I'm doing this on category archives. If you wanted to do a complete blog archive, you may want to use MTBlogEntryCount or something similar. You could also perform a similar process for comments with MTEntryCommentCount, trackbacks with MTEntryTrackbackCount, etc. {{capture...
continue reading ...
Six Apart User Manual, Manuals, 70 KB, 5607 words

One of Movable Type's most powerful traits is its flexibility to adapt to practically any weblog design or use you can imagine. For the average user, most of this flexibility comes from Movable Type's template engine.
The template engine is crucial to automating the process of publishing and is what makes a publishing system go. When a rebuild is performed, templates are merged with content to create a page that visitors can view in their browsers.
These templates are what control the design and layout of your site and what keeps that design separate from the content. Templates describe where you want...
continue reading ...