URL without layout/set /part?

Author Message

Gabriel Ambuehl

Saturday 13 August 2005 4:25:08 am

I'm trying to come up with a reliable way to generate URLs that ignore a possibly active layout/set/layoutname .

ezroot isn't really reliable for links and ezurl seems to insist on adding layout/set/ if the current URL contains it.

Visit http://triligon.org

Lazaro Ferreira

Monday 15 August 2005 2:43:54 am

Hi,

this is an insteresting question, we had this problem also, unfortunately we haven't found a way to solve it

Lazaro
http://www.mzbusiness.com

David Eriksson

Monday 15 August 2005 3:56:45 am

I guess you could write your won operator, that works like ezurl but removes "/layout/set" if any.

/David

Kristian Hole

Monday 15 August 2005 7:36:01 am

Actually i have had the need to escape the mighty layoutmodule myself, and unfortunately the solution involves kernel hacking.. Its not 100% tested, but you can take a look at it.

Index: kernel/layout/set.php
===================================================================
--- kernel/layout/set.php       (revision 12662)
+++ kernel/layout/set.php       (working copy)
@@ -47,6 +47,17 @@
 $Result['content'] = '';
 $Result['rerun_uri'] = '/' . implode( '/', array_splice( $Params['Parameters'], 1 ) ) . $userParamString;

+if ( ( ! ( strpos( $Result['rerun_uri'], '/layout/set/escape' ) === false ) ) or ( $LayoutStyle == 'escape' ) )
+{
+    $rerun_uri = preg_replace( '#/layout/set/[a-zA-Z]+#', '', $Result['rerun_uri'] );
+    if ( $rerun_uri == '' )
+        $rerun_uri = '/';
+
+    $Result['rerun_uri'] = $rerun_uri;
+    $Module->setExitStatus( EZ_MODULE_STATUS_RERUN );
+    return;
+}
+
 $layoutINI =& eZINI::instance( 'layout.ini' );
 if ( $layoutINI->hasGroup( $LayoutStyle ) )
 {

To escape a layout you have to do something like

<a href={concat('/layout/set/escape/, $yoururl)|ezurl}>blah</a>

Hope this is of some help to you..

Kristian

http://ez.no/ez_publish/documenta...tricks/show_which_templates_are_used
http://ez.no/doc/ez_publish/techn...te_operators/miscellaneous/attribute

Gabriel Ambuehl

Monday 15 August 2005 7:44:25 am

That is in fact an interesting approach. I was thinknig about patching ezurl but it's rather beyond understanding what it actually does.

Will this be integrated into 3.8?

Visit http://triligon.org

Kristian Hole

Tuesday 16 August 2005 4:27:33 am

Hopefully something like this will be included in the base distribution. I am going to discuss it with the core team.

Kristian

http://ez.no/ez_publish/documenta...tricks/show_which_templates_are_used
http://ez.no/doc/ez_publish/techn...te_operators/miscellaneous/attribute

Gabriel Ambuehl

Tuesday 16 August 2005 5:24:55 am

It would be more elegant if it was possible to set it as param of ezurl, of course.

Visit http://triligon.org

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