[TYPO3-project-formidable] Multiple values from LISTBOX
Jerome Schneider
j.schneider at ameos.com
Tue May 29 11:47:18 CEST 2007
Hello, the code is :
if($this->_isMultiple()) {
if(is_array($sValue)) {
if(in_array($value, $sValue)) {
$sSelected = " selected=\"selected\" ";
}
}
} else {
if($aItem["value"] == $sValue) {
$sSelected = " selected=\"selected\" ";
}
}
Is it correct ? I heard that selected="selected" is the xhtml way of
doing things ?
Thanks,
Jerome Schneider
Manuel Rego Casasnovas a écrit :
> Hi Jerome,
>
> I think that there are a small bug in the class ux_tx_rdtlistbox, you've
> to change the lines:
> $sSelected = " selected=\"selected\" ";
> For lines like:
> $sSelected = " selected ";
>
> This is a HTML problem.
>
> Bye,
> Rego
>
> --
> http://www.igalia.com
>
>
> Jerome Schneider escribió:
>> Hi Manuel and Luc
>>
>> I used the code you provided to implement this feature in the core.
>> SVN is updated and you can find a build there:
>>
>> http://www.ameos.com/formidable
>>
>> Revision 37
>>
>>
>> Thanks for helping :) !
>>
>>
>> Best regards,
>> Jerome Schneider
>>
>>
>> Luc Muller a écrit :
>>
>>> Hi Manuel.
>>>
>>> Thanks for this small addition to formidable.
>>> It's great to see that peoples are involved in the project :)
>>>
>>> The multiple choice listbox is something that should have been implemented
>>> inside formidable sometimes ago, but, for now, it was just a missing
>>> feature.
>>>
>>> We just forgot to put it in :p
>>>
>>> I think jerome is going to get that inside Formidable Core.
>>>
>>> For Now I'm think of something else.
>>>
>>> You allow people to select multiple option in listbox.
>>>
>>> Did you think about adding the possibility to display <optgroup> ?
>>>
>>> This is not really used inside a lot of project, but it can be useful when
>>> listboxes are really big.
>>>
>>> As you were modifying the listbox renderlet, may you have a look at this
>>> point and see what's possible with this.
>>>
>>> By our side, we are working on totaly other aspect on formidable at the
>>> moment, but it's gonna be a next feature, I'll Add it right now in the todo.
>>>
>>> Thanks a lot :)
>>>
>>> "Manuel Rego Casasnovas" <mrego at igalia.com> a écrit dans le message de news:
>>> mailman.224377.1179212570.21067.typo3-project-formidable at lists.netfielders.de...
>>>
>>> Hi,
>>>
>>> I have modified the tx_rdtlistbox class to add this new feature, now I
>>> can create a LISTBOX renderlet that allow me to do multiple choice. The
>>> renderlet code is the next:
>>> <renderlet:LISTBOX name="my_field">
>>> <multiple>true</multiple>
>>> <data>
>>> <items>
>>> <item caption="" value="" />
>>> <item caption="A" value="0" />
>>> <item caption="B" value="1" />
>>> </items>
>>> </data>
>>> <custom>size="10"</custom>
>>> </renderlet:LISTBOX>
>>>
>>> To do this, I've copied the source code from renderonly tag and I've
>>> added the next function to the class tx_rdtlistbox:
>>> function _isMultiple() {
>>> return ($this->oForm->_isTrue("/multiple/", $this->aElement));
>>> }
>>>
>>> And I've modified the _render method in this class:
>>> if($this->_isMultiple()) {
>>> $sInput = "<select name=\"" . $this->_getElementHtmlName() . "[]\"
>>> multiple ";
>>> } else {
>>> $sInput = "<select name=\"" . $this->_getElementHtmlName() . "\" ";
>>> }
>>> $sInput.= "id=\"" . $this->_getElementHtmlId() . "\"" .
>>> $this->_getAddInputParams() . ">" . $sOptionsList . "</select>";
>>>
>>>
>>> I attach the file for this new class in this mail.
>>>
>>>
>>> Jerome, if you want you can add this change to your classes. I think
>>> that is a new feature that can be interesting for more people.
>>>
>>>
>>> Best regards,
>>> Rego
>>>
>>> --
>>> http://www.igalia.com
>>>
>>>
>>> El lun, 14-05-2007 a las 10:19 +0200, Manuel Rego Casasnovas escribió:
>>>
>>>> Hello.
>>>>
>>>> I want to create a form with a listbox in which you can select several
>>>> values. I get it with the next code:
>>>> <renderlet:LISTBOX name="var">
>>>> <data>
>>>> <items>
>>>> <item caption="one" value="1" />
>>>> <item caption="two" value="2" />
>>>> ...
>>>> <item caption="ten" value="10" />
>>>> </items>
>>>> </data>
>>>> <custom>multiple size="5"</custom>
>>>> </renderlet:LISTBOX>
>>>>
>>>> The problem is that to receive the values from this form, the
>>>> renderlet's name must end with square brackets, something like "var[]".
>>>> If I put square brackets at the end of the name, the renderlet isn't
>>>> showed in my form.
>>>>
>>>> Some solution to do a multiple listbox?
>>>>
>>>> Thanks,
>>>> Rego
>>>>
>>>> --
>>>> http://www.igalia.com
>>>>
>>>> _______________________________________________
>>>> TYPO3-project-formidable mailing list
>>>> TYPO3-project-formidable at lists.netfielders.de
>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>>>>
>>>
>> _______________________________________________
>> TYPO3-project-formidable mailing list
>> TYPO3-project-formidable at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>>
>>
More information about the TYPO3-project-formidable
mailing list