使用{if}进行性别编码-需要添加更多内容

时间:2019-01-22 08:11:31

标签: php

我正在使用TPL和PHP处理预制主题。使用的原始编码器: “男”,“女”和“其他”是他的性别的三个来源。

每次我尝试将“ Trans Male”或“ Trans Female”添加到值中时,即使我已将它们添加到我的数据库中的“ User_Gender”下,也选择“ Trans”时显示“请选择有效的性别”。我猜您不能使用{If},因为它超过了三个选项?

我无法确定如何正确地将它们编码为{If}序列,还是需要重新编写代码以显示和存储性别?

这是代码(用于在注册时选择性别)(在选择注册时也遇到问题):

<div class="form-group">
  <label for="gender">{__("I am")}</label>
  <select name="gender" id="gender" class="form-control" required>
    <option value="none">{__("Select Sex")}:</option>
    <option {if $user_profile->gender == "male"}selected{/if} value="male">{__("Male")}</option>
    <option {if $user_profile->gender == "female"}selected{/if} value="female">{__("Female")}</option>
    <option value="other">{__("Other")}</option>
  </select>
</div>

我也打开了代码:

<div class="form-group">
  <label for="gender">{__("I am")}</label>
  <select name="gender" id="gender" class="form-control" required>
    <option value="none">{__("Select Sex")}:</option>
    <option {if $user_profile->gender == "male"}selected{/if} value="male">{__("Male")}</option>
    <option {if $user_profile->gender == "female"}selected{/if} value="female">{__("Female")}</option>
    <option {if $user_profile->gender == "transmale"}selected{/if} value="transmale">{__("Trans Male")}</option>
    <option {if $user_profile->gender == "transfmale"}selected{/if} value="transfmale">{__("Trans Female")}</option>
    <option value="other">{__("Other")}</option>
  </select>
</div>

测试注册后,“请选择有效的性别”。数据库值是: “ user_gender”“ ENUM”“值:'male','female','transmale','transfmale','other'”

在尝试从数据库中提取信息以使用fa fa图标将其存储到用户配置文件时也执行此操作。我修改了代码以匹配输出:

<li>
  <div class="about-list-item">
    {if $profile['user_gender'] == "male"}
      <i class="fa fa-male fa-fw fa-lg"></i>
      {__("Male")}
    {elseif $profile['user_gender'] == "female"}
      <i class="fa fa-female fa-fw fa-lg"></i>
      {__("Female")}
    {else}
      <i class="fa fa-user fa-fw fa-lg"></i>
      {__("Other")}
    {/if}
  </div>
</li>

三个都很好。但是,当我将trans添加到方程式时,它不是。即使我将trans选项放在其他标记了{else}之后。仍然给我请选择有效的性别。

我要去哪里错了?还是{if}字符串不适合这个?

0 个答案:

没有答案