[РЕШЕНО] Как с помощью Ruls создать событие по нажатию кнопки, которое будет отправлять статью в неопубликованное

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

Аватар пользователя greenteamer greenteamer 30 сентября 2012 в 18:38

Уважаемые, помогите разобраться , сижу несколько часов подряд уже...
Задача: сделать сайт где зарегестированный пользователь сможет по нажатию на кнопку(ссылку) отправлять статью, (определенного типа материала) в "неопубликованные"
мои действия: создаю ссылку в Ruls links , потом создаю событие "Нода-> просмотр ноды" , создаю действие "отправить в неопубликованные" (здесь все работает, при переходе на ноду он становится неопубликованной)
проблемма: когда создаю условие "ссылка (которую я создали и которая прикрепленная к нужному типу материала)" появляется окно с селектором в котором только 2 направления : "site:... (Информация о сайте) node:... (просмотренное содержимое)"
вариантов всего несколько в всех ветвлениях (мало) и ни один из них не позволяет мне сохранить условие!!!

пожалуйста помогите кто сталкивался!!!

ВложениеРазмер
Иконка изображения snimok_ekrana_2012-09-30_v_21.39.58.png53.11 КБ

Комментарии

Аватар пользователя greenteamer greenteamer 30 сентября 2012 в 19:16

моя проблемма что я уже давно бьюсь с тем какие рулезы на это все дело повесить, какие условия нужно ставить что бы drupal понял что я выбираю этот чекбокс!!!

Аватар пользователя one one one one 30 сентября 2012 в 18:47

А зачем огород городить , задача ведь отправлять материал на модерацию ?
В настройках типа материала уберите галку "опубликовано" .

Или у вас иные задачи ?

Аватар пользователя greenteamer greenteamer 30 сентября 2012 в 18:50

"one one" wrote:
А зачем огород городить , задача ведь отправлять материал на модерацию ?
В настройках типа материала уберите галку "опубликовано" .

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

Аватар пользователя greenteamer greenteamer 30 сентября 2012 в 19:02

"RxB" wrote:
Возможно стоит пойти путём каким пошли в Drupal Commons.
Создать CCK-поле, чекбокс например, на него повесить рулезы + к этому всему огороду прикрутить editablefields

пробую этот вариант, надеюсь поможет))

Аватар пользователя darker darker 30 сентября 2012 в 20:04

"greenteamer" wrote:
моя проблемма что я уже давно бьюсь с тем какие рулезы на это все дело повесить, какие условия нужно ставить что бы drupal понял что я выбираю этот чекбокс!!!

Я тоже веду бои с рулезами, с переменным успехом...

Вам надо текущую ноду снимать с публикации, чтобы рулез понял, какую именно ноду снимать.
Я бы для этого дела придумал костыль, например boolean переменную, которая является полем ноды, и может выставляться юзером в чекбоксе, и её бы проверял...

Аватар пользователя darker darker 30 сентября 2012 в 21:19

"greenteamer" wrote:
на самом деле задача такая:
1. анонимный пользователь оставляет заявку (создает ноду )
2. а зарегистрированный пользователь может принять эту заявку , (нажав на кнопку принять) и тогда ноду становится "неопубликованной" что гарантирует человеку, что другой человек не примет эту же заявку

Вообще интересная идея!
У меня как-то была подобная задача года два назад, но пришлось отказаться, т.к. тогда я не знал ЧТО такое друпал, и ЧТО на его базе можно вылепить)))
Может вернуться, и попробовать снова?)

Тогда от себя ещё 5 копеек.
В ноду надо добавлять идентификатор "принявшего заказ" юзера, например его мыло.

Вот блин, опять чую столкнусь с проблемой, что вытянуть поле мыла из юзера и присвоить его одному из полей ноды будет для меня не под силу(((

Кто разбирается в rules, помогите решить задачу.

КАК устроить ОБМЕН переменными?
Задолбался уже гадать КАК присвоить или сравнить данные из РАЗНЫХ материалов...

Если идет все в одном типе данных, то вроде проблем нет, как-то просмотрел ноду-снял с публикации, добавил к ноде коммент-снял с публикации, и т.п..
А вот как сделать то же присваивание или сравнение commerce vs node, пока не дошло%)

Вроде все логично, но не всегда понятно, почему порой такие жесткие ограничения в рулезах(((
Или может КАК связать их в каскад?
Через компоненты тоже не получается пока.

По отдельности два правила работают, а между собой их связать не получается, чтобы правильно работало, хотя казалось бы тривиальная задача...%)

Надо юзать флаги, буду думать%)

з.ы.: а вот это моя текущая задача, о которой и писал выше(

Очень нужно РУССКОЕ описание, или видео урок по рулезам.
Кто-нить может поделиться?

Буду следить за темой!
ТС, отпишись о результатах пожалуйста, и как что сделал, расскажи!

Сорри за офтоп;)

Аватар пользователя greenteamer greenteamer 10 ноября 2015 в 11:48

[РЕШЕНО]
Ну вот, решил задачку, спасибо всем кто участвовал, за подсказки и вдохновение)

моя задача решилась просто:

1. устанавливаем модуль Rules Link и Rules

2. Заходим в Rules links и добавляем новую ссылку (в моем случае это МАТЕРИАЛ -> тип материала ), сохраняем результат, переходим в edit components
(вот тут у меня и была загвостка , я просто как то не обратил внимания на эту ссылку:)

3. Добавляем правило (в моем случае случае снимаем материал с публикации)

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

в селекторе указываем текущего пользователя

Аватар пользователя greenteamer greenteamer 30 сентября 2012 в 23:50

"darker" wrote:
Тогда от себя ещё 5 копеек.
В ноду надо добавлять идентификатор "принявшего заказ" юзера, например его мыло.

к сожалению до этого мозги не дошли еще мои(( надеюсь решение кто то подскажет, потому как важно такую вещь сделать.