Добавить сообщение при загрузке файла с полем CCK - PullRequest
0 голосов
/ 18 марта 2011

Только что возникла проблема с юзабилити сайта, который я разрабатываю, и я обдумываю, как его решить.

Я использую поле изображения CCK в узле, который используется в качестве профиля контента. Поле позволяет пользователям загружать аватар.

Я обнаружил, что несколько человек, как правило, загружают изображение, но не могут сохранить узел. Я предполагаю, что это потому, что там появляется новое изображение, и для кого-то легко предположить, что оно было загружено и сохранено, и перейти со страницы.

Итак ... одна из моих идей заключалась в том, чтобы напечатать 'image uploaded, save the the page to confirm changes' сообщение под полем CCK при загрузке изображения. Это вообще возможно?

Ответы [ 3 ]

2 голосов
/ 29 ноября 2012

Вот что у меня сработало

===

function theme_filefield_widget_preview($item) {
  // Remove the current description so that we get the filename as the link.
  if (isset($item['data']['description'])) {
    unset($item['data']['description']);
  }

  $warning = $item['status'] ? '' : '<font color="red">Please click \'Save\' below to save these changes</font>';

  return '<div class="filefield-file-info">'.
           '<div class="filename">'. theme('filefield_file', $item) .'</div>'.
           '<div class="filesize">'. format_size($item['filesize']) .'</div>'.
           '<div class="filemime">'. $item['filemime'] .'</div>'.
           "<p>$warning</p>".
         '</div>';
}
1 голос
/ 19 марта 2011

Вы можете переопределить функцию theme_filefield_widget_preview () из файла filefield_widget.inc. Просто скопируйте функцию в файл template.php, переименуйте ее в phptemplate_filefield_widget_preview (), а затем измените все что угодно.

// Также вы можете попробовать переименовать в [MY_THEME] _filefield_widget_preview ()

function phptemplate_filefield_widget_preview($item) {

  // Remove the current description so that we get the filename as the link.
  if (isset($item['data']['description'])) {
    unset($item['data']['description']);
  }

  return '<div class="filefield-file-info">'.
           '<div class="filename">'. theme('filefield_file', $item) .'</div>'.
           '<div class="filesize">'. format_size($item['filesize']) .'</div>'.
           '<div class="filemime">'. $item['filemime'] .'</div>'.
           // Custom block
           '<div class="my-custom-class">'. t('Changes made in this table will not be saved until the form is submitted.') .'</div>'.

         '</div>';
}
1 голос
/ 19 марта 2011

Пара вариантов:

1) Пользовательский модуль

2) Правила и действия (действие - «показать сообщение пользователя» или что-то подобное)

...