Drupal 7. Замена строк (текста) по-умолчанию, не используя систему перевода.

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

Аватар пользователя stillfinder stillfinder 3 августа 2015 в 12:39


Методы

  1. Редактирование settings.php
  2. Модуль String Overrides
  3. Использование hook_boot()

Метод 1: Редактирование settings.php

Плюсы

  • Быстрый метод для небольшого количества строк.
  • Менее доступен в тех случаях, когда вы хотитесохранить некоторый контроль даже после предоставления прав администратора.

Минусы

  • Работает только для английского.
  • Нету административных страниц, необходим доступ к серверу (FTP / SFTP / SSH). Сложно управлять изменениями не разработчикам.

Процедура

  1. Открываем на редактирование файл settings.php,
  2. Находим в конце файла следующие строки:
    # $conf['locale_custom_strings_en'][''] = array(
    #   'forum'      => 'Discussion board',
    #   'count min'      => 'count minutes',
    # );
  3. Удаляем знаки комментариев ('#') и добавляем необходимые нам строки:
     $conf['locale_custom_strings_en'][''] = array(
       'Old string 1'      => 'New string 1',
       'Old string 2'      => 'New string 2',
     );

Метод 2: Модуль String Overrides

(http://drupal.org/project/stringoverrides)

Плюсы

  • Административная страница для управления заменой строк.
  • Простое управление правами доступа для пользователей.

Минусы

  • Еще один модуль, который нужно установить, обновлять и администрировать.
  • Возможно влияние на производительность и сложность развертывания (строки для замены хранятся в базе данных).
  • Права доступа пользователей. Трудно запретить изменения, если Вам нужно дать административный доступ другим.

Процедура

  1. Установите и включите модуль.
  2. Следуйте инструкциям / документации для замены строк.

Метод 3: Использование hook_boot()

Процедура

  1. Объявите в своем модуле hook_boot().
  2. Используйте такой же массив как и в settings.php.
    /**
     * Implements hook_boot().
     */

    function mymodule_boot(){
      global $conf;
      $conf['locale_custom_strings_en'][''] = array(
       'Old string 1'      => 'New string 1',
       'Old string 2'      => 'New string 2',
     );
    }