Как я могу переопределить настройки JavaScript, используемые внесенным модулем?


Я использую модуль Fivestar для оценки в своем проекте.
В этом модуле есть функция fivestar_add_js(), которая используется для добавления необходимых терминов в Javascript. Функция приведена ниже:

function fivestar_add_js() {
  static $js_added = FALSE;

  // Add necessary javascript only once per page.
  if (!$js_added) {
    $settings = array(
      'titleUser' => t('Your rating') .': ',
      'titleAverage' => t('Average') .': ',
      'feedbackSavingVote' => t('Saving your vote...'),
      'feedbackVoteSaved' => t('Your vote has been saved.'),
      'feedbackDeletingVote' => t('Deleting your vote...'),
      'feedbackVoteDeleted' => t('Your vote has been deleted.'),
    );

    drupal_add_js(drupal_get_path('module', 'fivestar') .'/js/fivestar.js');
    drupal_add_js(array('fivestar' => $settings), 'setting');
    $js_added = TRUE;
  }
}

В этой функции мне нужно заменить слово с голоса на рейтинг.
Как я могу это сделать?

Author: kiamlaluno, 2011-09-15

2 answers

Хорошо, название здесь немного вводит в заблуждение. На самом деле вы хотите переопределить параметр JavaScript , а не файл . Разница в том, что настройки встроены на странице.

Строки обрабатываются через t(), поэтому существуют "правильные" способы замены.

Помещая это в свой"settings.php "файл должен работать.

$conf["locale_custom_strings_en"] = array(
  "Saving your vote..." => "Saving your rating...",
  "Your vote has been saved." => "Your rating has been saved.", 
  "Deleting your vote..." => "Deleting rating vote...", 
  "Your vote has been deleted." => "Your rating has been deleted.", 
);

В Drupal 7, я думаю, вам нужно изменить первую строку на

$conf["locale_custom_strings_en"][""] = array(

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

 2
Author: mpdonadio, 2011-09-15 17:09:51

Поскольку эти строки передаются в t(), более быстрый способ переписать эти строки - перезаписать, а затем в settings.php файл, использующий что-то похожее на следующий код (напишите только код для используемой вами версии Drupal):

// Drupal 6.
$conf['locale_custom_strings_en'] = array(
  'Saving your vote' => 'Saving your rating',
  'Your vote has been saved' => 'Your rating has been saved',
  'Deleting your vote...' => 'Deleting your rating...',
  'Your vote has been deleted.' => 'Your rating has been deleted.'
);

// Drupal 7.
$conf['locale_custom_strings_en'][''] = array(
  'Saving your vote' => 'Saving your rating',
  'Your vote has been saved' => 'Your rating has been saved',
  'Deleting your vote...' => 'Deleting your rating...',
  'Your vote has been deleted.' => 'Your rating has been deleted.'
);
 2
Author: kiamlaluno, 2011-09-15 17:07:42