2: code: {if eq($module_result.path, 2)}
error: does not seem to work, using gt does.
I can probably answer that one : there's no reason why it would work... $module_result.path is an array, you'd be very lucky if it was == 2. > 2 might work.
You're probably looking for $module_result.node_id or $module_result.path[index].node_id.
1) The error means that the result of .content is a string and not an object/array with the attribute/entry 'is_empty'. Try removing the .content in the comparison:
2) It's not because gt() can compare with an array, that eq() can do the same. The documentation of eq() doesn't mention that arrays as input will be converted to their length. To do explicit length checks, use the following code:
{if count( $module_result.path )|eq( 2 )}
3) This most likely means there are errors in the template code which result in invalid PHP code as soon as compilation is enabled. Try to use the template checking script in bin\php\eztemplatecheck.php and check each template marked as invalid by the script.
Possible similar problem, but it only shows up when I use TemplateCompile=enable, was that your case as well??
Hans:
3) This most likely means there are errors in the template code which result in invalid PHP code as soon as compilation is enabled. Try to use the template checking script in bin\php\eztemplatecheck.php and check each template marked as invalid by the script.
Fixed the Fatal error by moving the settings(TemplateCompile=enabled & TemplateOptimization=enabled) from override/site.ini.append.php to the site.ini.append.php file of alle the siteaccess'es..