[TYPO3-project-formidable] Multiple values from LISTBOX
Manuel Rego Casasnovas
mrego at igalia.com
Tue May 29 12:07:25 CEST 2007
Sorry Jerome,
You have reason. The correct XHTML way is:
$sSelected = " selected=\"selected\" ";
I've changed this in my code and it works.
I think that I changed this code and the functions _flatten and
_unflatten and I thank that the solution is related with this line. But
if fact the problem was in the methods _flatten and _unflatten.
I'm sorry ;-)
Rego
--
http://www.igalia.com
Jerome Schneider escribió:
> 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
>>>
>>>
>>>
> _______________________________________________
> 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