BLOB-объект в модуле данных - PullRequest
0 голосов
/ 25 марта 2012

Я использую модуль данных в drupal 7, и я создал представление, которое показывает мою таблицу.

  • Но у меня есть блоб в моей таблице, и он наполняет мою страницу контентом. Есть ли способ, которым я могу отобразить каплю в виде ссылки, и файл должен быть загружен при нажатии.
  • Также возможно, что модуль данных имеет доступ к таблицам в другой базе данных, чем база данных drupal по умолчанию, упомянутая в файле settings.php. Я добавил другую базу данных в файл settings.php, в которой есть требуемая таблица, но я не могу принять таблицы оттуда (они не отображаются в списке потерянных таблиц). Есть место, где я могу измениться так, чтобы модуль данных видел только новую базу данных, а не базу данных по умолчанию

1 Ответ

0 голосов
/ 25 марта 2012

Устранена первая проблема, сделав это в theme.inc

if($vars['fields'][$field] == 'content')
    {
         $field_output = "<form action=\"download.php\"      
 method=\"POST\"> 
        <input  type=\"submit\" name=\"download\" value=\"Download\"> 
            <input type=\"hidden\" name=\"did\" value=\"$num+1\"> 
                </form>";

    }

и download.php должен иметь что-то вроде этого

 <?php

if(isset($_POST['id'])) 
{
    $table = 'tablename';
    $download_id = $_POST['id'];
    $q="SELECT * FROM {$table} where id = $download_id";
    $link = mysqli_connect(...);
    $res = mysqli_query($link,$q);
   if($res)
   {
   $row = mysqli_fetch_assoc($res);
    $id = $row['id'];
    $name = $row['name'];
    $status = $row['status'];
    $content = $row['content'];
    header("Content-type: required type");
    header("Content-Disposition: attachment; filename=$name");
    echo $content;
    exit;
   }
   else{
   echo "Cannot download";}

}
?>

Я все еще не могу исправитьВторая проблема.

...