This FieldType validates and stores formatted text.
| Name | Internal name | Expected input |
|---|---|---|
XmlText | ezxmltext | mixed |

| Type | Description | Example |
|---|---|---|
string | XML document in the FieldType internal format as a string. | See the example below. |
eZ\Publish\Core\FieldType\XmlText\Input | An instance of the class implementing FieldType abstract Input class. | See the example below. |
eZ\Publish\Core\FieldType\XmlText\Value | An instance of the FieldType Value object. | See the example below. |
<?xml version="1.0" encoding="utf-8"?>
<section
xmlns:custom="http://ez.no/namespaces/exponential3/custom/"
xmlns:image="http://ez.no/namespaces/exponential3/image/"
xmlns:xhtml="http://ez.no/namespaces/exponential3/xhtml/">
<paragraph>This is a paragraph.</paragraph>
</section> |
The eZ XML output use <strong> and <em> by default, respecting the semantic XHTML notation.
Input object is intended as a vector for different input formats. It should accept input value in a foreign format and convert it to the FieldType's internal format.
It should implement abstract eZ\Publish\Core\FieldType\XmlText\Input class, which defines only one method:
| Method | Description |
|---|---|
getInternalRepresentation | The method should return the input value in the internal format. |
At the moment there is only one implementation of the Input class, eZ\Publish\Core\FieldType\XmlText\Input\EzXml, which accepts input value in the internal format, and therefore only performs validation of the input value.
...
use eZ\Publish\Core\FieldType\XmlText\Input\EzXml as EzXmlInput;
...
$contentService = $repository->getContentService();
$contentTypeService = $repository->getContentTypeService();
$contentType = $contentTypeService->loadContentTypeByIdentifier( "article" );
$contentCreateStruct = $contentService->newContentCreateStruct( $contentType, "eng-GB" );
$inputString = <<<EZXML
<?xml version="1.0" encoding="utf-8"?>
<section
xmlns:custom="http://ez.no/namespaces/exponential3/custom/"
xmlns:image="http://ez.no/namespaces/exponential3/image/"
xmlns:xhtml="http://ez.no/namespaces/exponential3/xhtml/">
<paragraph>This is a paragraph.</paragraph>
</section>
EZXML;
$ezxmlInput = new EzXmlInput( $inputString );
$contentCreateStruct->setField( "description", $ezxmlInput );
... |
eZ\Publish\Core\FieldType\XmlText\Value offers following properties:
| Property | Type | Description |
|---|---|---|
xml | DOMDocument | Internal format value as an instance of DOMDocument. |
Validation of the internal format is performed in the eZ\Publish\Core\FieldType\XmlText\Input\EzXml class.
Following settings are available:
| Name | Type | Default value | Description |
|---|---|---|---|
| int | 10 | Defines the number of rows for the online editor in the administration interface. |
| mixed | Type::TAG_PRESET_DEFAULT | Preset of tags for the online editor in the administration interface. |
Following tag presets are available as constants in the eZ\Publish\Core\FieldType\XmlText class:
| Constant | Description |
|---|---|
TAG_PRESET_DEFAULT | Default tag preset. |
TAG_PRESET_SIMPLE_FORMATTING | Preset of tags for online editor intended for simple formatting options. |
... use eZ\Publish\Core\FieldType\XmlText\Type; ... $contentTypeService = $repository->getContentTypeService(); $xmltextFieldCreateStruct = $contentTypeService->newFieldDefinitionCreateStruct( "description", "ezxmltext" ); $xmltextFieldCreateStruct->fieldSettings = array( "numRows" => 25, "tagPreset" => Type::TAG_PRESET_SIMPLE_FORMATTING ); ... |