Project

General

Profile

Actions

Feature #40681

open

Enhance suggest wizard by limiting to certain languages

Added by Anonymous over 11 years ago. Updated about 6 years ago.

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

0%

Estimated time:
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.


Files

Actions #1

Updated by Fabian over 11 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>
Actions #2

Updated by Anonymous over 11 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             }

Actions #3

Updated by Tobias H. about 10 years ago

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

Actions #4

Updated by Thomas Christiansen about 10 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.

Actions #5

Updated by Patrick Kavajin about 9 years ago

See attachment for a patch implementing the REC_FIELD_sys_language_uid marker.

Actions #6

Updated by Susanne Moog over 8 years ago

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

Actions #7

Updated by Susanne Moog about 6 years ago

  • Category set to FormEngine aka TCEforms
Actions

Also available in: Atom PDF