2014-09-25 2 views
0

Когда в форме есть флажки, после отправки формы получателям электронной почты, ответ электронной почты показывает «true/false», если флажок «checked/unchecked». Наши сотрудники считают, что это не очень удобно, поскольку «T/F», по-видимому, является более техническим термином.Как изменить «истина/ложь» на «да/нет» для ответов формы в Ektron

Как мы можем изменить его на «Да» для отмеченных и «Нет» для непроверенных соответственно? "

Версия: 8,50 SP2 (Build 8.5.0.356)

ответ

2

Это забавно, у меня была противоположная проблема со смарт-форм, поскольку эти флажки хранятся в XML, как„да“и„нет“Следовательно, я. . создал этот метод расширения для преобразования значения строки в логическое значение «True», «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, но формы электронной почты не сильно изменились с v8.5, поэтому, надеюсь, файлы по крайней мере очень похожи для вас.

Кроме того, этот пост может быть полезен: Customize Ektron HTML Form Email Layout

 Смежные вопросы

  • Нет связанных вопросов^_^