我为网站创建了“商家”内容类型。 Merchant内容类型有一个名为“City”的选择字段和一个文本字段“Locality”。
我想创建一个“merchant_code”字段,必须是“AB-XY-0001” 其中AB是城市名称的前两个字母,XY是地点名称的前两个字母,0001必须是增量编号,因此ABCD城市和XYZ地区的商家将使用不同的代码:
"AB-XY-0001",
"AB-XY-0002",
"AB-XY-0003"...
"AB-XY-9999",
etc.
PQRS City和LMN地区的商家将分别使用不同的代码:
"PQ-MN-0001",
"PQ-MN-0002",
"PQ-MN-0003"...
"PQ-MN-9999",
etc..
我看到有一个串口模块,但该模块可以帮助我只为每种内容类型创建自动增量数字,而不是基于该内容类型的其他字段。
如果我创建商家“AB-XY-0001”,然后创建另一个城市PQRS商店和地点LMN,它将具有“PQ-LM-0002”代码,而不是“PQ-LM-0001”代码。< / p>
请帮助我实现这一目标。
答案 0 :(得分:0)
我编写了一些东西,让你知道我会做什么。我没有对它进行过测试,但我认为应该足以给你一个想法。
<?php
static $auto_generate = array(); // keep track of which codes are at what number
$code = '';
$code .= $node->field_city[0]['value'] . '-';
$code .= $node->field_locality[0]['value'];
if($auto_generate[$code])
{
$auto_generate[$code]++;
}
else
{
$auto_generate[$code] = 0;
}
$code .= '-' . $auto_generate[$code];
$node->field_merchant[0]['value'] = $code;
?>