Сегодня полдня билась над тем, как решить одну ма-а-аленькую задачку.
Аж до слез было обидно: делаю, как написано, а ни хрена...
Разобралась, да :) Теперь осталось понять: молодец ли я? или просто слегка блондинко?
Утешает меня то, что под описанием модуля Rules, над которым я билась, несколько людей оставили описания из типа "ничего не понимаю!", "сделайте нормальные инструкции" и т.п.

Под катом - подробности решения, чтоб не забыть.

читать дальше

@темы: сайт

Комментарии
30.09.2014 в 20:53

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
разрешите посоветовать?
01.10.2014 в 22:47

Спасибо большое за подсказку. Надо мне ее обмозговать как следует.
Так теоретически я ее понимаю, но вот как переложить сам принцип на реалии друпала - пока не понимаю.

В принципе, у меня проблема была в том, чтобы сделать при изменении поля "автор" в одной таблице связанное с ней "статьи" в другой. И там, и там возможны поля с неограниченным количеством значений. Но конкретно автозаполнение удавалось сделать только при соотношении один-к-многим. Теперь я еще могу несколько-к-многим. Но по хорошему надо делать много-к-много (не ограничено), для этого надо запустить бы цикл - но не выходит у меня цикл конкретно в реалиях модуля rules. То есть для каждого варианта значений надо отдельно прописать замену - только так. А больше чем на 5 значений прописывать действия сверок и изменений - это мазохизм )

А если делать промежуточную таблицу - как обойти это много-к-много?
02.10.2014 в 09:27

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
-Illit S.-, ну собственно эта промежуточная таблица и будет выражением многие-ко-многим (множество авторов ко множеству статей)
и если её создавать, то в каждой отдельной связке получается отношение один-ко-многим
например, назовем эту таблицу "Авторы статей"
в таблице "Авторы" у нас есть один уникальный автор, и ему нужно приписать статей
мы при этом не трогаем таблицу "Авторы", а записываем изменения в таблицу "Авторы статей", туда прописываем пары "id этого автора"+"id статьи"
т.е. получается, что одной строке таблицы "Авторы" будет соответствовать несколько строк таблицы "Авторы статей"
и аналогичная связь будет у этой же таблицы со статьями
03.10.2014 в 09:52

Да, я поняла, кажется. Спасибо.

Мне этот механизм нравится, я как раз думаю его попробовать в случае с другими парами: драма - сэйю.
В случае с авторами меня смущает его все-таки интуитивная непонятность. Потому что в идеале я хочу сделать так, чтобы статью или что-то другое добавить мог любой пользователь (авторизованный) и указать к ней автора. Объяснять о необходимости заполнения промежуточных таблиц - уже сложно.
Но здесь как раз, я надеюсь, будет достаточно сделать ограниченное количество полей несколько-ко-многим. Надеюсь, что у статей не может быть больше 5 авторов )
03.10.2014 в 10:53

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
-Illit S.-, не за что)
в идеале я хочу сделать так, чтобы статью или что-то другое добавить мог любой пользователь (авторизованный) и указать к ней автора
по идее с точки зрения пользователя это и должно выглядеть так, промежуточная таблица должна заполнятся самим сайтом

Надеюсь, что у статей не может быть больше 5 авторов )
думаю 2-3 это максимум)) вот сейю и правда больше будет
03.10.2014 в 11:00

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
-Illit S.-, может вот эта статья поможет?
03.10.2014 в 19:41

по идее с точки зрения пользователя это и должно выглядеть так, промежуточная таблица должна заполнятся самим сайтом
м... я-то думала, что я поняла ) а теперь вот поняла, что не поняла.

Я-то думала, что заполняем промежуточную таблицу. Там каждая пара автор-статья - это отдельный материал. В каждой паре возможно единственное значение, которые = ссылки на соответствующие материалы в типе Авторы и Статьи. И при заполнении этой страницы как раз Правилами мы автоматом заполняем поля с множественными значениями у соответствующих Авторов и Статей ссылками на эти пары в типе "Авторы статей". Вот тогда получается один-к-многим (одно значение в "Авторы статей" - на множественные значения полей-ссылок в Авторах и Статьях).
Но это работает именно при заполнении со стороны промежуточной таблицы.
А как сделать, чтобы сайт заполнял сам промежуточную таблицу?
Ведь тогда опять проблема, разве что в формате много-к-одному, а не много-к-много.

Разве что как-то вьюхой выводить на страницу создания материала "Автор" таблицу для заполнения из "Авторы статей"? Где-то я видела что-то подобное среди модулей, правда, там шла речь о правке, а не о создании. Если я не путаю.


За ссылку спасибо. Меня, конечно, пока пугает php, но если все другие пути не заработают - придется как раз влезать :) Тоже вариант - не создавать перекрестные ссылки, а через пхп вытащить обратную ссылку, если я правильно поняла.


А с модулем relation не приходилось сталкиваться? Читала, что вроде он как раз делает равные связи (а не направленные, как node reference). Но как-то мало про него, во всяком случае - в рунете. Только общие слова.
03.10.2014 в 21:18

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
нет, вы всё правильно поняли

я просто конкретно с друпалом не работала, не знаю как там всё устроено
по идее должна быть реализация подобных отношений в модулях, потому что они довольно популярны

php не страшный;-)
я тоже его сначала боялась, но потом ничего, втянулась))
03.10.2014 в 21:43

пхп не страшный ) наверное )
когда оно не сваливается вместе с друпалом и всем прочим в кучу ) у меня мозги уже кипят.
и сейчас мне все страшно.

а если к этому добавить, что друпал меняется, зараза такая... у меня вот вообще сейчас подозрение, что зря я этот огород с обратными связями горожу, что он был актуален для 6-й версии друпала или для других версий вьюса... а теперь все делается куда проще. Пойду проверять ) если так - напьюсь с горя ))) столько времени голову ломала ))
03.10.2014 в 21:45

я просто конкретно с друпалом не работала
эх, как жаль )

но мозги-в-теме-сайтостроительства - это все равно круто )
03.10.2014 в 22:40

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
если так - напьюсь с горя ))) столько времени голову ломала ))
у меня недавно такая фигня на работе была, я над простой задачей сидела, голову ломала, в 2 раза больше времени потратила, а оказалось всё до смешного просто, но на форумах этого нигде не описано, потому что "все и так знают, о чем еще говорить"))
03.10.2014 в 22:58

<Клио>,
ха, да-да-да, это тоже есть )
все, что меня утешает - это то, что даже многоопытные люди тоже так периодически зависают (ну, мои знания ограничиваются месяцем копания в друпале). Пару дней назад с отцом говорила (а уж он-то опытный компьютерщик - караул); думала, сейчас надо мной посмеется... ан нет, стал сам рассказывать, как по форумам копался, решение не мог найти несколько дней для своей проблемы.

Я все проверила. Реально идти-напиваться пора ) ларчик открывался просто.

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

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


У меня два вопроса:
- можно на ты?
- а нет желания поработать над сайтом WK? помощь специалиста очень бы пригодилась.

04.10.2014 в 17:35

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
-Illit S.-, И где-то по ходу проблему решили - и связи теперь кое-как работают в обе стороны. Но об этом, конечно, никто же писать не будет. Нафига? ))))
ну это как обычно:lol:

- можно на ты?
да, конечно))

- а нет желания поработать над сайтом WK? помощь специалиста очень бы пригодилась.
желание есть, а вот со временем проблемы, я учусь и работаю, так что помогать смогу не часто

05.10.2014 в 13:52

<Клио>,
со временем - это я понимаю, его требуется прилично, тем более, что надо вникать не только в код сайта, но и в друпал; но мне бы любая помощь пригодилась - частая или нет ) особенно, учитывая, знание php ) я пока даже не знаю, с какой стороны к нему подступиться
05.10.2014 в 14:46

Родители частенько вышибали из меня дурь, но я знал, где достать ещё ©
-Illit S.-, буду рада помочь:)
06.10.2014 в 23:17

<Клио>,
я написала в умыл, но что-то меня глючило с отправкой. Если не придет - напиши, пожалуйста.
И еще вот тут - наше сообщество: wk-site.diary.ru/
Вроде бы я сделала доступ, но если оно все еще недоступно для тебя - напиши.

Расширенная форма

Редактировать

Подписаться на новые комментарии