Привязка комментариев к FID (нужно решение)

Главные вкладки

Аватар пользователя ikee ikee 24 апреля 2012 в 14:44

Всем привет!
Передо мной стоит задача возможность оставлять комментарии к файлам.
Хотелось бы использовать стандартный модуль комментариев, завязать его с ID файлов.
Может кто то что-то подобное делал? Хотелось бы избежать изобретения велосипеда Smile

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

В стандартном наборе полей таблицы {comment} есть поле .nid указывающие на ID ноды к которому привязан комментарий, в моем случае мне нужно указать ID файла, если указывать прям в этом поле ID файла, ясное дело что оно может пересечься с ID ноды, рассматриваю пока-что два варианта на решение этой проблемы:

  1. добавление поля к таблице {comment} указывающую на тип материала (node/comment) к которому он принадлежит
  2. добавление таблицы в которой будет 2 поля CID(ID комментария) и CTYPE (тип материала (node/comment))

Далее, у меня пока не ясность, как в стандартный SQL запрос для отображения комментариев добавить еще одно условие, не меняя нечего в коде основного модуля.
Подскажите: как добавить дополнительно условие к запросу?

Комментарии

Аватар пользователя ikee ikee 24 апреля 2012 в 20:02

glu2006 wrote:
А что мешает создавать ноды типа файл?

Если бы этого мне хватило, то так бы и сделал, увы.. Sad

Аватар пользователя glu2006 glu2006 26 апреля 2012 в 10:38

так опишите подробно почему вам не хватает ноды? не вижу ну никаких препятствий, во всяком случае пока.

Аватар пользователя ikee ikee 26 апреля 2012 в 12:06

glu2006 wrote:
так опишите подробно почему вам не хватает ноды? не вижу ну никаких препятствий, во всяком случае пока.

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

Аватар пользователя Orion76 Orion76 26 апреля 2012 в 11:30

А что тут такого, грубо говоря, и получается нужная связь ,реализованная оптимальным способом:
Файл <- [Нода] -> Коментарии

А как вы ее будете использовать, это уже дело техники...

Аватар пользователя ikee ikee 26 апреля 2012 в 11:52

orion76 wrote:
А что тут такого, грубо говоря, и получается нужная связь ,реализованная оптимальным способом:
Файл <- [Нода] -> Коментарии

А как вы ее будете использовать, это уже дело техники...

Согласен оптимально.
А если добавить условие, что необходимо делать массовые загрузки файлов (по 20-40 за раз)?
Тогда как посоветуете реализовать эту возможность при помощи предложной связи через ноду?
Например есть ли мозможность осуществить это при помощи модуля plupload (или другого иного модуля массовой загрузки файлов) и модуля references,
чтобы в итоге мы получили форму массовой загрузки, и выбор поля к какому проекту (нода другого типа) это принадлежит.

Аватар пользователя Orion76 Orion76 26 апреля 2012 в 17:32

"ikee" wrote:
А если добавить условие, что необходимо делать массовые загрузки файлов (по 20-40 за раз)?

Впринципе, небльшая проблема организовать программное создание нод при массовой загрузке файлов..

Было бы еще проще придумать решение, если бы вы описали подробнее исходные условия, и чего надо добиться в результате.
А так, есть куча вариантов решения задачи, но каждый из них зависит от конкретных условий.

Аватар пользователя ikee ikee 27 апреля 2012 в 13:11

задача.
1. комментировать отдельно файл находящийся на сайте
2. возможность загружать на сайт файлы массово, определяя к какому проекту (зависимой ноде) они принадлежат.

Если подскажешь как организовать массовое создание нод, при массовой загрузке файлов, то вопрос решен. Заранее спасибо.

Аватар пользователя glu2006 glu2006 3 мая 2012 в 14:47

ikee wrote:
задача.
1. комментировать отдельно файл находящийся на сайте
2. возможность загружать на сайт файлы массово, определяя к какому проекту (зависимой ноде) они принадлежат.

Если подскажешь как организовать массовое создание нод, при массовой загрузке файлов, то вопрос решен. Заранее спасибо.

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

Это как бы первое что пришло в голову.

Еще есть извращенный метод Smile
2. Сделать ноду mass_load с малтипл файлфилдом из админки юзера создают ноды с большим количеством файла и указанием к какой ноде это все принадлежит. Далее админ выбирает у себя на модерации такие ноды ставит галочку отконвертить и полетел батч процесс создания нод (с удалением исходной ноды донора) под каждый файл. программно тоже решается за 3-4 часа.

2-й способ хоть и более извращенный но в плане администрирования будет очень удобно