Feature #40681

Enhance suggest wizard by limiting to certain languages

Added by Philipp Kitzberger about 7 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2012-09-06
Due date:
% Done:

0%

PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

the asynchronous suggest wizard in tce forms lists matching records of all languages. sometimes this results in a too wide range of records, when only non-translated records are needed anyway.

an improvment to that would be to add a possibility to set a limit to only search for non-translated records or only those records that match to the parent records
language. maybe this could be achieved by introducing where-clauses in general.

since there's no change in this class t3lib_TCEforms_Suggest, this issue applies for 4.5, 4.6 and 4.7.

t3_6.2.9_suggestelement_marker_REC_FIELD_sys_language_uid.patch View (720 Bytes) Patrick Kavajin, 2015-03-03 16:11

History

#1 Updated by Fabian about 7 years ago

I have a similar problem.

If i use "sys_language_uid = ###REC_FIELD_sys_language_uid###" to get only the records in the correct language there are no records found by the suggest wizard anymore.

<type>select</type>
<foreign_table>my_extension</foreign_table>
<foreign_table_where>
AND my_extension.pid = 403 AND my_extension.sys_language_uid = ###REC_FIELD_sys_language_uid###
</foreign_table_where>
<wizards>
<suggest>
<type>suggest</type>
</suggest>
</wizards>

#2 Updated by Philipp Kitzberger about 7 years ago

unfortunately there's only replacement of two markers in the foreign_table_where clause:

see t3lib/tceforms/class.t3lib_tceforms_suggest.php:

214                 //process addWhere
215             if (!isset($config['addWhere']) && $foreign_table_where) {
216                 $config['addWhere'] = $foreign_table_where;
217             }
218             if (isset($config['addWhere'])) {
219                 $config['addWhere'] = strtr(' ' . $config['addWhere'], array(
220                                                                             '###THIS_UID###' => intval($uid),
221                                                                             '###CURRENT_PID###' => intval($pageId),
222                                                                        ));
223             }

#3 Updated by Tobias H. over 5 years ago

Is this issue resolved in TYPO3 6.2? Has anyone checked the behaviour in 6.2?

#4 Updated by Thomas Christiansen over 5 years ago

Nope, it's not. :(

When I use

foreign_table_where' => 'AND my_ext.sys_language_uid=0'

the wizard works fine. In my case i can deal with the hard coded 0.

#5 Updated by Patrick Kavajin over 4 years ago

See attachment for a patch implementing the REC_FIELD_sys_language_uid marker.

#6 Updated by Susanne Moog over 4 years ago

Could you hand in that patch as described here: https://wiki.typo3.org/Contribution_Walkthrough_Tutorials

#7 Updated by Susanne Moog almost 2 years ago

  • Category set to FormEngine aka TCEforms

Also available in: Atom PDF