Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.

Custom tags

In addition to the default tags described above, the "XML block" datatype makes it possible to use custom tags. A custom tag can be used both as a block or an inline element. Custom tags must be specified using the "AvailableCustomTags[]" array in the [CustomTagSettings] block within an override for the "content.ini" configuration file. When the XML is rendered, the contents of a custom tag will be replaced by a custom template. The name of the template must be specified using the "name" parameter. Example of usage:

<custom name="template_name" [custom_parameter="value" [...] ]>
The quick brown fox jumps over the lazy dog.
</custom>

The custom tag in the example above will be replaced by a template called "template_name.tpl". This template must be located in the following directory within the current design: "/templates/content/datatype/view/ezxmltags/" (or one of the fallback designs). It is also possible to create an override template. The contents of the tag will be available in the "$content" variable within the inserted template.

The custom parameters are optional. Their names must be specified using the "CustomAttributes[]" array within an override for the "content.ini" configuration file. When used, a custom parameter will be available as a template variable with the same name as it was specified in the tag itself.

Balazs Halasy (10/03/2005 11:49 am)

Svitlana Shatokhina (19/07/2007 10:16 am)

Balazs Halasy, Svitlana Shatokhina


Comments

  • Custom Tags / Online Editor

    I have tried the example above and everything works great.

    But when I use the custom tags inside the Online Editor there only appear a button with a question mark. I would like to display the custom tag like it is done for the factbox tag.

    Here the code from my content.ini file:

    [CustomTagSettings]
    AvailableCustomTags[]=mytag
    IsInline[mytag]=true

    And here the code from mytag.tpl

    <div align="center">
    <table bgcolor="#eeeeee">
    <tr>
    <td>
    {$content}
    </td>
    </tr>
    </table>
    </div>

    Any ideas?
  • custom tags have to also exist in admin siteaccess

    It is also necessary to add any custom tags to the admin interface's content.ini.append.php - otherwise when you try to put the custom tag in an xml block ez rejects it as being unknown.
  • How to make custom tags (classes) visible in the online editor

    I have e.g. made a blue table as a custom tag class and inserted it in into content.ini (and of course defines the look in the css): The content.ini looks like this:

    [CustomTagSettings]
    AvailableCustomTags[]=dobbeltbreak
    IsInline[dobbeltbreak]=true

    [table]
    AvailableClasses[]=tableBeige
    etc.

    This works fine in the public pages, but the color of the table is not visible in the editor. I have tried to copy everything into both the content.ini both in /admin, our local admin, and into the content.ini for the editor in /var/www/ezpublish/extension/ezdhtml/settings, but to no effect. I have also adden the line
    IsInline[tableBeige]=true but this also has no effect.

    In the editor the table is still without color. Any suggestions ?
    • Re: How to make custom tags (classes) visible in the online editor

      It seems the basic question is where and how to insert the reference to the css. The obvious would seem to be to insert the refenece into the template controlling the editor/xml field, i.e. /var/www/ezpublish/extension/ezdhtml/design/standard/templates/content/datatype/edit/ezxmltext_ezdhtml.tpl, but this has no effect. I have also tried inserting it into the edit.tpl, but also with no effect. The trick maybe has something to do with how the reference to the iframe og the editor field is made in the css ?
  • Content.ini - location ?

    Where should the content.ini file be placed:
    * in your own admin
    * in the (ez) admin
    * in /settings/override/

    And what about the content.ini in the editor extention in /var/www/ezpublish/extension/ezdhtml/settings

    How many content.ini are actually needed and which should be edited to make things work