Search

Could anyone explain me why you are limited to choosing one field for output parameters?

I believe Output Parameters were added late in the day prior to Symphony 2 being released and it wasn’t envisaged that we’d ever need more than one.

I’ve added support for multiple Output Parameters but it wasn’t incorporated into the core for unknown reasons. Unfortunately I’ve since deleted and re-created my Symphony 2 fork so this code is no longer on Github.

Several files changed: turned the select in the DS editor into a multi-select; the DS template file to have dsParamPARAMOUTPUT as an array; datasource.section.php to check the array. It worked pretty well for a time and was backwards compatible.

Say I had a Data Source “Articles” and output a single parameter, it would create the usual:

$ds-articles

However if I chose both “System ID” and “Title” it would create:

$ds-articles-system-id
$ds-articles-title

However I discovered a major flaw in the way that the param pool is established and DS dependencies established. The current code in class.frontendpage.php looks for dependencies in the following format:

'$ds-' . $rootelement;

Which obviously fails.

Myself and Paul tried a lot of things, but came to the conclusion that the way the param pool is established and DS dependencies established is heavily bugged (we found an obscure workflow that breaks it) and gave up, defeated.

So in short… I got multiple output parameters to work, but when other data sources started using these as filter values, things started going wrong.

Thanks for the explanation, Nick.

Multiple output parameters should be able to work as long as data sources are not using each others output parameters as filter, or not? I guess that currently a few extra data sources need to be added to certain projects to overcome the limitation regarding multiple output parameters.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details