Task #25761

Enable Plugins to link/redirect to other pages

Added by Bastian Waidelich over 4 years ago. Updated 10 months ago.

Status:Closed Start date:2011-04-05
Priority:Could have Due date:
Assigned To:- % Done:

0%

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

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 Magnifier (3.8 kB) Bastian Waidelich, 2011-05-03 14:39

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


Related issues

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

History

#1 Updated by Bastian Waidelich over 4 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"

#2 Updated by Bastian Waidelich over 4 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:

 1TYPO3:
 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

#3 Updated by Bastian Waidelich over 4 years ago

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

#4 Updated by Robert Lemke about 4 years ago

  • Project changed from Core Team to Base Distribution

#5 Updated by Sebastian Kurfuerst over 3 years ago

  • Status changed from New to Needs Feedback

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

#6 Updated by Sebastian Kurfuerst over 3 years ago

  • Project changed from Base Distribution to TYPO3.Neos

#7 Updated by Sebastian Kurfuerst over 3 years ago

  • Priority changed from Should have to Could have

#8 Updated by Bastian Waidelich over 2 years ago

With #40599 this should become obsolete

#9 Updated by Sebastian Kurfuerst over 2 years ago

  • Target version set to Sprint February 2013

#10 Updated by Lienhart Woitok 10 months ago

  • Status changed from Needs Feedback to Closed

Accordig to the comment above this one is obsolete.

Also available in: Atom PDF