Bug #35784

Extension multicolumn does not work with drag and drop from gridelements

Added by Bernhard Eckl about 1 year ago. Updated about 1 year ago.

Status:Closed Start date:2012-04-09
Priority:Won't have this time Due date:
Assignee:Jo Hasenau % Done:

0%

Category:- Spent time: -
Target version:-
TYPO3 Version: PHP Version:
Votes: 0

Description

When using gridelements in combination with extension multicolumn, the drag and drop featur does not work. The following messages appear:

1: Attempt to insert record on page '[root-level]' (0) where this table, tt_content, is not allowed
1: Attempt to move record 'From an Individual to a Vibrant Community' (tt_content:246) without having permissions to insert.

It seems that gridelements does not support multicolumn?

grid1.png (45.8 kB) Bernhard Eckl, 2012-04-09 19:39

grid2.png (27.9 kB) Bernhard Eckl, 2012-04-09 19:39

grid3.png (36.8 kB) Bernhard Eckl, 2012-04-09 19:39

History

Updated by Jo Hasenau about 1 year ago

  • Status changed from New to Under Review
  • Assignee set to Jo Hasenau
  • Priority changed from Should have to Won't have this time

Well - actually grid elements IS a new way of supporting multiple columns within content elements.

IMHO it doesn't make too much sense to use lots of different concepts for this purpose. You should choose one and then stick with it.
So, yes, gridelements might not support other multiple column or nested content extensions like templavoila, kbnescefe and others.
And no, currently we won't invest too much efforts to make it run with each of them.

Since this is confirmed for multicolumn now, I will add it to the "conflicts" array of the EM configuration file.

Updated by Bernhard Eckl about 1 year ago

Okay.

I didn’t use it becausee it did not work first time. Now it works, but not really as I want. I place one content element in a column and the element is in both two columns present (should only be in the one I dragged it)! In advanced I have no options for grid container and grid container columns. And I have no idea what to place in the flexform configuration field. What am I doing wrong? How about a short example? I would love it if I could replace TVs FCE column dividers and don’t need TV anymore! Thank you!

Updated by Bernhard Eckl about 1 year ago

It works now, I just had to assign column numbers and the content element is only one time there. But how to control the output in the frontend?

Updated by Jo Hasenau about 1 year ago

During the last week I finished a lot of sections of the manual. So maybe you want to take a look at http://forge.typo3.org/projects/typo3v4-gridelements/repository/show/trunk/doc

The TypoScript frontend output is still pending though, so stay tuned, since it will be uploaded within the next 3 days.

Just to give you a short roundup - this is the default TypoScript provided by the extension as soon as you include the static template:

temp.gridelements.defaultGridSetup { // stdWrap functions being applied to each element
    columns {
        default {
            renderObj = COA
            renderObj {
                10 = LOAD_REGISTER
                20 =< tt_content
                30 = RESTORE_REGISTER
            }
        }
    }
}

tt_content.gridelements_pi1 >
tt_content.gridelements_pi1 = COA
tt_content.gridelements_pi1 {
    #10 =< lib.stdheader
    20 = COA
    20 {
        10 = USER
        10 {
            userFunc = tx_gridelements_pi1->main
            setup {
                default < temp.gridelements.defaultGridSetup
            }
        }
    }
}

Now you just have to provide different wraps and other TypoScript settings based on
a) the column number you provided in your record setup and
b) the ID of your backend layout record

The following example will take care of 3 different columns within the default setup:

temp.gridelements.defaultGridSetup { // stdWrap functions being applied to each element
  columns {
    default {
      renderObj = COA
      renderObj {
        wrap = <div class="column_0">|</div>
        10 = LOAD_REGISTER
        20 =< tt_content
        30 = RESTORE_REGISTER
      }
    }

    1 < .default
    1.renderObj.wrap = <div class="column_1">|</div>

    2 < .default
    2.renderObj.wrap = <div class="column_2">|</div>
  }
}

And this would take care of 3 different layout records:

tt_content.gridelements_pi1 >
tt_content.gridelements_pi1 = COA
tt_content.gridelements_pi1 {
  #10 =< lib.stdheader
  20 = COA
  20 {
    10 = USER
    10 {
      userFunc = tx_gridelements_pi1->main
      setup {
        default < temp.gridelements.defaultGridSetup
        default.wrap = <div class="layout_0">|</div>

        1 < temp.gridelements.defaultGridSetup
        1.wrap = <div class="layout_1">|</div>

        2 < temp.gridelements.defaultGridSetup
        2.wrap = <div class="layout_2">|</div>

        3 < temp.gridelements.defaultGridSetup
        3.wrap = <div class="layout_3">|</div>
      }
    }
  }
}

Using both of these together would provide you with 3 different layout variants using 3 columns each.
If you should use layouts with more columns, each column value higher than 2 would at least use the default setup.
Same for any layout record with a UID higher than 3.
The LOAD_REGISTER stuff can be used to set i.e. special maxW values for images or other registers used in that particular column.

Of course you can do much more sophisticated stuff by using other sets of TypoScript functions than just a simple wrap.

Updated by Jo Hasenau about 1 year ago

  • Status changed from Under Review to Closed

Also available in: Atom PDF