Модуль 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" вызывающей отдельное окошко для закачки, т.что как это работает не скажу, предполагаю что должно работать.
- axel's blog
- Для комментирования войдите или зарегистрируйтесь
У меня этот модуль так и не заработал...
Картинки добавляются, с этим всё нормально...
Более того, в предпросмотре я их вижу, в добавляемом
документе. Но вот в самом документе их нет...
Почему, не знаю...
- Для комментирования войдите или зарегистрируйтесь
Там же по идее обычные ссылочки вставляются. Если тег img разрешен в фильтре HTML и файлы на сервер закачиваются, то должны быть видны, куда им деться.
--
Axel
- Для комментирования войдите или зарегистрируйтесь
Тегам может быть не разрешено style, тогда наверное не работает.
Я думаю, мне ясна проблема. У меня значит разрешены только голые теги, без атрибутов...
- Для комментирования войдите или зарегистрируйтесь
Как пофиксить?
- Для комментирования войдите или зарегистрируйтесь
они не видят только "в личной" галерее, а в общей, видят. Просто нужно добавлять в общие галереи, а в личные добавлять что-то избранное.
- Для комментирования войдите или зарегистрируйтесь
Ссылочку трэба поменять: вместо
http://drupal/org/project/node_image
я бы поставил:
http://drupal.org/project/node_image
- Для комментирования войдите или зарегистрируйтесь




Комментарии