Task #25761

Enable Plugins to link/redirect to other pages

Added by Bastian Waidelich about 2 years ago. Updated 4 months ago.

Status:Needs Feedback Start date:2011-04-05
Priority:Could have Due date:
Assignee:- % Done:

0%

Category:-
Target version:Base Distribution - Sprint February 2013
Votes: 0

Description

Currently if you place a link in a Phoenix Plugin, there is no way to specify the target page.
Instead of creating special link/uri view helpers for Phoenix that allow you to specify a page node we thought about a more "decentralized" solution:
It should be possible to specify a target page for certain plugins/actions so that you don't have to deal with pages in your Fluid templates.
Those target pages might even be determined automatically if not configured explicitly (that's how it's done in Extbase, see http://forge.typo3.org/projects/typo3v4-mvc/wiki/Automatic_Target_Page_Determination).

TargetNodeAspect.php (3.8 kB) Bastian Waidelich, 2011-05-03 14:39

25761_FLOW3_v1.patch (606 Bytes) Bastian Waidelich, 2011-05-03 14:39


Related issues

related to Base Distribution - Story #40599: Include arbitrary Flow-Applications as Plugins New 2013-03-26 2013-04-20
related to Conference Management - Task #26940: Create controller/action to node mapping Resolved 2011-05-20

History

Updated by Bastian Waidelich about 2 years ago

Some notes to this:
  • One goal should be, that the template designer does not have to deal with pages in general. It should be possible to explicitly specify the target page for a link/uri though.
  • One way to solve this, would be to store action/controller & page pairs in the configuration somehow and "inject" the arguments to the UriBuilder via AOP
  • When referring to a page, we should probably use the node path "identifier" that is the same for a node independently from the workspace in contrary to the technical "FLOW3_Persistence_Identifier"

Updated by Bastian Waidelich about 2 years ago

This is a very basic proof-of-concept.
Adding the Aspect to the TYPO3 package and applying the patch to FLOW3, you can specify the target node of plugin actions in the settings like:

 1 TYPO3:
 2   targetNodeMappings:
 3     'f3_conference_typoscript_plugin':
 4       - package: conference
 5         controller: account\login
 6         action: speakers
 7         targetNode: b77f162a-db28-452d-b34e-87f725f3c2ea
 8       - package: conference
 9         controller: account\login
10         targetNode: 6ec9f024-efc8-4c8e-8252-7795d2d05f18

A few notes regarding the mapping configuration:
  • The plugin namespace (f3_conference_typoscript_plugin) should probably replaced by a plugin name (similar to Extbase)
  • package, controller and action are optional. If they're not set, the mapping is active for all values

Updated by Bastian Waidelich about 2 years ago

TODO:
  • inject current context (fetch from request?)

Updated by Robert Lemke about 2 years ago

  • Project changed from Core Team to Base Distribution

Updated by Sebastian Kurfuerst over 1 year ago

  • Status changed from New to Needs Feedback

@Bastian, what's the status on this? don't we already have this in place (somewhere?)

Updated by Sebastian Kurfuerst over 1 year ago

  • Project changed from Base Distribution to TYPO3.Neos

Updated by Sebastian Kurfuerst over 1 year ago

  • Priority changed from Should have to Could have

Updated by Bastian Waidelich 6 months ago

With #40599 this should become obsolete

Updated by Sebastian Kurfuerst 4 months ago

  • Target version set to Sprint February 2013

Also available in: Atom PDF