beautypg.com

Determining what kind of translator to use, Adding a translated attribute to a tag – Adobe Extending Dreamweaver CS4 User Manual

Page 336

background image

330

EXTENDING DREAMWEAVER CS4

Data translators

Selects Modify > Convert > Convert Tables To AP Divs

Selects Modify > Convert > Convert AP Divs To Table

Changes a tag or attribute in the Quick Tag Editor and presses Tab or Enter

Determining what kind of translator to use

All translators must contain the

getTranslatorInfo()

and

translateMarkup()

functions, and they must reside in

the Configuration/Translators folder. They differ, however, in the kind of code that they insert into the user’s
document and in how that code must be inspected, as described in the following list:

To translate small pieces of server markup that determine attribute values or that conditionally add attributes to a
standard HTML tag, write an attribute translator. Standard HTML tags that contain translated attributes can be
inspected with the Property inspectors that are built into Dreamweaver. It is not necessary to write a custom
Property inspector (see “

Adding a translated attribute to a tag

” on page 330).

To translate an entire tag (for example, a server-side include (SSI)) or a block of code (for example, JavaScript,
ColdFusion, PHP, or other scripting), write a block/tag translator. The code that is generated by a block/tag
translator cannot be inspected with the Property inspectors that are built into Dreamweaver. You must write a
custom Property inspector for the translated content if you want users to be able to change the properties of the
original code (see “

Locking translated tags or blocks of code

” on page 331).

Adding a translated attribute to a tag

Attribute translation relies on the Dreamweaver parser to ignore server markup. By default, Dreamweaver already
ignores the most common kinds of server markup (including ASP, CFML, and PHP); if you use server markup that
has different opening and closing markers, you must modify the third-party tag database to ensure that your translator
works properly. For more information on modifying the third-party tag database, see “Customizing Dreamweaver” in
Using Dreamweaver.

When Dreamweaver handles preserving the original server markup, the translator generates a valid attribute value that
can be viewed in the Document window. (If you use server markup only for attributes that do not have a user-visible
effect, you do not need a translator.)

The translator creates an attribute value that has a visible effect in the Document window by adding a special attribute,

mmTranslatedValue

, to the tag that contains the server markup. The

mmTranslatedValue

attribute and its value are

not visible in the HTML panel or in Code view, nor are they saved with the document.

The

mmTranslatedValue

attribute must be unique within the tag. If it is likely that your translator needs to translate

more than one attribute in a single tag, you must add a routine in the translator that appends numbers to the

mmTranslatedValue

attribute (for example,

mmTranslatedValue1

,

mmTranslatedValue2

, and so on).

The value of the

mmTranslatedValue

attribute must be a URL-encoded string that contains at least one valid

attribute-value pair. This means that

mmTranslatedValue="src=%22open.jpg%22"

is a valid translation for both

src="

and

then src="open.jpg" else src="closed.jpg" ?>

. As

mmTranslatedValue="%22open.jpg%22"

contains only

the value, not the attribute, it is not valid for either example.

This manual is related to the following products: