Parametrisator
This is an open discussion with 27 replies, filed under Extensions.
Search
Please don't double-post.
I can't get the idea if Parametrisator is use with Static/Dynamic XML or ability to retrieve data from data source that convert into parameter pool? Could anyone enlightening me?
Parametrisator
updated to version 1.3
on 27th of June 2012
proyb2, it works for any type of data-source (well... any that generates XML, like dynamic, static and section data-sources do). It parses XML from data-source and copies selected values into additional parameters.
First off, this extension is great! I am running into a little bit of a problem when I use a XPath function like concat()
with it. I am trying to use the XPath function, concat()
like so...
Name:morning-sermon-title
XPath:concat('/',/audio-morning-sermon-detail/entry/title/@handle)
The output of the parameter is blank. Is it possible to use the concat()
function inside the Parametrisator extension's XPath field?
answer to comment #26, from @ahwayakchih -
you cannot use
concat()
like that in the XPath, BUT you can use additional XSLT utility option, with which you can modify data before it gets to the XPath.
I am running into a problem.
Parametrisator does not play nicely with the Cacheable Datasource extension. Anytime, I have a Parametrisator value on a datasource where I am setting the Cacheable Datasource to a positive value (basically, anything but zero). I get the below error on the frontend page. If I leave Cacheable Datasource set to 0
it works fine. On those data sources where no Parametrisator values are set, the Cacheable Datasource can be set to anything and this error does not take place. Only when Parametrisator values are set and Cacheable Datasource is anything but 0
this error occurs...
Symphony Warning: DOMDocument::loadXML(): Empty string supplied as input An error occurred in /Users/main/symphony-site/extensions/parametrisator/extension.driver.php around line 170 165 $xml = $result; 166 } 167 168 $dom = new DOMDocument(); 169 $dom->strictErrorChecking = false; 170 $dom->loadXML($xml); 171 172 if (!empty($context['datasource']->dsParamParametrisator['xslt'])) { 173 $XSLTfilename = UTILITIES . '/'. preg_replace(array('%/+%', '%(^|/)../%'), '/', $context['datasource']->dsParamParametrisator['xslt']); 174 if (file_exists($XSLTfilename)) { Backtrace [:0] GenericErrorHandler::handler(); [/Users/main/symphony-site/extensions/parametrisator/extension.driver.php:170] DOMDocument->loadXML(); [/Users/main/symphony-site/symphony/lib/toolkit/class.extensionmanager.php:603] extension_parametrisator->generateParameters(); [/Users/main/symphony-site/symphony/lib/toolkit/class.frontendpage.php:866] ExtensionManager::notifyMembers(); [/Users/main/symphony-site/symphony/lib/toolkit/class.frontendpage.php:423] FrontendPage->processDatasources(); [/Users/main/symphony-site/symphony/lib/toolkit/class.frontendpage.php:185] FrontendPage->__buildPage(); [/Users/main/symphony-site/symphony/lib/core/class.frontend.php:103] FrontendPage->generate(); [/Users/main/symphony-site/index.php:22] Frontend->display();
Create an account or sign in to comment.
If an output parameter produced by parametrisator is used as an input parameter for a different data source. What happens when the parameter expands into an array of values? Maybe we should add a support for this case so that the data source is called for each of the values and the result is concatenated?