it-swarm-ko.tech

"새 비밀번호 요청"링크의 이름을 바꾸는 방법?

Drupal의 로그인 페이지에서 "새 비밀번호 요청"텍스트의 이름을 일부 사용자 정의 텍스트로 바꾸려고합니다.

User.module 파일 에서이 텍스트가 하드 코딩 된 것을 볼 수 있습니다

if (variable_get('user_register', 1)) {
    $items[] = l(t('Create new account'), 'user/register', array('attributes' => array('title' => t('Create a new user account.'))));
  }
  $items[] = l(t('Request new password'), 'user/password', array('attributes' => array('title' => t('Request new password via e-mail.'))));
  $form['links'] = array('#value' => theme('item_list', $items));

Drupal 코어를 수정하는 대신이 텍스트의 이름을 바꾸는 다른 방법이 있습니까?

7
Ajinkya Kulkarni

String Overrides 모듈을 사용해 보셨습니까?

사이트의 텍스트를 빠르고 쉽게 바꿀 수있는 방법을 제공합니다.

특징

  • T ()를 통해 전달 된 모든 것을 쉽게 교체
  • 모든 언어에서 문자열을 재정의 할 수있는 로케일 지원
  • 로케일 모듈에서 쉽게 마이그레이션 할 수 있도록 * .po 파일 가져 오기/내보내기 기능
  • 수천 번의 재정의를 가하면 더 많은 고통을 유발할 수 있으므로 이는 로케일을 대체하지 않습니다. 간단한 텍스트 변경이 필요한 경우에만 사용하십시오.
5
Kevin

String Overrides 모듈은 많은 문자열이 있거나 지속적으로 변경 해야하는 경우 좋은 제안이지만 settings.php 파일 의 문자열 재정의 섹션을 편집하여이를 달성 할 수도 있습니다.

다음과 같이 섹션의 주석 처리를 제거하십시오.

$conf['locale_custom_strings_en'] = array(
  'Request new password' => 'MY CUSTOM TEXT FOR A NEW PASSWORD',
);
12
jhedstrom

방금 Drupal 7)에서 이것을 시도했지만 꽤 옳지 않았습니다. 추가 [ ''] 비트가 필요합니다.

$conf['locale_custom_strings_en'][''] = array(
  'Request new password' => 'MY CUSTOM TEXT FOR A NEW PASSWORD',
);
4
Simon Davies

나는 그것을하는 두 가지 방법을 더 발견했다.

  • iTweak Login 모듈 을 설치하십시오

  • 사용자 정의 모듈에서 다음과 같이 hook_menu_alter ()를 구현하십시오.

'mymodulename'대신 모듈 이름을 사용하십시오.

/*
 * Implements hook_menu_alter(). Change link text of 'Request new password' link.
 */
function mymodulename_menu_alter(&$items) {
      $items['user/password']['title'] = t('Reset password');
}
1
pferlito

당신은 또한 테마의 template.php에서 그것을 할 수 있습니다. 내 목적에 더 융통성있는 솔루션입니다 (텍스트를 프랑스어와 영어로 나란히 원했습니다) :

/**
 * Implements hook_form_alter(&$form, &$form_state, $form_id)
 */
function YOURTHEME_form_alter(&$form, &$form_state, $form_id) {

  switch ($form_id) {
    //Modify the User Login Block Form
    case 'user_login_block':     
      $item = array(); 
      $items[] = l( t('Request new password') . ' |  <span class="en">' . t('Request new password', array(), array('langcode' => 'en')) . '</span>', 'user/password', array('html' => TRUE) ); 

      $form['links']['#markup'] = theme('item_list', array('items' => $items));

    break;
  }
} 

원래 Geoff Hankerson 에서 영감을 받았습니다. 그에게 감사합니다.

0
anou