하나의 특정 언어로만 컨텐츠를 편집하도록 편집자 제한


15

한 편집자는 영어 내용 만 편집하고 다른 편집자는 다른 언어로만 내용을 편집 할 수있는 편집자 역할을 만들려고합니다.

나는 꽤 오랫동안 연구 해왔고 Content Access도 체크 아웃했지만 해결책을 찾지 못했습니다.

어떻게하면 되나요?

감사합니다!



1
내 문제는 번역에만 국한된 것이 아니기 때문에 나는 그렇게 생각하지 않습니다. 별도로 노드를 작성하고 편집 할 수있는 권한입니다.
Bálint Deáki

아 .. 좋아요 알았다.
Sumit Madan

1
drupal.org/project/i18n_access 당신의 요구 사항과 비슷하게 시도 해볼 수 있습니다
Bala

답변:


2

여기에 지정된 답변은 번역에 특화된 언어제공하는 데 도움이 될 것입니다

설치 한 후 번역 관리 모듈 ,

번역 기능으로 사용자를 만들 수 있습니다

사용자가 영어에서 스페인어로만 번역하고 다른 사용자가 사용자를 만드는 동안 영어에서 프랑스어로 번역 할 수 있도록 지정할 수 있습니다.

  • 사용자 역할이 있는 새 사용자 작성 : Translator ( tmgt module설치 될 때 작성 됨 )

  • 그런 다음 아래와 같이 자신의 번역 기술을 선택하십시오.

여기에 이미지 설명을 입력하십시오


1
이 경우 사용자가 특정 언어의 콘텐츠를 만들거나 편집 할 수있는 권한이 필요합니다 (설명한 것처럼 번역 용이 아님).
Bálint Deáki


0

hook_menu_alter를 사용하여 노드 편집 양식에 대한 액세스 콜백을 바꾸거나 변경할 수 있습니다 .

사용 가능한 언어를 기반으로 권한 화면에 표시되는 권한을 만들려면이 후크가 포함 된 사용자 정의 모듈이 필요합니다.

/**
 * Implements hook_permission().
 */
function MODULENAME_permission(){

  //do something here to get an array of language names: $languages (I'm not familiar with i18n)

  foreach ($languages as $lang) {
    $permissions[$term->name] = array(
      'title' => t($lang->name), //Or wherever the langauge name is stored
      'description' => t('Edit content in '. $lang->name), //Again, adjust as needed
    );
  }

  return $permissions;
}

그러면 사용 권한 페이지에 사이트의 각 언어에 대한 모듈 이름 아래에 확인란이 표시됩니다. 언어 이름은 어떤 경우에도 변경되지 않는 것으로 가정합니다.

그런 다음 사용자가 다음과 같이 허용되지 않으면 액세스를 차단하기 위해 이들을 사용해야합니다.

/**
 * Implements hook_node_access($node, $op, $account).
 */
function MODULENAME_node_access($node, $op, $account){

  //Get the language name for the node and store in variable $lang (again, I don't know how)

  //Then see if the user can do anything except view it
  if ($op != 'view'){
    if (!user_access($lang)){
      return NODE_ACCESS_DENY;
    }
  }

  return NODE_ACCESS_IGNORE;
}

이 방법으로 역할을 수행하려면 역할을 편집하려면 '노드 편집'권한과 언어 기반 권한이 필요합니다.


즉, i18n_access 모듈이 트릭을 수행하는 것처럼 보입니다.
Darvanen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.