我想生成usernames
+ first name
+ last name
的{{1}} st + 前两个首字母。
创建username
特定模式的模块很少,但它们都不能满足我的要求。我不是Drupal
模块专家。
答案 0 :(得分:2)
您可以做的是安装automatic username模块:
导航到此模块的配置页面:admin / config / people / accounts / patterns
然后,在"其他设置"您可以查看选项"在模式中评估PHP。"
这允许您在"模式中为用户名"执行PHP。领域。需要考虑两件事:
echo
最终结果。确保php包含<?php ?>
标记。此外,如果您出现语法错误,则只会在注册时看到(或者每当脚本执行时都会看到。)
现在让我们假设您已将用户配置为first_name
字段和last_name
字段(具有这些特定字段名称)
你的PHP看起来像这样:
<?php
$initials = substr("[user:field-first-name]", 0, 2);
echo 'str' . $initials . "[user:field-last-name]";
?>
首先,请注意令牌位于双引号之间,以确保令牌输出的内容被PHP视为字符串
其次,php函数substr用于获取名字的2个首字母。
现在,我不知道的事情
str_replace
或类似的东西来逃避它