Поскольку вы просто хотите удалить этот текст, вы можете сказать Drupal не показывать эту информацию: Перейдите в admin / build / themes / settings и отмените выбор типов контента, для которых вы не хотите показыватьэта строка.На снимке экрана информация «отправлено» не отображается для типа контента «Страница», но отображается для других типов контента.
Если вы хотитеизмените строку, основываясь на некоторых критериях, и используйте (например) другую строку, основанную на содержимом, тогда вы можете изменить функцию темы, вызываемую, когда Drupal (или любые модули) вызывают theme("node_submitted", $node)
, что означает, что вам нужно будет реализовать hook_theme_registry_alter () , используя код, подобный следующему:
function mymodule_theme_registry_alter(&$theme_registry) {
if (isset($theme_registry['node_submitted'])) {
$theme_registry['node_submitted']['function'] = 'theme_mymodule_node_submitted';
}
}
Если вы хотите использовать только другую строку, она всегда используется вместо «Отправлено! username в @datetime,"есть более простые альтернативы:
- Используя модуль переопределения строк, вы можете заменить любую строку, которую модуль передает в
t()
, на другую предпочитаемую вами строку. Добавление следующегоКод в settings.php вы можете получить такой же результат.
$conf['locale_custom_strings_en'] = array(
'Submitted by !username on @datetime' => 'The string you want to use',
);
Преимущество второго метода заключается в том, что вам не нужно использовать другой модуль, но вам нужно изменить файл settings.php, который не так прост, какпервый метод.
Между использованием функции темы в теме и использованием модуля я бы предпочел использовать модуль, поскольку для этого не требуется менять используемую тему;в случае, если пользователи могут установить тему для себя, это означает, что нельзя изменять все выбираемые темы.Другим преимуществом является то, что, если вы хотите использовать исходную строку, вам просто нужно отключить модуль.