Вы здесь

Реализовать поле веса с уникальным значением

0

Есть три типа избранных материала, на главной: N1,N2,N3.
Выводятся в разном внешнем виде. Выводятся в порядке 1,2,3.
Я использую модуль weight для указания этого порядка.
Но клиенту не удобно задавать вес по определенным правилам.

Он хочет просто выбрать для любой ноды признак N1,N2 или N3.
В этом не проблемы. Но как сделать что бы когда админ выбирает, например признак N1 для ноды, этот же признак исчезал у другой ноды, которой он назначал это признак прошлый раз.

Версия Drupal: 
7.x
Вопрос задан 13.10.2015 - 22:57
Аватар пользователя Artu
Artu
24

Ответы

1

Способов море..
Например связка views. rules и https://www.drupal.org/project/views_rules
Делаем правило, которое перед сохранением материала, вьюсом получает списко материалов с нужным значением нужного поля, и меняет его (очищает - по вкусу)

Ответ дан 13.10.2015 - 23:48

Эта связка с параметром (значение поля 1,2 или 3) будет работать?

Комментарий оставлен 14.10.2015 - 00:02
1

Я бы советовал использовать https://www.drupal.org/project/draggableviews для этого.
В качестве веса можно использовать поле "Целое число".

Ответ дан 14.10.2015 - 00:19

Т.е. view превращается в форму с кнопкой "сохранить изменения"? Типа view bulk operation?

Комментарий оставлен 14.10.2015 - 01:27

Нужно будет сделать вьюху для "админов", она выводится таблицей с возможностью перетаскивания элементов. А внизу, да, кнопка "Сохранить". Но не как VBO.
А вообще удобная штука. Работает с AJAX'ом...

Комментарий оставлен 14.10.2015 - 01:58
0
Ответ дан 14.10.2015 - 10:36

Все эти вещи полезные - https://www.drupal.org/node/398508, но в данном случае буду делать как предложил Orion76. Так как задача несколько иная.
Я думал о предложенном им способе ранее, но сомневался не усложняю ли я.

Комментарий оставлен 14.10.2015 - 10:53