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,
7x | https://se7enx.com/ Brookins Consulting | https://brookinsconsulting.com/ Certified | http://web.archive.org/web/201012...th.ez.no/certification/verify/380350 Solutions | https://projects.exponential.earth/users/community/brookins-consulting eZpedia community documentation project | http://ezpedia.se7enx.com
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