Showing template in event type

Author Message

Eirik Alfstad Johansen

Saturday 04 September 2004 4:21:28 am

Hi,

I've written an event type that runs on the content | publish | after trigger and is supposed to display a template. The code I'm using is as follows:

$requestUri = eZSys::requestUri();

$process->Template = array( 'templateName' => 'design:storeprofile/profilestored.tpl',
                          'templateVars' => array( 'viewmode' => 'full',
                                                   'request_uri' => $requestUri )
                          );
return EZ_WORKFLOW_TYPE_STATUS_FETCH_TEMPLATE_REPEAT;

However, instead of displaying the template, I'm forwarded to the full view of the parent node under which I've just created a node (the default behaviour of content/edit). I know that the code block gets executed, so what could I be doing wrong?

BTW, I'm running 3.4.0.

Thanks in advance !

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Paul Forsyth

Saturday 04 September 2004 5:03:27 am

Eirik,

This occurs because content/edit doesnt respect the workflow result. I filed this bug a while back:

http://ez.no/community/bug_reports/workflow_results_are_ignored_in_content_edit_php

Here is a patch i used to get redirects to work. Im not sure if it will work for 'results'. In my workflow i have a line like:

$process->RedirectUrl="/mymodule/myview";

whoich works with this code. Please play with it!

--- old/kernel/content/edit.php	2004-07-27 13:09:30.000000000 +0100
+++ new/kernel/content/edit.php	2004-07-30 15:03:35.408200218 +0100
@@ -30,8 +30,9 @@
 // http://www.gnu.org/copyleft/gpl.html.
 //
 // Contact licence@ez.no if any conditions of this licencing isn't clear to
 // you.
+
 //
 
 include_once( 'kernel/classes/eztrigger.php' );
 include_once( "lib/ezutils/classes/ezini.php" );
@@ -333,8 +334,38 @@
             eZDebug::accumulatorStart( 'publish', '', 'publish' );
             $oldObjectName = $object->name();
             $operationResult = eZOperationHandler::execute( 'content', 'publish', array( 'object_id' => $object->attribute( 'id' ),
                                                                                          'version' => $version->attribute( 'version' ) ) );
+            $hasRedirected = false;
+switch( $operationResult['status'] )
+{
+    case EZ_MODULE_OPERATION_HALTED:
+    {
+        if (  isset( $operationResult['redirect_url'] ) )
+        {
+
+	  eZDebug::writeNotice("redirect_url".$operationResult['redirect_url']);
+            $module->redirectTo( $operationResult['redirect_url'] );
+	    $hasRedirected = true;
+        }
+        else if ( isset( $operationResult['result'] ) )
+        {
+            $result =& $operationResult['result'];
+            $resultContent = false;
+            if ( is_array( $result ) )
+            {
+                if ( isset( $result['content'] ) )
+                    $resultContent = $result['content'];
+                if ( isset( $result['path'] ) )
+                    $Result['path'] = $result['path'];
+            }
+            else
+                $resultContent =& $result;
+            $Result['content'] =& $resultContent;
+        }
+    }break;
+}
+
             eZDebug::accumulatorStop( 'publish' );
 
             $object = eZContentObject::fetch( $object->attribute( 'id' ) );
 
@@ -342,9 +373,8 @@
 
             $http =& eZHttpTool::instance();
 
             $node = $object->mainNode();
-            $hasRedirected = false;
             if ( $http->hasSessionVariable( 'ParentObject' ) && $http->sessionVariable( 'NewObjectID' ) == $object->attribute( 'id' ) )
             {
                 $parentArray = $http->sessionVariable( 'ParentObject' );
                 $parentURL = $module->redirectionURI( 'content', 'edit', $parentArray );


paul

Xavier Dutoit

Friday 26 November 2004 7:54:11 am

One of my colleague was banging his head on the wall for the past few days trying to solve this problem...

Any reason to use a switch ? are we supposed to deal with other values EZ_MODULES ?

X+

http://www.sydesy.com

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 19 2025 00:13:28
Script start
Timing: Jan 19 2025 00:13:28
Module start 'layout'
Timing: Jan 19 2025 00:13:28
Module start 'content'
Timing: Jan 19 2025 00:13:28
Module end 'content'
Timing: Jan 19 2025 00:13:28
Script end

Main resources:

Total runtime0.0251 sec
Peak memory usage2,048.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0117 587.9141152.6250
Module start 'layout' 0.01170.0042 740.539139.4453
Module start 'content' 0.01580.0070 779.984493.3516
Module end 'content' 0.02280.0022 873.335934.3047
Script end 0.0250  907.6406 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.003815.1261140.0003
Check MTime0.00155.8867140.0001
Mysql Total
Database connection0.00207.986210.0020
Mysqli_queries0.005321.025230.0018
Looping result0.00000.119510.0000
Template Total0.00176.610.0017
Template load0.00093.557610.0009
Template processing0.00072.957110.0007
Override
Cache load0.00062.380310.0006
General
dbfile0.00124.779680.0002
String conversion0.00000.090140.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs