Project

General

Profile

Actions

Task #5097

closed

Function menu cannot be handled as with scbase for BE modules

Added by Xavier Perseguers over 14 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Extbase
Target version:
-
Start date:
Due date:
% Done:

0%

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

Description

See thread "Conceptual problem with BE modules" in typo3.projects.typo3v4mvc for details.

I'm currently working on function menu which is a standard feature of all scbase modules.

I was investigating how old-school modules are able to remember which function menu was active when we use another module and then go back to it. Instead of using default controller/action (which we have in our case), the module reuses last use function menu.

There is a few points. AFAIK we are missing the menuConfig() method of scbase modules that allows the module to prepare what will be the available functions before the "action" is being invoked (in case of scbase modules, the action is the method "main").

Proposed patch allows backend modules to register function menu "officially", just as scbase modules were able to do. This allows Extbase-based BE modules to better integrate into TYPO3's backend.

Patch is a draft and should be refined:

- I don't like the instantiation of the default controller to be able to call method "initializeModuleMenu()"
- I did not find a way to pass an dispatcher-generated argument to the extObj action of the resulting controller whenever a non-Extbase extension object (or module function) as been hooked into our module's function menu (see EXT:mvc_extjs_samples for examples)

The patch is clean from other pending patches but patched lines are likely to be a bit different by you. This is normal even if not perfect.

Once in, a backend controller may register function menu like this:

public function initializeModuleMenu($moduleName) {
    $this->moduleMenu['function'] = array(
        'BlankModule->first' => 'My first action',
        'BlankModule->second' => 'My second action',
        'BlankModule->third' => 'My third action',
    );

        // Merge externally-added function menu entries
    $scbase = t3lib_div::makeInstance('t3lib_SCbase');
    $this->moduleMenu['function'] = $scbase->mergeExternalItems($moduleName, 'function', $this->moduleMenu['function']);
}

(example taken from locally-modified BlankModule controller of EXT:mvc_extjs_samples)

The actual generation of the menu (combobox, ...) is up to the controller action to be done (typically using Tx_Fluid_ViewHelpers_Be_Menus_ActionMenuViewHelper) or as done in EXT:mvc_extjs with the extended ActionController.


Files

menu_config.diff (2.32 KB) menu_config.diff Xavier Perseguers, 2009-10-25 11:44
Actions #1

Updated by Sebastian Kurfuerst over 13 years ago

  • Tracker changed from Feature to Task
  • Parent task set to #10569
Actions #2

Updated by Sebastian Kurfuerst over 13 years ago

  • Category set to Extbase: Core
  • Priority changed from Should have to Could have
  • Target version deleted (Extbase 1.3.0beta2)
Actions #3

Updated by Sebastian Kurfuerst over 13 years ago

  • Status changed from New to Accepted
  • Assignee set to Bastian Waidelich
  • Target version deleted (Extbase 1.3.0beta2)

Bastian will look through this.

Actions #4

Updated by Sebastian Kurfuerst about 13 years ago

moving issues to 1.3.0, as they will not be fixed in RC1 anymore.

Actions #5

Updated by Jochen Rau about 13 years ago

  • Target version changed from Extbase 1.3.0 to Extbase 1.3
  • Parent task changed from #10569 to #10797
Actions #6

Updated by Bastian Waidelich about 13 years ago

  • Assignee deleted (Bastian Waidelich)
Actions #7

Updated by Sebastian Kurfuerst almost 13 years ago

  • Parent task deleted (#10797)
Actions #8

Updated by Felix Oertel about 12 years ago

  • Priority changed from Could have to Should have
  • Target version changed from Extbase 1.4 to Extbase 6.0
  • Start date deleted (2009-10-25)
  • Tags set to Backend

The patch is not up to date anymore, but this still has to be done.

Actions #9

Updated by Alexander Schnitzler over 11 years ago

  • Target version changed from Extbase 6.0 to Extbase 6.1

Won't make it into 6.0, set target version to 6.1.

Can somebody please provide a patch via gerrit?

Actions #10

Updated by Alexander Schnitzler almost 11 years ago

  • Target version changed from Extbase 6.1 to Extbase 6.2
Actions #11

Updated by Anja Leichsenring almost 11 years ago

  • Target version changed from Extbase 6.2 to Extbase 6.3
Actions #12

Updated by Alexander Opitz over 9 years ago

  • Status changed from Accepted to Needs Feedback

Hi,

was this issue fixed or does it still exists?

Actions #13

Updated by Xavier Perseguers over 9 years ago

was never implemented although still makes sense.

Actions #14

Updated by Alexander Opitz over 9 years ago

  • Project changed from 534 to TYPO3 Core
  • Category changed from Extbase: Core to Extbase
  • Status changed from Needs Feedback to New
  • Target version changed from Extbase 6.3 to 7.0
  • TYPO3 Version set to 6.2
Actions #15

Updated by Mathias Schreiber over 9 years ago

  • Target version changed from 7.0 to 7.1 (Cleanup)
Actions #16

Updated by Benni Mack almost 9 years ago

  • Target version changed from 7.1 (Cleanup) to 7.4 (Backend)
Actions #17

Updated by Susanne Moog over 8 years ago

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

Updated by Benni Mack over 8 years ago

  • Target version deleted (7.5)
Actions #19

Updated by Christian Kuhn over 6 years ago

  • Status changed from New to Closed

I'm closing this issue since both extjs and the old sc object approach has been mostly deprecated / outphased meanwhile. A good ux solution on module experience should happen on a concept phase and can't be resolved with his issue for the time being. I hope it is ok if I just close it for now.

Actions

Also available in: Atom PDF