Drupal-6: Почему на пост нельзя ссылаться? - PullRequest
1 голос
/ 28 января 2010

Я делаю узлы программно. Одно поле узла является ссылкой nid на узел типа Meet. Я установил эти атрибуты для реального узла типа Meet. Однако, когда я запускаю этот объект узла через node_validate(), я получаю ошибку:

Встречайте: на этот пост нельзя ссылаться.

Почему это происходит? Вот объект узла:

stdClass Object
(
    [type] => bout
    [name] => Gary Oak
    [promote] => 
    [comment] => 2
    [revision] => 
    [format] => 0
    [status] => 0
    [title] => the title 4
    [uid] => 4
    [field_touches_scored] => Array
        (
            [0] => Array
                (
                    [value] => 4
                )

        )

    [field_touches_received] => Array
        (
            [0] => Array
                (
                    [value] => 5
                )

        )

    [field_meet] => Array
        (
            [0] => Array
                (
                    [nid] => 2583
                )

        )

    [field_round] => Array
        (
            [0] => Array
                (
                    [value] => 1
                )

        )

    [field_legacy_bout] => Array
        (
            [0] => Array
                (
                    [value] => 0
                )

        )

    [field_weapon] => Array
        (
            [0] => Array
                (
                    [value] => saber
                )

        )

)

Кроме того, я не совсем уверен, что происходит с сообщениями об ошибках. Это моя функция для проверки узлов:

$nodes_to_save = construct_nodes();

foreach ($nodes_to_save as $node) {
    node_validate($node, $form);
    if ($errors = form_get_errors()) {
        form_set_error('', t('Validation error. No nodes saved.'));
    }
}

Я ожидал бы, что если node_validate() сгенерирует любую ошибку, будет вызван дополнительный вызов form_set_error() Тем не менее, я получаю только одну ошибку, которая упоминается выше. Я неправильно понимаю эти функции?

...