Forums / Developer / view_parameter in php

view_parameter in php

Author Message

Ivan Švogor

Wednesday 27 October 2010 2:14:06 am

Hello,

I have a custom datatype, and a URL that looks like http://localhost/cms/something/(attribute)/5 or even http://localhost/cms/something/attribute/5

I need a way to read this in PHP code of my custom datatype. I want to avoid the following:

http://localhost/cms/something?attribute=5

tnx.

Ivo Lukac

Wednesday 27 October 2010 4:31:16 am

This url looks more like a module not a dataype.

Let say your base root is http://localhost/cms, than your relative url is 'something/attribute/5' which means module 'something' and view 'attribute' with parameter '5'

Your module.php in 'something' should have this:

$ViewList['attribute'] = array(    
'functions' => array( 'attribute' ),    
'script' => 'attribute.php',    
'params' => array( 'Param1' ) );

They in attribute.php you can get parameter value like this:

$Params['Param1'];

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

Ivan Švogor

Wednesday 27 October 2010 6:46:09 am

YACT

I know how to do this for a module but I was wondering is this possible with a datatype. Because I can create my module, define a function to fetch some content, in template I can get it via $view_parameters and call to appropriate fetch function defined in a module. - am I rignt? - but I wanted to know is it posible somehow with a datatype...
Like for example here: http://www.vlada.hr/hr/preuzimanja/(class)/file,audio/(year)/2010/(month)/1 is this a module or what? :)

Ivo Lukac

Wednesday 27 October 2010 7:40:03 am

"

YACT

I know how to do this for a module but I was wondering is this possible with a datatype. Because I can create my module, define a function to fetch some content, in template I can get it via $view_parameters and call to appropriate fetch function defined in a module. - am I rignt? - but I wanted to know is it posible somehow with a datatype...
Like for example here: http://www.vlada.hr/hr/preuzimanja/(class)/file,audio/(year)/2010/(month)/1 is this a module or what? :)

"

Hehe YACT :)

Seems that we need to first define what you mean when you say datatype. Because datatype in eZ is a building block for classes. E.g. ezimage, ezstring, etc. What do you mean when you say datatype?

In the example we used just simple $view_parameters variable in template...

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

Heath

Wednesday 27 October 2010 8:27:28 am

The module and ezdatatype systems are not connected in any way. They are completely separate. And fyi view parameters are mostly only available in the content module views.

Cheers,

Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

Gaetano Giunta

Wednesday 27 October 2010 12:23:05 pm

You can of course create a small template that looks up the current view parameters, then calls a custom fetch function based on on the parameters found, and displays the result in some way you want.

I am not sure why you want to tie that to a datatype, but of course you can tie your template to any attribute you want, be it using a standard datatype or a new one you create. Just set up the proper overriding rules in override.ini for content/datatype/view/full.tpl

Principal Consultant International Business
Member of the Community Project Board