Модуль node_image

Прислано: axel

вс, 18/04/2004 - 05:28

Обычно для работы с картинками в Drupal используется модуль image, предлагающий возможность объединения изображений в галереи, контроль различных их параметров, преобразования изображений и другие штучки, свойственные вообще модулям галерей. Однако количество странностей с которыми сталкиваешся в настройке и не самый продуманный интерфейс значительно снижают удовольствие от использования этого в принципе полезного модуля. Часто однако все его возможности не требуется и нужна простая возможность добавлять изображения на сайт для использования в качестве иллюстраций. Для этой цели может быть более удобен простенький модуль node_image. Его возможности - предложить удобную вставку изображений непосредственно во время редактирования документов. При создании и редактировании документов внизу появляется кнопочка "Add image", по которой можно вызвать JavaScript-окошко, с предложением добавить файл изображения на сайт. Изображений можно закачивать таким путем сколько угодно, модуль при этом контролирует только тип изображения (список типов указывается в настройках модуля). В то место редактируемого текста, где находится курсор после закачки вставляется ссылочка примерно такого вида: <img class="node-image" width="181" height="136" src="blablabla" title="blabla" align="right" />, корректно указывающая местоположение изображения на сайте. На этом однако его забота об изображении заканчивается - дальнейшая судьба закачанной картинки модулю по всей видимости не интересна, он не хранит информации о том, что и когда было закачано, и вообще не использует базу данных. Повторная закачка изображения с именем, которое уже есть среди файлов в директории изображений приведет просто к переименованию нового файла. При этом закачанные изображения могут быть использованы другими пользователями, если они знают ссылки на них. Удаление картинок вообще не предусмотрено. Никаких разграничений прав модуль не делает и это сильно ограничивает область его применения, будет явной ошибкой разрешить его использование анонимным посетителям, включение node_image оправдано, когда ведение контента осуществляется людьми доверяющими друг другу и аккуратно пользующимися возможностями закачки. Удобно также сделать на сайте блочок монитор-файлов, показывающий скажем последние закачанные файлы на сайт, например так (показываются 10 ссылок, только для зарегистрированных пользователей):

global $user;

$IMGDIR = "images/in/";

if ($user->uid) {
foreach (glob($IMGDIR. "*.*") as $filename) {
$dirlist[$filename] = filectime($filename);
}
arsort($dirlist);
foreach (array_slice($dirlist, 0, 10) as $filename => $ctime) {
$output .= l("<img src=\"$filename\">", $filename);
$output .= "<br />";
}
return $output;
}


Суровый PHP вероятно имеет смысл немного разбавить JavaScript'ом сделав например вставку ссылки по клику мышки в открытую формочку ввода текста, а сам блок выводить только на страницах редактирования документов. В общем, соль и сахар по вкусу.





Еще одна возможность node_image - добавление картинок-иконок для отдельных документов и терминов таксономии. В отличие от встроенных в документ изображений, иконка документа может быть только одна - повторная закачка другого файла приведет к ее замене. Это же относится к терминам таксономии. Ссылочки на закачку отображаются модулем при работе с таксономией и документами, использование их очевидно. Разумеется, тема сайта должна обеспечить вывод таких иконок (технология подробно описана в INSTALL к node_image, не буду здесь это повторять).





Настройка модуля node_image не должна вызвать проблем. Необходимо создать на сайте директории для хранения встроенных изображений, иконок документов и таксономиии (не забудьте указывать в настройках "/" в конце имен директорий), и выставить на директории соответствующие права (с большой вероятностью вам подойдет chmod 777). Модуль также предлагает патчик, для получения в форме редактирования документа поля для закачки файла (с кнопочкой browse), я это не пробовал, удовлетворившись кнопкой "Add image" вызывающей отдельное окошко для закачки, т.что как это работает не скажу, предполагаю что должно работать.


Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано B.X в пн, 19/04/2004 - 12:44.

У меня этот модуль так и не заработал...
Картинки добавляются, с этим всё нормально...
Более того, в предпросмотре я их вижу, в добавляемом
документе. Но вот в самом документе их нет...
Почему, не знаю...


Опубликовано axel в вт, 20/04/2004 - 00:48.

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

--
Axel


Опубликовано B.X в ср, 21/04/2004 - 20:54.

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


Опубликовано andreyka в пт, 17/09/2004 - 13:12.

Как пофиксить?


Опубликовано B.X в пт, 17/09/2004 - 17:07.

они не видят только "в личной" галерее, а в общей, видят. Просто нужно добавлять в общие галереи, а в личные добавлять что-то избранное.


Опубликовано russie в пт, 19/11/2004 - 16:43.

Ссылочку трэба поменять: вместо

http://drupal/org/project/node_image

я бы поставил:

http://drupal.org/project/node_image