Bug #70086

Epic #69955: Optimize new Extbase/ Fluid based rewrite of EXT:form

Story #70068: EXT:form - Support bootstrap_package

EXT:form - Bring back view specific layout settings

Added by Bjoern Jacob about 4 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Should have
Category:
Form Framework
Target version:
Start date:
2015-09-24
Due date:
% Done:

100%

TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

The issue #31951 introduced a solution for view specific layout settings. Since this issue was not documented the functionality was dropped when moving to Extbase/ Fluid.

Reintroduce the functionality.


Related issues

Related to TYPO3 Core - Bug #60995: tx_form PostProcessor - wrong layout handling Closed 2014-08-15
Related to TYPO3 Core - Bug #31951: Own checkbox layout breaks HTML mail Closed 2011-11-20

Associated revisions

Revision d93485dc (diff)
Added by Ralf Zimmermann about 4 years ago

[BUGFIX] EXT:form - Bring back view specific layout settings

The issue #31951 introduced a solution for view specific layout settings
(for the form and the confirmation page). This patchset restores the
functionality and also allows a differing layout for the post processor/
mail. Furthermore it supports the extraordinary layout settings of
EXT:bootstrape_package which introduced some edge cases while changing
radiogroups and checkboxgroups.

Resolves: #70086
Releases: master
Change-Id: Ic8d1075e535a5ad7528ff53ddcf0daa44408d53d
Reviewed-on: http://review.typo3.org/43533
Tested-by: Bjoern Jacob <>
Reviewed-by: Bjoern Jacob <>
Reviewed-by: Frans Saris <>
Tested-by: Frans Saris <>

History

#1 Updated by Gerrit Code Review about 4 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#2 Updated by Benni Mack about 4 years ago

  • Sprint Focus set to Stabilization Sprint

#3 Updated by Gerrit Code Review about 4 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#4 Updated by Gerrit Code Review about 4 years ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#5 Updated by Gerrit Code Review about 4 years ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#6 Updated by Gerrit Code Review about 4 years ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#7 Updated by Gerrit Code Review about 4 years ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#8 Updated by Gerrit Code Review about 4 years ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#9 Updated by Gerrit Code Review about 4 years ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#10 Updated by Ralf Zimmermann about 4 years ago

Test:

enctype = multipart/form-data
method = post
prefix = tx_form
confirmation = 1

postProcessor {
    1 = mail
    1 {
        recipientEmail = mail@email.com
        senderEmail = mail@email.com
    }
}

form {
    layout {
        form (
            <form class="form-horizontal">
                <containerWrap />
            </form>
        )

        containerWrap (
            <div class="containerWrap">
                <elements />
            </div>
        )

        elementWrap (
            <div class="elementWrap">
                <element />
            </div>
        )

        fieldset (
            <fieldset class="fieldset">
                <legend />
                <containerWrap />
            </fieldset>
        )

        checkbox (
            <div class="checkbox">
                <input />
                <label />
            </div>
        )

        radio (
            <div class="radio">
                <input />
                <label />
            </div>
        )

        radiogroup (
            <div class="form-group">
                <div class="col-sm-3 control-label">
                    <legend />
                </div>
                <div class="col-sm-5">
                    <elements />
                </div>
            </div>
        )

        checkboxgroup < .radiogroup

        label (
            <label>
                <labelvalue />
                <mandatory />
                <error />
            </label>
        )

        legend (
            <legend>
                <legendvalue />
                <mandatory />
                <error />
            </legend>
        )

        error (
            <span class="help-block text-danger"><errorvalue /></span>
        )

        textline (
            <div class="form-group">
                <div class="col-sm-3 control-label">
                    <label />
                </div>
                <div class="col-sm-5">
                    <input class="form-control" />
                </div>
            </div>
        )

        fileupload < .textline

        textarea (
            <div class="form-group">
                <div class="col-sm-3 control-label">
                    <label />
                </div>
                <div class="col-sm-5">
                    <textarea class="form-control" />
                </div>
            </div>
        )

        submit (
            <div class="form-group">
                <div class="col-sm-offset-3 col-sm-9">
                    <input class="btn btn-primary" />
                </div>
            </div>
        )

        select (
            <div class="form-group">
                <div class="col-sm-3 control-label">
                    <label />
                </div>
                <div class="col-sm-5">
                    <select class="form-control">
                        <elements />
                    </select>
                </div>
            </div>
        )
    }
}

confirmation {
    layout {
        confirmation (
            <div class="form-horizontal">
                <containerWrap />
            </div>
        )

        containerWrap (
            <div>
                <elements />
            </div>
        )

        elementWrap (
            <div class="elementWrap">
                <element />
            </div>
        )

        fieldset (
            <containerWrap />
        )

        checkbox (
            <label />
            <inputvalue />
        )

        radio (
            <label />
            <inputvalue />
        )

        radiogroup (
            <div class="form-group">
                <div class="col-sm-3">
                    <strong><legend /></strong>
                </div>
                <div class="col-sm-5">
                    <elements />
                </div>
            </div>
        )

        checkboxgroup < .radiogroup

        label (
            <labelvalue />
        )

        legend (
            <legendvalue />
        )

        textline (
            <div class="form-group">
                <div class="col-sm-3">
                    <strong>
                        <label />
                    </strong>
                </div>
                <div class="col-sm-5">
                    <inputvalue />
                </div>
            </div>
        )

        fileupload < .textline

        textarea (
            <div class="form-group">
                <div class="col-sm-3">
                    <strong>
                        <label />
                    </strong>
                </div>
                <div class="col-sm-5">
                    <inputvalue />
                </div>
            </div>
        )

        select (
            <div class="form-group">
                <div class="col-sm-3">
                    <strong>
                        <label />
                    </strong>
                </div>
                <div class="col-sm-5">
                    <elements />
                </div>
            </div>
        )
    }
}

postProcessor {
    layout {
        textline (
            <td><div class="textline"><inputvalue /></div></td>
        )
    }
}

10 = RADIO
10 {
    name = radio
    label {
        value = Radio
    }
}
20 = CHECKBOX
20 {
    name = checkbox
    label {
        value = Checkbox
    }
}
30 = CHECKBOXGROUP
30 {
    name = checkboxgroup1
    class = fieldset-subgroup
    legend {
        value = Checkbox group
    }
    10 = CHECKBOX
    10 {
        label {
            value = Checkbox 1
        }
    }
    20 = CHECKBOX
    20 {
        label {
            value = Checkbox 2
        }
    }
    30 = CHECKBOX
    30 {
        label {
            value = Checkbox 3
        }
    }
}
40 = RADIOGROUP
40 {
    name = radiogroup1
    class = fieldset-subgroup
    legend {
        value = Radio group
    }
    10 = RADIO
    10 {
        label {
            value = Radio 1
        }
    }
    20 = RADIO
    20 {
        label {
            value = Radio 2
        }
    }
    30 = RADIO
    30 {
        label {
            value = Radio 3
        }
    }
}
50 = TEXTLINE
50 {
    name = textline
    value = textline
    label = Textline (with different layout in mail)
}
60 = SUBMIT
60 {
    name = submit
    value = Submit
}
rules {
    1 = required
    1 {
        breakOnError = 0
        showMessage = 1
        message = Required
        error = This field is required
        element = radio
    }
    2 = required
    2 {
        breakOnError = 0
        showMessage = 1
        message = Required
        error = This field is required
        element = checkbox
    }
    3 = required
    3 {
        breakOnError = 0
        showMessage = 1
        message = Required
        error = This field is required
        element = checkboxgroup1
    }
    4 = required
    4 {
        breakOnError = 0
        showMessage = 1
        message = Required
        error = This field is required
        element = radiogroup1
    }
}

#11 Updated by Gerrit Code Review about 4 years ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#12 Updated by Gerrit Code Review about 4 years ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#13 Updated by Gerrit Code Review about 4 years ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#14 Updated by Gerrit Code Review about 4 years ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#15 Updated by Gerrit Code Review about 4 years ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#16 Updated by Gerrit Code Review about 4 years ago

Patch set 14 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43533

#17 Updated by Benni Mack about 4 years ago

  • Target version changed from 7.5 to 7 LTS
  • Sprint Focus deleted (Stabilization Sprint)

#18 Updated by Ralf Zimmermann about 4 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#19 Updated by Riccardo De Contardi about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF