The XmlText Field Type isn't officially supported by eZ Platform. It can be installed by requiring ezsystems/ezplatform-xmltext-fieldtype. PlatformUI does not support wysiwyg editing of this type of Field. |
This Field Type validates and stores formatted text using the eZ Publish legacy format, ezxml.
Name | Internal name | Expected input |
---|---|---|
XmlText | ezxmltext | mixed |
Type | Description | Example |
---|---|---|
string | XML document in the Field Type internal format as a string. | See the example below. |
eZ\Publish\Core\FieldType\XmlText\Input | An instance of the class implementing Field Type abstract Input class. | See the example below. |
eZ\Publish\Core\FieldType\XmlText\Value | An instance of the Field Type Value object. | See the example below. |
<?xml version="1.0" encoding="utf-8"?> <section xmlns:custom="http://ez.no/namespaces/ezpublish3/custom/" xmlns:image="http://ez.no/namespaces/ezpublish3/image/" xmlns:xhtml="http://ez.no/namespaces/ezpublish3/xhtml/"> <paragraph>This is a paragraph.</paragraph> </section> |
The eZ XML output uses <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 Field Type'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/ezpublish3/custom/" xmlns:image="http://ez.no/namespaces/ezpublish3/image/" xmlns:xhtml="http://ez.no/namespaces/ezpublish3/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 ); ... |