Здравствуйте! Вообщем проблема такая - при не заполнении обязательных полей сверху всплывают сообщения о том что это обязательные поля , это совсем не удобно , ибо у меня сайт опросник и таких полей может быть очень много . Как убрать эти сообщения ?
Комментарии
как вариант, темизация
https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_st...
как я понял из той статьи там предлагается в строчке
$display = $variables['display'];
'display' заменить либо на 'status' либо на 'error'
вобщем и так и так пытался но ошибки все равно вылазят
это не статья, а всего лишь кусок кода, который в данный момент у Вас используется для вывода подобных сообщений, его то и нужно изменить. Например так:
$display = $variables['display'];
$output = '';
$status_heading = array(
'status' => t('Status message'),
'error' => t('Error message'),
'warning' => t('Warning message'),
);
foreach (drupal_get_messages($display) as $type => $messages) {
//Начало разницы
if($type == 'error' && $_GET['q'] == 'node/1'){ //node/1 тут для примера, замените на МАШИННЫЙ адрес(не синоним) того места, где эти изменения нужны
$hve = FALSE;
foreach ($messages as $key => $message){
if(mb_substr($message,-22) == 'является обязательным.'){
$hve = TRUE;
unset($messages[$key]);
}
}
if($hve) $messages = array_merge($messages,array('Не все обязательные поля заполненны.'));
}
//Конец разницы
$output .= "<div class=\"messages $type\">\n";
if (!empty($status_heading[$type])) {
$output .= '<h2 class="element-invisible">' . $status_heading[$type] . "</h2>\n";
}
if (count ($messages) > 1) {
$output .= " <ul>\n";
foreach ($messages as $message) {
$output .= ' <li>' . $message . "</li>\n";
}
$output .= " </ul>\n";
}
else {
$output .= $messages[0];
}
$output .= "</div>\n";
}
return $output;
}
mytheme - заменить на название Вашей темы и засунуть всю эту хрень в файл template.php Вашей темы.
Сделал все как вы и посоветовали , но ни чего не изменилось. Все равно выдает эти треклятые сообщения сверху.
кеш темизации чистили?
хмм... кеш почистил. а вот кеш темизации как то по особенному чистится ? ну а после простой чистки кеша изменений не произошло
значит смотрите что не сходится, либо название функции, либо адрес, где этот кусок кода должен выполняться, либо текст и его длина