Не могу понять откуда, но при рендере формы вылазит варнинг. При чем варнинг вылазит только при первом рендере формы, при нажатии на F5 ошибка не появляется. Откуда ноги растут? Варнинг следующий:
warning: implode() [function.implode]: Bad arguments. in viagra.com\includes\form.inc on line 622.
В связи с этим, убив три часа на поиск порывшейся собаки, пришел к выводу, что решением проблемы с наименьшими кровопотерями будет небольшое изменение функции ядра. Нет, я конечно против такого подхода и в будущем естессно раберусь что за хня, но пока вот такое решение:
<?php function form_get_error($element) {
...
// было
$key = implode('][', $element['#parents']);
// стало
$key = implode('][', (array)$element['#parents']);
}
?>
Возражения, рекомендации принимаются.
Комментарии
ужос. вся проблема в том, что форма-то на самом деле неправильно генерировалась
string implode ( string $glue , array $pieces )
ты неправильно генерировал форму, делая $element['#parents'] не массивом
print_r($element['#parents']) в модуле своём и искать по коду выше косяк-почему так
1. А как должна "правильно" генерироваться форма?
2. $element['#parents'] я не трогаю вообще, никак, нигде, этот массив генерится автоматом.
2Stalker-g2
$element['#parents'], по-идее, вообще автоматически заполняется...
А поподробнее можно- когда такой глюк получается, никогда не сталкивался. (что за форма такая особенная?)
значит,вы его ломаете. чудес-то не бывает, так?