Hi John, So my problem was that i was using the SelectWidge and not the SelectMulti one.<br>Thanks for your time.<br><br><div><span class="gmail_quote">On 10/10/06, <b class="gmail_sendername">dinshaw gobhai</b> <<a href="mailto:gobhai@gmail.com">
gobhai@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello there,<br>Thanks but I think you did have it right.
<br>I am trying to set the value (add property) to the value of the multi widget.<br>I do the same thing as you but it is passted below.<br>MY problem is that a JAVA developer here before me made this custom class and I just changed the sql to return my categories.
<br>I believe that for the multi values i cannot use an 'extention' of the SelectWidget but rather should be usiing the ComboBox as you are. But not being a JAVA guy and not having a day or two to spend figuring it out i was trying to get it to workwith the selectWidget.
<br>I changed the output to multiple="true" but that did not do the trick.<br><br>Here is what i am using: wuold you mind showing me the ComboBox code you are using?<br><br><br>package com.bhvr.opencms.widgets;
<br>
<br>import com.bhvr.db.DBUtil;<br><br>import org.opencms.file.CmsObject;<br>import org.opencms.widgets.A_CmsSelectWidget;<br>import org.opencms.widgets.CmsSelectWidget;<br>import org.opencms.widgets.CmsSelectWidgetOption
;
<br>import org.opencms.widgets.I_CmsWidget;<br>import org.opencms.widgets.I_CmsWidgetDialog;<br>import org.opencms.widgets.I_CmsWidgetParameter;<br><br>import java.util.Iterator;<br>import java.util.List;<br><br>/**<br> * Provides a widget for a standard HTML form select box.<p>
<br> * <br> * Please see the documentation of <code>{@link org.opencms.widgets.CmsSelectWidgetOption}</code> for a description <br> * about the configuration String syntax for the select options.<p><br>
 *
<br> * The select widget does use the following select options:<ul><br> * <li><code>{@link org.opencms.widgets.CmsSelectWidgetOption#getValue()}</code> for the <code>value</code> of the HTML select box
<br> * <li><code>{@link org.opencms.widgets.CmsSelectWidgetOption#isDefault()}</code> for pre-selecting a specific value <br> * <li><code>{@link org.opencms.widgets.CmsSelectWidgetOption#getOption

()}</code> for the <code>option</code> of the HTML select box<br> * </ul><br> * <p><br> *<br> * @author Andreas Zahner <br> * <br> * @version $Revision: 1.11 $ <br> * <br> * @since 6.0.0 <br>

 */<br>public class CmsCategorySelectWidget extends A_CmsSelectWidget {<br><br>    /**<br>     * Creates a new select widget.<p><br>     */<br>    public CmsCategorySelectWidget() {<br><br>        // empty constructor is required for class registration
<br>        super();<br>    }<br><br>    /**<br>     * Creates a select widget with the select options specified in the given configuration List.<p><br>     * <br>     * The list elements must be of type <code>{@link CmsSelectWidgetOption}</code>.<p>
<br>     * <br>     * @param configuration the configuration (possible options) for the select widget<br>     * <br>     * @see CmsSelectWidgetOption<br>     */<br>    public CmsCategorySelectWidget(List configuration) {
<br>
<br>        super(configuration);<br>    }<br><br>    /**<br>     * Creates a select widget with the specified select options.<p><br>     * <br>     * @param configuration the configuration (possible options) for the select box
<br>     */<br>    public CmsCategorySelectWidget(String configuration) {<br><br>        super(configuration);<br>    }<br><br>    /**<br>     * @see org.opencms.widgets.I_CmsWidget#getDialogWidget(org.opencms.file.CmsObject

, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)<br>     */<br>    public String getDialogWidget(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param) {<br><br>        String id = 
param.getId();<br>        StringBuffer result = new StringBuffer(16);<br><br>        result.append("<td class=\"xmlTd\" style=\"height: 25px;\"><select multiple=\"true\" class=\"xmlInput");
<br>        if (param.hasError()) {<br>            result.append(" xmlInputError");<br>        }<br>        result.append("\" name=\"");<br>        result.append(id);<br>        result.append

("\" id=\"");<br>        result.append(id);<br>        result.append("\">");<br><br>        // get select box options from default value String<br>//        List options = parseSelectOptions(cms, widgetDialog, param);
<br><br>        DBUtil dbUtil = new DBUtil();<br>        <br>        javax.sql.rowset.CachedRowSet rs = dbUtil.getCachedData("java:/comp/env/jdbc/lt", "SELECT CONCAT( REPEAT('-', COUNT(<a href="http://parent.name" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

parent.name</a>) - 1), <a href="http://node.name" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">node.name</a>) AS name,"<br>        +" node.cat_id AS cat_id"<br>        +" FROM categories AS node,"
<br>        +" categories AS parent"
<br>        +" WHERE node.lft BETWEEN parent.lft AND parent.rgt"<br>        +" GROUP BY node.cat_id"<br>        +" ORDER BY node.lft");<br>        <br>        List<CmsSelectWidgetOption> options = new 
java.util.ArrayList<CmsSelectWidgetOption>();<br> <br>        try {<br>            while (rs.next()) {<br>                options.add(new CmsSelectWidgetOption(rs.getString("name"), false, rs.getString("name")));
<br>            }<br>        } catch (Exception e) {<br>            System.err.println(e.getMessage());<br>        }<br>                <br>        <br>        <br>        String selected = getSelectedValue(cms, param);<br>

        Iterator i = options.iterator();<br>        while (i.hasNext()) {<br>            CmsSelectWidgetOption option = (CmsSelectWidgetOption)i.next();<br>            // create the option<br>            result.append("<option value=\"");
<br>            result.append(option.getValue());<br>            result.append("\"");<br>            if ((selected != null) && selected.equals(option.getValue())) {<br>                result.append
(" selected=\"selected\"");
<br>            }<br>            result.append(">");<br>            result.append(option.getOption());<br>            result.append("</option>");<br>        }<br><br>        result.append("</select>");
<br>        result.append("</td>");<br><br>        return result.toString();<br>    }<br><br>    /**<br>     * @see org.opencms.widgets.I_CmsWidget#newInstance()<br>     */<br>    public I_CmsWidget newInstance() {
<br><br>        return new CmsCategorySelectWidget(getConfiguration());<div><span class="e" id="q_10e336d270bfa8e8_1"><br>    }<br>}<br><br><br><div><span class="gmail_quote">On 10/7/06, <b class="gmail_sendername">Jonathan Woods
</b> <<a href="mailto:jonathan.woods@scintillance.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
jonathan.woods@scintillance.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Dinshaw -</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I'm sorry; I misunderstood your question, anyway.  As 
far I can tell, you want the value of multiple elements to map on to a single 
property, whereas in my case I was merely setting an element's 'value' (and 
thereby a mapped property) using values derived from a multi-select 
widget.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Are you restricted to using a PHP application layer?  
If you used Java executing in the OpenCms context, you'd have far more 
flexibility - e.g. Java could process the XML document instance whenever it 
wanted, maybe setting a property to help in later querying for category-matching 
resources.  I take a different approach at <a href="http://www.colfes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.colfes.com</a>: I index XML docs in Lucene, and 
query the Lucene index at page rendering time (with some caching) to select 
resources matching multiple categories.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">By the way, is the code to your CmsCategorySelectWidget 
something you can share?  I currently flatten a hierarchical value 
structure and represent it in a simple SelectorWidget - 
ugly!</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Jon</font></span></div><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:opencms-dev-bounces@opencms.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">opencms-dev-bounces@opencms.org</a> 
[mailto:<a href="mailto:opencms-dev-bounces@opencms.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">opencms-dev-bounces@opencms.org</a>] <b>On Behalf Of </b>dinshaw 
gobhai<br></span><b>Sent:</b> 06 October 2006 17:56<br><b>To:</b> The OpenCms mailing 
list<br><b>Subject:</b> Re: [opencms-dev] Multiple values to a single 
Property?<br></font><br></div><div><span>
<div></div>Hi Jon,<br>Thanks very much. I tried your sugestion and still my 
values are overwritten.<br>My relevent schema lines are:<br><br><xsd:element 
name="Category" type="OpenCmsString" /><br><layout element="Category" 
widget="CmsCategorySelectWidget" /> <br><mapping element="Category" 
mapto="property:category" /><br><br>If you have a second to see if there is 
anything dumb in here (like I shouldn't be using String) that would be 
great.<br>The CmsCategorySelectWidget uses a MySQL nested set modle category 
table to return a tree stucture. <br>Thanks again,<br>-Dinshaw <br><br><br>
<div><span class="gmail_quote">On 10/6/06, <b class="gmail_sendername">Jonathan 
Woods</b> <<a href="mailto:jonathan.woods@scintillance.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jonathan.woods@scintillance.com</a>> 
wrote: </span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
  <div>
  <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Dinshaw 
  -</font></span></div>
  <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
  <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I use a 
  SelectorWidget to render a multiple-select list in a couple of my XSDs, and I 
  used to map the (multiple) value of this using an ordinary <mapping> 
  element.  OpenCms populated the property with the values selected, 
  separating them with a comma (or was it a semicolon? can't 
  recall).</font></span></div>
  <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
  <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Jon</font></span></div><br>
  <div dir="ltr" align="left" lang="en-us">
  <hr>
  <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:opencms-dev-bounces@opencms.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">opencms-dev-bounces@opencms.org</a> [mailto:<a href="mailto:opencms-dev-bounces@opencms.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

opencms-dev-bounces@opencms.org</a>] <b>On Behalf Of </b>dinshaw 
  gobhai<br><b>Sent:</b> 05 October 2006 18:48<br><b>To:</b> <a href="mailto:opencms-dev@opencms.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">opencms-dev@opencms.org</a><br><b>Subject:</b> [opencms-dev] 
  Multiple values to a single Property?<br></font><br></div>
  <div><span>
  <div></div>Hi there,<br>I am fairly new to OpenCMS and have found references 
  to that fact that i can map multiple values to a single property however I can 
  not find a guide as to how.<br>If anyone could point me to a reference that 
  would be great. <br><br>The problem is that I  have a category select 
  list for a content type my_article.xsd that needs to occur multiple times so 
  that it can appear on different category pages simultaneously.<br><br>The 
  catch is that the system I am working on has built a php application layer to 
  get and parse the OpenCMS content and they sql query needs the property value 
  to target the articles that should be included. <br><br>Currently only the 
  first instance of the Category select list is mapped to the category 
  property.<br><br><mapping element="Category" mapto="property:category" 
  /><br><br>so what i was looking for (i think) was something like 
  <br><mapping element="Category" mapto="property:category" multiple="true" 
  /><br><br>But i have been unable to find it.<br><br>Any help would be 
  greatly appreciated.<br>Thanks,<br>-Dinshaw, NYC 
  <br><br></span></div></div><br><br>_______________________________________________<br>This 
  mail is sent to you from the opencms-dev mailing list<br>To change your list 
  options, or to unsubscribe from the list, please visit<br><a href="http://lists.opencms.org/mailman/listinfo/opencms-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.opencms.org/mailman/listinfo/opencms-dev
</a><br><br></blockquote></div><br></span></div></div>

<br><br>_______________________________________________<br>This mail is sent to you from the opencms-dev mailing list<br>To change your list options, or to unsubscribe from the list, please visit<br><a href="http://lists.opencms.org/mailman/listinfo/opencms-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://lists.opencms.org/mailman/listinfo/opencms-dev</a><br><br></blockquote></div><br>

</span></div></blockquote></div><br>