Task #5097
closedFunction menu cannot be handled as with scbase for BE modules
0%
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
Updated by Sebastian Kurfuerst about 14 years ago
- Tracker changed from Feature to Task
- Parent task set to #10569
Updated by Sebastian Kurfuerst almost 14 years ago
- Category set to Extbase: Core
- Priority changed from Should have to Could have
- Target version deleted (
Extbase 1.3.0beta2)
Updated by Sebastian Kurfuerst almost 14 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.
Updated by Sebastian Kurfuerst almost 14 years ago
moving issues to 1.3.0, as they will not be fixed in RC1 anymore.
Updated by Jochen Rau almost 14 years ago
- Target version changed from Extbase 1.3.0 to Extbase 1.3
- Parent task changed from #10569 to #10797
Updated by Bastian Waidelich over 13 years ago
- Assignee deleted (
Bastian Waidelich)
Updated by Felix Oertel over 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.
Updated by Alexander Schnitzler about 12 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?
Updated by Alexander Schnitzler over 11 years ago
- Target version changed from Extbase 6.1 to Extbase 6.2
Updated by Anja Leichsenring over 11 years ago
- Target version changed from Extbase 6.2 to Extbase 6.3
Updated by Alexander Opitz about 10 years ago
- Status changed from Accepted to Needs Feedback
Hi,
was this issue fixed or does it still exists?
Updated by Xavier Perseguers about 10 years ago
was never implemented although still makes sense.
Updated by Alexander Opitz about 10 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
Updated by Mathias Schreiber almost 10 years ago
- Target version changed from 7.0 to 7.1 (Cleanup)
Updated by Benni Mack over 9 years ago
- Target version changed from 7.1 (Cleanup) to 7.4 (Backend)
Updated by Susanne Moog over 9 years ago
- Target version changed from 7.4 (Backend) to 7.5
Updated by Christian Kuhn almost 7 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.