SSlogic

From SmartWiki
Revision as of 15:33, 16 September 2009 by Cameron (talk | contribs)

Jump to: navigation, search

Web Page View fields can use a unique SmartSimple logic interpreter. Web page logic gives you the ability to display certain content or perform certain actions only when specified conditions are met. SmartSimple logic follows the following template:

<!--@sslogic(CONDITION)-->
   The content to be displayed when condition is true.
   This can be more than one line.
<!--@end-->
  • The content to be displayed (the middle line) can either be in plaintext or in HTML.
  • Be sure there are single quotes around the variable and value.
  • SSlogic does not support nested logic statements.


Example:

  • The following will display a Christmas tree image if the month is December:
<!--@sslogic(month(now())=12)-->
   <img src='images/xmasstree.jpg'>
<!--@end-->
  • Precede the equal sign with an exclamation point to test for Not Equal
  • The following will display a message for all provinces except Ontario:
<!--@sslogic('@province@'!='Ontario')-->
   You are outside of Ontario
<!--@end-->

Else Logic:

  • Often, you will want to display one of two texts--one text in the case that a condition is met and another in the case that the condition is not met. This is achieved through the use of an "else" operator.
  • The following sample code will display one message if a user is male and another if the user is female:
<!--@sslogic('@sex@'='M')-->
  You are a guy.
<!--@else-->
   You are a girl.
<!--@end-->
  • The following will display 2 check boxes. If the gender is male the first check box (Male) will be ticked. If the gender is female the second check box will be ticked:
<!--@sslogic('@parent.owner.clientgender@'='Male')-->
   <input type="checkbox" checked> Male
   <input type="checkbox"> Female
<!--@else-->
   <input type="checkbox"> Male
   <input type="checkbox" checked> Female
<!--@end-->

Multiple Options: You can use multiple sslogic statements if there are more than just 2 options:

<!--@sslogic('@possibility@'='Yes')-->
  This will happen for certain.
<!--@end-->

<!--@sslogic('@possibility@'='No')-->
  This is not happening.
<!--@end-->

<!--@sslogic('@possibility@'='Maybe')-->
  This may or may not happen.
<!--@end-->


Multiple Conditions:

  • You can include more than one condition:
<!--@sslogic('@year@'='2008' AND  ('@month@'='1' OR '@month@'='2'))-->
   This is only displayed if the year is 2008 and the month is either Jan or Feb.
<!--@end-->

Fields Storing Single Quotes:

  • SSlogic can be used to display fields that may have a single quote stored within them.
  • The escape[] function is used to achieve this:
<!--@sslogic('escape[$1137762$]'!='')-->


  • SSlogic can be used to determine which pdf file is appended to the Web Page View using ssattach
  • The following example will attach myfilefooter.pdf if the Type/Template is Contract, and myotherfilefooter.pdf if not:
<!--@sslogic(‘@type@’=’Contract’) -->
       <!--@ssattach(after;/files/1234/123/myfilefooter.pdf )-->
<!--@else-->
     <!-- @ssattach(after;/files/1234/123/myotherfilefooter.pdf )-->
<!--@end-->
Note: ssattach can be used without sslogic if you want the same pdf file attached to the Web Page View in all cases.

See Also