我正在使用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}
字符串不适合这个?