it-swarm-ko.tech

규칙 모듈을 사용하여 방금 생성 된 노드에 플래그를 지정하는 방법은 무엇입니까?

노드가 게시 된 후 자동으로 flag 노드가 필요합니다. 특정 컨텐츠 유형의 모든 노드가 플래그됩니다.

이 문제를 해결하기 위해 Rules 모듈을 설치했습니다. 생성 된 노드에 자동으로 플래그를 지정할 수 있기를 바랍니다. 규칙 모듈에는 플래그 동작이 미리 포함되어 있지 않습니다.

방금 생성 된 항목에 플래그를 지정할 수 있습니까?

5
Marcos Buarque

노드가 게시 될 때 플래그를 지정하려면 다음을 수행해야합니다.

  • Admin/config/workflow/rules에서 "새 컨텐츠 저장 후"를 이벤트로 선택하여 새 규칙을 작성하십시오.
  • 신고 할 컨텐츠 유형을 선택하여 "컨텐츠 유형"조건을 작성하십시오.
  • 조건 표 하단에있는 "추가 및"링크를 클릭하십시오.
  • "AND"행에서 "조건 추가"를 클릭하십시오.
  • 조건 유형으로 "컨텐츠가 게시 됨"을 선택하여 새 조건을 만듭니다.
  • "사용자 지정 PHP 코드"실행)을 유형으로 선택하여 새 작업 추가
  • 다음 코드를 사용자 지정 PHP 코드로 사용하십시오.

    $flag = flag_get_flag('published'); // Replace "published" with the name of the flag you want to add.
    $flag->flag('flag', $node->nid);
    

Drupal 6에서 규칙은 admin/config/system/actions에 설정된 사용자 정의 작업을 노출했지만 Drupal 7에 대한 규칙 버전은 보이지 않습니다) Drupal 6에 대한 플래그는 내가 기억하는 한 몇 가지 조치를 규칙에 노출했지만, Drupal 7.
그러므로 내가 사용자 정의 PHP 액션을 사용하여 노드를 플래그 지정한 이유입니다.

0
kiamlaluno

참고로, 많은 검색 후 Drupal7에 대한 Flag의 Rules2 지원이 이미 개발 중임을 발견했습니다. 나는 그것을 시도하고 잘 작동합니다!

여기에 명시된 패치도 있습니다 : http://nodeone.se/blogg/learn-flag-with-nodeone-part-7

구글 아웃 쉽지 않다! : P 안녕!

1
Paolo Pustorino

예, 사용자 정의 PHP를 만들지 않고 규칙 UI를 통해 규칙 2로 수행 할 수 있습니다.

노드가 게시 된 후에 자동으로 플래그를 지정해야합니다.

동일한 조치에서 노드를 '작성'하는 경우 사용자 정의 PHP 코드를 사용하지 않고 노드를 플래그 할 수 있도록 규칙 조치를 수정해야합니다.

새 규칙을 작성하고 '새 엔티티 작성'조치를 추가하십시오. 아래 이미지를보십시오 :

Add Create new entity action

다음으로 엔티티 저장 (즉시 저장)을 수행 한 다음 엔터티에 플래그를 지정해야합니다. 아래 이미지를보십시오 :

enter image description here

엔티티를 먼저 저장하지 않으면 모든 종류의 SQL 오류가 발생했습니다. 위의 설정은 저에게 효과적이며 사용자 정의 PHP가 필요하지 않습니다.

0
Citricguy