Transformation Scripts

Started by Lyn007, April 27, 2010, 06:54:42 PM

Previous topic - Next topic

Lyn007

Why does this fail in transformation script:

if ($1 == null)
   return 0;
else
   return ($1 * 2);

Victor Kirhenshtein

What exact error you got? Is it entire script or just a fragment? If it is entire script, you should write it as

sub main()
{
  if ($1 == null)
     return 0;
  else
     return ($1 * 2);
}

or rewrite as

($1 == null) ? 0 : $1 * 2

Best regards,
Victor

Lyn007

I pasted the following in the transformation script window:
sub main()
{
  if ($1 == 0)
     return 1;
  else
     return ($1 * 2);
}
When I click the test button I get the following: request failed 'Incompatible operation'

Can I not use the test button?

Victor Kirhenshtein

Test button will work only for nodes (not templates) - because test is done by sending script to server and running it in context of specific node.
For testing scripts where $node variable is not used you could also use nxscript command line tool. If using nxscript, first command line argument will be passed to script as $1, second as $2, and so on.

Best regards,
Victor