Module 如何在注册期间在drupal中生成特定模式的用户名
我想生成一个Module 如何在注册期间在drupal中生成特定模式的用户名,module,drupal-7,registration,Module,Drupal 7,Registration,我想生成一个用户名st+他们的名字+他们的姓氏的前两个首字母缩写 创建特定模式的username模块很少,但没有一个能够满足我的需求。我不是Drupal的模块专家。你能做的就是安装模块: 导航到此模块的配置页面:admin/config/people/accounts/patterns 然后,在“其他设置”部分,您可以选中“在模式中评估PHP”选项 这允许您在“用户名模式”字段中执行PHP。需要考虑两件事: PHP在令牌替换之后执行,这允许您实际操作字符串 您需要回显最终结果 确保php用标记包
用户名
st+他们的名字
+他们的姓氏
的前两个首字母缩写
创建特定模式的
username
模块很少,但没有一个能够满足我的需求。我不是Drupal的模块专家。你能做的就是安装模块:
导航到此模块的配置页面:admin/config/people/accounts/patterns
然后,在“其他设置”部分,您可以选中“在模式中评估PHP”选项
这允许您在“用户名模式”字段中执行PHP。需要考虑两件事:
回显
最终结果
标记包装。此外,如果出现语法错误,则只有在注册时(或在执行脚本时)才会看到该错误
现在,假设您已将用户配置为具有名字
字段和姓氏
字段(具有这些特定字段名)
您的PHP可以如下所示:
<?php
$initials = substr("[user:field-first-name]", 0, 2);
echo 'str' . $initials . "[user:field-last-name]";
?>
首先,请注意,令牌位于双引号之间,以确保令牌输出的内容被PHP视为字符串
第二,php函数用于获取名字的前两个字母
现在,我不知道的事情
- 我不知道如果两个用户恰好拥有相同的用户名会发生什么
- 我不知道如果用户在他的名字中输入双引号会发生什么,这可能很危险,你可能想用
或类似的东西来逃避它stru\u replace