gpt4 book ai didi

drupal - 使用 cck 位置字段以编程方式创建节点

转载 作者:行者123 更新时间:2023-12-02 09:33:09 25 4
gpt4 key购买 nike

我尝试在 Drupal 6 中以编程方式创建一个自定义内容类型“location”的节点,该节点包含一个名为“location”的位置字段(http://drupal.org/project/location)(是的,我知道,命名法可能会更好,但我目前只是对此进行试验)。

创建节点效果很好,但我找不到设置位置字段内容的方法 - 即,节点是使用除位置字段值之外的所有内容创建的。

我尝试像这样创建节点:

        $newNode = (object) NULL;
$newNode->type = 'location';
$newNode->title = $locationName;
$newNode->uid = $userId;
$newNode->created = strtotime("now");
$newNode->changed = strtotime("now");
$newNode->status = 1;
$newNode->comment = 0;
$newNode->promote = 0;
$newNode->moderate = 0;
$newNode->sticky = 0;

$newNode->field_location[0]['street'] = 'Teststraße';
$newNode->field_location[0]['postal_code'] = '12345';
$newNode->field_location[0]['city'] = 'Musterstadt';

node_save($newNode);

使用正确的标题创建节点,但位置字段保持未设置。

如何以编程方式设置位置相关字段?

提前致谢!

最佳答案

想将其添加为注释,但似乎将代码放入注释中是相当有问题的。所以我们开始吧:我更改了 internas,以便不再使用 cck 字段,而是使用 googletorp 建议的默认位置选项。

创建新位置并将其分配给新节点的实际代码如下所示:

$location['street'] = "myStreet";
$location['postal_code'] = "12345";
...

$newLocationId = location_save($location);

$newNode = ...
$newNode->locations[0]['lid'] = $newLocationId;

node_save($newNode);

感谢您的指导:)

关于drupal - 使用 cck 位置字段以编程方式创建节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3945898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com