Re: Radio Select Widget

Michael Emmerich via opencms-dev <[email protected]> Mon, 4 Aug 2025 07:50:59 +0200
Newsgroups gmane.comp.cms.opencms.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============5808408091976571469==
Content-Type: multipart/alternative;
 boundary="------------Vq6PYN6b7ViiJ0i5PH5tNK6N"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------Vq6PYN6b7ViiJ0i5PH5tNK6N
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello Atle,

in your schema you have the following:

[...]
<Setting>
     <PropertyName>FooterVariant</PropertyName>
     <Widget>radio</Widget>
<WidgetConfig><![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]></WidgetConfig>
     <Default>default</Default>
</Setting>
[...]

The order of the nodes is wrong, it must be

[...]
<Setting>
     <PropertyName>FooterVariant</PropertyName>
     <Widget>radio</Widget>
*<Default>default</Default>*
<WidgetConfig><![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]></WidgetConfig>
</Setting>
[...]

Unfortunately, OpenCms required a fixed order of those nodes in the 
settings, you can find the correct order here in the documentation:

https://documentation.opencms.org/opencms-documentation/template-development/field-settings-reference/#available-options-903cc608


Kind regards,

Michael



Am 01.08.25 um 19:41 schrieb Atle Enersen via opencms-dev:
> Hello again :-)
>
> Might be helpful to see the full XSD(?):
>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>
> 	<xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd"/>
>
> 	<xsd:element name="EnersenArticleNormalData" type="OpenCmsEnersenArticleNormalData"/>
>
> 	<xsd:complexType name="OpenCmsEnersenArticleNormalData">
> 		<xsd:sequence>
> 			<xsd:element name="EnersenArticleNormal" type="OpenCmsEnersenArticleNormal" minOccurs="0" maxOccurs="unbounded"/>
> 		</xsd:sequence>
> 	</xsd:complexType>
>
> 	<xsd:complexType name="OpenCmsEnersenArticleNormal">
> 		<xsd:sequence>
> 			<xsd:element name="Title" type="OpenCmsString" />
> 			<xsd:element name="RealAuthorName" type="OpenCmsString" />
> 			<xsd:element name="RealAuthorEmail" type="OpenCmsString" />
> 			<xsd:element name="Teaser" type="OpenCmsHtml" />
> 			<xsd:element name="Ingress" type="OpenCmsHtml" />
> 			<xsd:element name="Body" type="OpenCmsHtml" />
> 			<xsd:element name="DatePublish" type="OpenCmsDateTime" />
> 			<xsd:element name="DateVisible" type="OpenCmsDateTime" />
> 			<xsd:element name="DateUnpublish" type="OpenCmsDateTime" />
> 			<xsd:element name="Categories" type="OpenCmsDynamicCategory" />
> 			<xsd:element name="ImageTop" type="OpenCmsVfsFile" />
> 			<xsd:element name="ImageTopText" type="OpenCmsHtml" />
> 			<xsd:element name="ImageBottom" type="OpenCmsVfsFile" />
> 			<xsd:element name="ImageBottomText" type="OpenCmsHtml" />
> 			<xsd:element name="LinkURI" type="OpenCmsVarLink" />
> 			<xsd:element name="DisplayOrder" type="OpenCmsString" />
> 			<xsd:element name="FooterVariant" type="OpenCmsString" minOccurs="0"/>
> 		</xsd:sequence>
> 		<xsd:attribute name="language" type="OpenCmsLocale" use="required"/>
> 	</xsd:complexType>
>
> 	<xsd:annotation>
> 		<xsd:appinfo>
> 		    <resourcebundles>
>                  <propertybundle name="org.enersen.core.messages" />
>              </resourcebundles>
> 			<FieldSettings>
>                  <Setting>
>                      <PropertyName>Title</PropertyName>
>                      <DisplayName><![CDATA[%(key.label.Title)]]></DisplayName>
>                      <Description><![CDATA[%(key.label.Title.help)]]></Description>
>                      <Widget>string</Widget>
>                      <Default><![CDATA[%(key.type.enersenarticlenormal.title)]]></Default>
>                      <Search>listtitle</Search>
>                      <Mapping>
>                         <MapTo>property:Title</MapTo>
>                         <UseDefault>true</UseDefault>
>                      </Mapping>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>RealAuthorName</PropertyName>
>                      <Widget>string</Widget>
>                      <Default>Navn Navnesen</Default>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>RealAuthorEmail</PropertyName>
>                      <Widget>string</Widget>
>                      <Default>Epostadresse</Default>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>Teaser</PropertyName>
>                      <Widget>html</Widget>
>                      <WidgetConfig><![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]></WidgetConfig>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>Ingress</PropertyName>
>                      <Widget>html</Widget>
>                      <WidgetConfig><![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]></WidgetConfig>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>Body</PropertyName>
>                      <Widget>html</Widget>
>                      <WidgetConfig><![CDATA[height:800px,link,anchor,source,downloadgallery,formatselect]]></WidgetConfig>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>DatePublish</PropertyName>
>                      <Widget>datetime</Widget>
>                      <Default><![CDATA[%(currenttime)]]></Default>
>                      <Search>listdate</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>DateVisible</PropertyName>
>                      <Widget>datetime</Widget>
>                      <Default><![CDATA[%(currenttime)]]></Default>
>                      <Search>listdate</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>DateUnpublish</PropertyName>
>                      <Widget>datetime</Widget>
>                      <Default><![CDATA[%(currenttime)]]></Default>
>                      <Search>listdate</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>Categories</PropertyName>
>                      <Widget>category</Widget>
>                      <WidgetConfig>onlyleafs=false</WidgetConfig>
>                      <Search>false</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>ImageTop</PropertyName>
>                      <Widget>imagegallery</Widget>
>                      <WidgetConfig>{useformat:true}</WidgetConfig>
>                      <Search>false</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>ImageTopText</PropertyName>
>                      <Widget>html</Widget>
>                      <WidgetConfig><![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]></WidgetConfig>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>ImageBottom</PropertyName>
>                      <Widget>imagegallery</Widget>
>                      <WidgetConfig>{useformat:true}</WidgetConfig>
>                      <Search>false</Search>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>ImageBottomText</PropertyName>
>                      <Widget>html</Widget>
>                      <WidgetConfig><![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]></WidgetConfig>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>LinkURI</PropertyName>
>                      <Widget>file</Widget>
>                      <Search>false</Search>
>                      <Display>singleline</Display>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>DisplayOrder</PropertyName>
>                      <Widget>string</Widget>
>                      <Default>0</Default>
>                  </Setting>
>                  <Setting>
>                      <PropertyName>FooterVariant</PropertyName>
>                      <Widget>radio</Widget>
>                      <WidgetConfig><![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]></WidgetConfig>
>                      <Default>default</Default>
>                  </Setting>
>              </FieldSettings>
> 		</xsd:appinfo>
>      </xsd:annotation>
>
> </xsd:schema>
>
> Best regards/Vennlig hilsen, Atle Enersen

-- 
Michael Emmerich

Alkacon Software GmbH & Co. KG - The OpenCms Experts

http://www.alkacon.com
http://www.opencms.org

--------------Vq6PYN6b7ViiJ0i5PH5tNK6N
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello Atle,</p>
    <p>in your schema you have the following:</p>
    <p>[...]<br>
      &lt;Setting&gt;<br>
          &lt;PropertyName&gt;FooterVariant&lt;/PropertyName&gt;<br>
          &lt;Widget&gt;radio&lt;/Widget&gt;<br>
         
&lt;WidgetConfig&gt;&lt;![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]&gt;&lt;/WidgetConfig&gt;<br>
          &lt;Default&gt;default&lt;/Default&gt;<br>
      &lt;/Setting&gt;<br>
      [...]</p>
    <p>The order of the nodes is wrong, it must be</p>
    <p>[...]<br>
      &lt;Setting&gt;<br>
          &lt;PropertyName&gt;FooterVariant&lt;/PropertyName&gt;<br>
          &lt;Widget&gt;radio&lt;/Widget&gt;<br>
          <b>&lt;Default&gt;default&lt;/Default&gt;</b><br>
         
&lt;WidgetConfig&gt;&lt;![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]&gt;&lt;/WidgetConfig&gt;<br>
      &lt;/Setting&gt;<br>
      [...]</p>
    <p>Unfortunately, OpenCms required a fixed order of those nodes in
      the settings, you can find the correct order here in the
      documentation:</p>
    <p><a class="moz-txt-link-freetext" href="https://documentation.opencms.org/opencms-documentation/template-development/field-settings-reference/#available-options-903cc608">https://documentation.opencms.org/opencms-documentation/template-development/field-settings-reference/#available-options-903cc608</a></p>
    <p><br>
    </p>
    <p>Kind regards,</p>
    <p>Michael</p>
    <p><br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Am 01.08.25 um 19:41 schrieb Atle
      Enersen via opencms-dev:<br>
    </div>
    <blockquote type="cite"
cite="mid:VI1PR10MB206340C1A8C66751803E1A48A926A@VI1PR10MB2063.EURPRD10.PROD.OUTLOOK.COM">
      <pre wrap="" class="moz-quote-pre">Hello again :-)

Might be helpful to see the full XSD(?):

&lt;xsd:schema xmlns:xsd=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema">"http://www.w3.org/2001/XMLSchema"</a> elementFormDefault="qualified"&gt;

	&lt;xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd"/&gt;

	&lt;xsd:element name="EnersenArticleNormalData" type="OpenCmsEnersenArticleNormalData"/&gt;

	&lt;xsd:complexType name="OpenCmsEnersenArticleNormalData"&gt;
		&lt;xsd:sequence&gt;
			&lt;xsd:element name="EnersenArticleNormal" type="OpenCmsEnersenArticleNormal" minOccurs="0" maxOccurs="unbounded"/&gt;
		&lt;/xsd:sequence&gt;
	&lt;/xsd:complexType&gt;

	&lt;xsd:complexType name="OpenCmsEnersenArticleNormal"&gt;
		&lt;xsd:sequence&gt;
			&lt;xsd:element name="Title" type="OpenCmsString" /&gt;
			&lt;xsd:element name="RealAuthorName" type="OpenCmsString" /&gt;
			&lt;xsd:element name="RealAuthorEmail" type="OpenCmsString" /&gt;
			&lt;xsd:element name="Teaser" type="OpenCmsHtml" /&gt;
			&lt;xsd:element name="Ingress" type="OpenCmsHtml" /&gt;
			&lt;xsd:element name="Body" type="OpenCmsHtml" /&gt;
			&lt;xsd:element name="DatePublish" type="OpenCmsDateTime" /&gt;
			&lt;xsd:element name="DateVisible" type="OpenCmsDateTime" /&gt;
			&lt;xsd:element name="DateUnpublish" type="OpenCmsDateTime" /&gt;
			&lt;xsd:element name="Categories" type="OpenCmsDynamicCategory" /&gt;
			&lt;xsd:element name="ImageTop" type="OpenCmsVfsFile" /&gt;
			&lt;xsd:element name="ImageTopText" type="OpenCmsHtml" /&gt;
			&lt;xsd:element name="ImageBottom" type="OpenCmsVfsFile" /&gt;
			&lt;xsd:element name="ImageBottomText" type="OpenCmsHtml" /&gt;
			&lt;xsd:element name="LinkURI" type="OpenCmsVarLink" /&gt;
			&lt;xsd:element name="DisplayOrder" type="OpenCmsString" /&gt;
			&lt;xsd:element name="FooterVariant" type="OpenCmsString" minOccurs="0"/&gt;
		&lt;/xsd:sequence&gt;
		&lt;xsd:attribute name="language" type="OpenCmsLocale" use="required"/&gt;
	&lt;/xsd:complexType&gt;

	&lt;xsd:annotation&gt;
		&lt;xsd:appinfo&gt;
		    &lt;resourcebundles&gt;
                &lt;propertybundle name="org.enersen.core.messages" /&gt;
            &lt;/resourcebundles&gt;
			&lt;FieldSettings&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;Title&lt;/PropertyName&gt;
                    &lt;DisplayName&gt;&lt;![CDATA[%(key.label.Title)]]&gt;&lt;/DisplayName&gt;
                    &lt;Description&gt;&lt;![CDATA[%(key.label.Title.help)]]&gt;&lt;/Description&gt;
                    &lt;Widget&gt;string&lt;/Widget&gt;
                    &lt;Default&gt;&lt;![CDATA[%(key.type.enersenarticlenormal.title)]]&gt;&lt;/Default&gt;
                    &lt;Search&gt;listtitle&lt;/Search&gt;
                    &lt;Mapping&gt;
                       &lt;MapTo&gt;property:Title&lt;/MapTo&gt;
                       &lt;UseDefault&gt;true&lt;/UseDefault&gt;
                    &lt;/Mapping&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;RealAuthorName&lt;/PropertyName&gt;
                    &lt;Widget&gt;string&lt;/Widget&gt;
                    &lt;Default&gt;Navn Navnesen&lt;/Default&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;RealAuthorEmail&lt;/PropertyName&gt;
                    &lt;Widget&gt;string&lt;/Widget&gt;
                    &lt;Default&gt;Epostadresse&lt;/Default&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;Teaser&lt;/PropertyName&gt;
                    &lt;Widget&gt;html&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]&gt;&lt;/WidgetConfig&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;Ingress&lt;/PropertyName&gt;
                    &lt;Widget&gt;html&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]&gt;&lt;/WidgetConfig&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;Body&lt;/PropertyName&gt;
                    &lt;Widget&gt;html&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[height:800px,link,anchor,source,downloadgallery,formatselect]]&gt;&lt;/WidgetConfig&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;DatePublish&lt;/PropertyName&gt;
                    &lt;Widget&gt;datetime&lt;/Widget&gt;
                    &lt;Default&gt;&lt;![CDATA[%(currenttime)]]&gt;&lt;/Default&gt;
                    &lt;Search&gt;listdate&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;DateVisible&lt;/PropertyName&gt;
                    &lt;Widget&gt;datetime&lt;/Widget&gt;
                    &lt;Default&gt;&lt;![CDATA[%(currenttime)]]&gt;&lt;/Default&gt;
                    &lt;Search&gt;listdate&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;DateUnpublish&lt;/PropertyName&gt;
                    &lt;Widget&gt;datetime&lt;/Widget&gt;
                    &lt;Default&gt;&lt;![CDATA[%(currenttime)]]&gt;&lt;/Default&gt;
                    &lt;Search&gt;listdate&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;Categories&lt;/PropertyName&gt;
                    &lt;Widget&gt;category&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;onlyleafs=false&lt;/WidgetConfig&gt;
                    &lt;Search&gt;false&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;ImageTop&lt;/PropertyName&gt;
                    &lt;Widget&gt;imagegallery&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;{useformat:true}&lt;/WidgetConfig&gt;
                    &lt;Search&gt;false&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;ImageTopText&lt;/PropertyName&gt;
                    &lt;Widget&gt;html&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]&gt;&lt;/WidgetConfig&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;ImageBottom&lt;/PropertyName&gt;
                    &lt;Widget&gt;imagegallery&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;{useformat:true}&lt;/WidgetConfig&gt;
                    &lt;Search&gt;false&lt;/Search&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;ImageBottomText&lt;/PropertyName&gt;
                    &lt;Widget&gt;html&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[height:600px,link,anchor,source,downloadgallery,formatselect]]&gt;&lt;/WidgetConfig&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;LinkURI&lt;/PropertyName&gt;
                    &lt;Widget&gt;file&lt;/Widget&gt;
                    &lt;Search&gt;false&lt;/Search&gt;
                    &lt;Display&gt;singleline&lt;/Display&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;DisplayOrder&lt;/PropertyName&gt;
                    &lt;Widget&gt;string&lt;/Widget&gt;
                    &lt;Default&gt;0&lt;/Default&gt;
                &lt;/Setting&gt;
                &lt;Setting&gt;
                    &lt;PropertyName&gt;FooterVariant&lt;/PropertyName&gt;
                    &lt;Widget&gt;radio&lt;/Widget&gt;
                    &lt;WidgetConfig&gt;&lt;![CDATA[default=Standard|blog=Blog|tur=Tur|overblikket=Overblikket]]&gt;&lt;/WidgetConfig&gt;
                    &lt;Default&gt;default&lt;/Default&gt;
                &lt;/Setting&gt;
            &lt;/FieldSettings&gt;
		&lt;/xsd:appinfo&gt;
    &lt;/xsd:annotation&gt;

&lt;/xsd:schema&gt;

Best regards/Vennlig hilsen, Atle Enersen 
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Michael Emmerich

Alkacon Software GmbH &amp; Co. KG - The OpenCms Experts

<a class="moz-txt-link-freetext" href="http://www.alkacon.com">http://www.alkacon.com</a>
<a class="moz-txt-link-freetext" href="http://www.opencms.org">http://www.opencms.org</a>
</pre>
  </body>
</html>

--------------Vq6PYN6b7ViiJ0i5PH5tNK6N--

--===============5808408091976571469==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGhpcyBtYWls
IGlzIHNlbnQgdG8geW91IGZyb20gdGhlIG9wZW5jbXMtZGV2IG1haWxpbmcgbGlzdApUbyBjaGFu
Z2UgeW91ciBsaXN0IG9wdGlvbnMsIG9yIHRvIHVuc3Vic2NyaWJlIGZyb20gdGhlIGxpc3QsIHBs
ZWFzZSB2aXNpdApodHRwczovL2xpc3RzLm9wZW5jbXMub3JnL21haWxtYW4vbGlzdGluZm8vb3Bl
bmNtcy1kZXYKCgoK

--===============5808408091976571469==--