0

我有一个为网站创建的“商家”内容类型。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”代码。

请帮助我实现这一目标。

4

1 回答 1

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;
?>
于 2013-03-07T00:37:40.307 回答