2014-09-25 56 views
0

当表单上有复选框时,表单与电子邮件收件人一起提交后,通过电子邮件发送的回复将显示“真/假”复选框是“选中/未选中”。我们的员工认为它不是非常用户友好的,因为“T/F”似乎更像是一个技术术语。如何在Ektron中将表格响应的“真/假”更改为“是/否”

我们怎样才能将其分别更改为“是”且未选中? “

版本:8.50 SP2(内部版本8.5.0.356)

回答

2

这很有趣,我有聪明的形式相反的问题,因为这些复选框都存储在XML为‘是’和‘否’。因此,我。 。创建了一个字符串值转换成布尔这个扩展方法“真”,“1”和“是”全部转换为true

public static class StringExtensions 
{ 
    public static bool ToBoolean(this string str) 
    { 
     bool result; 
     if (str == null) 
      return false; 

     if (bool.TryParse(str, out result)) 
      return result; 

     return str.Trim() == "1" || string.Equals(str, "yes", StringComparison.OrdinalIgnoreCase); 
    } 
} 

你可能会想看看这个文件: /workarea/controls/forms/template_buildDataValue.xslt 它参考范围内:/workarea/controls/forms/template_FormFieldValue.xslt

的buildDefaultValue XSLT有这个循环:

<xsl:for-each select="$data"> 
    <xsl:choose> 
     <xsl:when test="$field/@datalist"> 
      <xsl:variable name="displayValue" select="$fieldlist/datalist[@name=$field/@datalist]/item[@value=normalize-space(current())]"/> 
      <xsl:choose> 
       <xsl:when test="$displayValue"> 
        <xsl:copy-of select="$displayValue/node()"/> 
       </xsl:when> 
       <xsl:when test="string-length(normalize-space(.))=0"> 
        <xsl:text>&#160;</xsl:text> 
       </xsl:when> 
       <xsl:otherwise> 
        <xsl:copy-of select="./node()"/> 
       </xsl:otherwise> 
      </xsl:choose> 
     </xsl:when> 
     <xsl:when test="$field/@basetype='calendar' or $field/@datatype='date'"> 
      <xsl:call-template name="buildDate"/> 
     </xsl:when> 
     <xsl:when test="string-length(normalize-space(.))=0"> 
      <xsl:text>&#160;</xsl:text> 
     </xsl:when> 
     <xsl:when test="$field/@basetype='textbox' or $field/@datatype='textarea'"> 
      <pre style="white-space:pre;word-wrap:break-word;"><xsl:copy-of select="./node()"/></pre> 
     </xsl:when> 
     <xsl:otherwise> 
      <xsl:copy-of select="./node()"/> 
     </xsl:otherwise> 
    </xsl:choose> 
    <xsl:if test="position() != last()"> 
     <br /> 
    </xsl:if> 
</xsl:for-each> 

您应该能够添加其他元素<xsl:when><xsl:choose>元素和测试中您想要的特定$field/@basetype

这些文件来自v9.0 workarea,但自v8.5以来,表单电子邮件并没有多少变化,所以希望这些文件至少对您非常相似。

此外,这篇文章可能有帮助:Customize Ektron HTML Form Email Layout