Forums / Developer / view_parameter in php
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
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? :)
Wednesday 27 October 2010 7:40:03 am
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...
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,
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