Обновил Drupal до версии 6.10 и CCK до версии 2.2 , все работает прекрасно. Но при создании поддомена с помощью модуля Domain при попытке перейти на главную страницу вместо контента вылетает вот такая ошибка:
----------------
warning: Invalid argument supplied for foreach() in /home/host700754/gnm.su/htdocs/www/modules/cck/content.module on line 1278.
----------------
Вот код 1278 строки(выделен жирным):
-------------------------------------
$return = array();
// The operations involving database queries are better off handled by table
// rather than by field.
if (in_array($op, array('load', 'insert', 'update', 'delete', 'delete revision'))) {
return content_storage($op, $node);
}
else {
foreach ($type['fields'] as $field) {
$items = isset($node->$field['field_name']) ? $node->$field['field_name'] : array();
$result = content_field($op, $node, $field, $items, $teaser, $page);
if (is_array($result)) {
$return = array_merge($return, $result);
}
else if (isset($result)) {
$return[] = $result;
}
if (isset($node->$field['field_name'])) {
$node->$field['field_name'] = $items;
}
}
}
---------------------
До обновления проблемы не возникало. Поддомен пользуется теми же таблицами, что и сам домен. Что делать?
Комментарии
Интересно, что ошибка видна только зарегистрированному на поддомене пользователю. Все работает, материал публикуется, но у зарегистрированного пользователя выводится эта ошибка.
Любопытно так же, что ошибка объявляется только на поддоменах. На главном домене все в порядке. Конфликт новой CCK и Domain ?
Отключите вывод ошибок и запульните это на drupal.org как issues к одному из модулей.
Добавлял сейчас материал, у меня переглючила база mysql (непонятно что это было). В итоге добавился материал, не имеющий корректного номера, названия и тп. Его никак через админку с сайта не откорректировать, не удалить и т.п. На главной отображается только слово "нет" где должен быть заголовок.
Не понял пока что это за глюк был, сейчас показывает только эту ошибку.
Вот тут пишут "generally caused by 3rd party modules that build invalid nodes" ошибка обычно обусловлена сторонними модулями, которые создают неправильный контент.
Правда там сначала про ошибку в строке 1270. Ниже идёт уже про 1278
Также говорят, что ошибка может быть не связана с CCK.
И вот тут человек решил проблему со строкой 1278, только исправив таблицу БД. Что и требовалось доказать
Два (!) дня имел интимные отношения с друпалом по причине этой ошибки (Invalid argument supplied for foreach() in modules/cck/content.module on line 1278.). Оказалось, забыл в самописанном модуле прописать return $node в реализации хука hook_view(). Может быть, кому-то эта информация окажется полезной