Project

General

Profile

Actions

Feature #8963

closed

Input array handling

Added by Mathias Bolt Lesniak over 13 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Could have
Assignee:
-
Category:
TypoScript
Target version:
Start date:
2010-07-20
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Hi!

I would really love it if stdWrap could handle input arrays too, not just strings. I posted about this on the TYPO3-english list earlier today and got a tip about this project. Here's my post:

Is it really impossible to somehow use array data from GET/POST in TypoScript? I can't seem to find any way to get it to work.

Here's the issue:

URL is: index.php?id=1&test[]=x&test[]=y&test[]=z

How do I access the values of the "test" array without having to do "data = GP : test | 0", "data = GP : test | 1", etc. It won't work if I don't know the length of the array.

I imagine two solutions, but neither exist today. The first one (below) is the easiest, but both require tslib_cobj->getText() to return arrays.

SOLUTION 1:

(This doesn't work because "data = GP : test" will return an empty string, since it sees the array.)

page.10 = TEXT
page.10.data = GP : test
#Implode the array so I can explode it with "split" 
page.10.implode = ,
page.10.split {
  token = ,
  cObjNum = 1
  1 = TEXT
  1.current = 1
  1.wrap = <p>|</p>
}

SOLUTION 2:

#Using a new cObject which iterates arrays
page.10 = ITERATE
page.10.data = GP : test
page.10.1 = TEXT
page.10.1.current = 1
page.10.1.wrap = <p>|</p>

The third solution would be to run everything though a custom USER function, but it's much less flexible.

- Mathias

Actions #1

Updated by Jo Hasenau over 13 years ago

  • Status changed from New to Needs Feedback

No implode necessary, because we can directly split the array using new parameters called "mode" and maybe even "arrayKey" and "arrayValue", while still staying backwards compatible and keeping the optionSplit features.
So I would prefer this one:

page.10 = TEXT
page.10.data = GP : test
page.10.split {
  mode = array
  cObjNum = 1|*||*|2
  1 = COA
  1 {
    wrap = <p class="first">|</p>
    10 = TEXT
    10.arrayKey = 1
    20 = TEXT
    20.arrayValue = 1
  }
  2 < .1
  2 {
    wrap = <p class="second">|</p>
  }
}

So do you think you can implement that and send a patch?
Anybody else interested in this task?

Have a nice weekend

Joey

Actions #2

Updated by Mathias Bolt Lesniak over 13 years ago

Jo Hasenau wrote:

So do you think you can implement that and send a patch?

I'll take a look. :-)

- Mathias

Actions #3

Updated by Susanne Moog almost 13 years ago

  • Project changed from 1353 to TYPO3 Core
Actions #4

Updated by Helmut Hummel over 12 years ago

  • Priority changed from Should have to Could have
  • TYPO3 Version set to 4.7
Actions #5

Updated by Alexander Opitz almost 11 years ago

The issue is very old, does this issue exists in newer versions of TYPO3 CMS (4.5 or 6.1)?

Actions #6

Updated by Mathias Bolt Lesniak almost 11 years ago

Alexander Opitz wrote:

The issue is very old, does this issue exists in newer versions of TYPO3 CMS (4.5 or 6.1)?

As far as I know it still exists.

I never got that patch sorted out. As far as I can remember, I got stuck in a deliberation about wether not not it was a good idea after all to use split to handle arrays. It seemed counter intuitive.

Actions #7

Updated by Alexander Opitz almost 11 years ago

  • Status changed from Needs Feedback to New
Actions #8

Updated by Mathias Schreiber over 9 years ago

  • Target version set to 7.2 (Frontend)
  • Is Regression set to No
Actions #9

Updated by Mathias Schreiber over 9 years ago

  • Tracker changed from Bug to Feature
Actions #10

Updated by Benni Mack almost 9 years ago

  • Target version changed from 7.2 (Frontend) to 7.4 (Backend)
Actions #11

Updated by Susanne Moog over 8 years ago

  • Target version changed from 7.4 (Backend) to 7.5
Actions #12

Updated by Benni Mack over 8 years ago

  • Target version changed from 7.5 to 8 LTS
Actions #13

Updated by Riccardo De Contardi about 7 years ago

  • Target version changed from 8 LTS to 9.0
Actions #14

Updated by Susanne Moog over 6 years ago

  • Category set to TypoScript
Actions #15

Updated by Christian Kuhn over 6 years ago

  • Status changed from New to Closed

closing this for now. if there is specific work on a solution, we should handle that with a new issue.

Actions

Also available in: Atom PDF