Добавляем к стандартному поиску функцию поиска по загруженным файлам

Расширить стандартный поиск можно с помощью хука hook_search(). Ниже, пример добавления функции поиска по загруженным файлам:

/**
 * Implements hook_search().
 */
function mymodule_search($op = 'search', $keys = null) {
  if ($op == 'name') {
    return 'Загруженные файлы'; // будет отображаться вкладкой на странице поиска
  }
 
  if ($op == 'search') {
    $files = db_query("
      SELECT * FROM {files} f
      LEFT JOIN {users} u ON f.uid = u.uid
      WHERE filepath LIKE '%%%s%%'
    ", $keys);
 
    $results = array();
    while ($file = db_fetch_object($files)) {
      $results[] = array(
        'link'    => url($file->filepath),     // ссылка на файл
        'title'   => $file->filename,          // название файла
        'user'    => theme('username', $file), // кто загрузил файл
        'date'    => $file->timestamp,         // дата загрузки файла
        'snippet' => '
          Размер: ' . format_size($file->filesize) . '<br />
          Статус: ' . ($file->status ? 'постоянный' : 'временный') . '<br />
        ',                                     // дополнительная информация о файле
      );
    }
 
    return $results;
  }
}


Написанное актуально для
Drupal 6
Теги:
поиск
Добавлено: 26 Июля 2018 07:33:59 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...