Чтобы заменить определённый текст во всех материалах, нужно в phpMyAdmin выполнить следующий запрос:
Drupal 7:
SET @from_str = 'то что меняем', @to_str = 'то на что меняем';
UPDATE `field_data_body` SET
`body_value` = REPLACE(`body_value`, @from_str, @to_str),
`body_summary` = REPLACE(`body_summary`, @from_str, @to_str);
UPDATE `field_revision_body` SET
`body_value` = REPLACE(`body_value`, @from_str, @to_str),
`body_summary` = REPLACE(`body_summary`, @from_str, @to_str);
Drupal 6:
SET @from_str = 'то что меняем', @to_str = 'то на что меняем';
UPDATE `node_revisions` SET
`body` = REPLACE(`body`, @from_str, @to_str),
`teaser` = REPLACE(`teaser`, @from_str, @to_str);
Замена происходит без учёта регистра.
После выполнения запроса нужно не забыть сбросить кэш друпала.
Написанное актуально для
Drupal 6, Drupal 7
Похожие записи
- Добавить своё действие над сущностью в bulk operations
- Добавить своё действие над сущностью в contextual links
- Добавить своё действие над сущностью в operations links
- Добавляем на страницу управления отображением материала поля "Заголовок" и "Дата создания"
- Добавить вкладку/таб/локальную-задачу/local-task для определённого типа материала
Комментарии
Удивлён что нет модуля, который делал бы такую работу по передёргиванию cron с заранее подготовленными паттернами.
Rules, VBO
Не совсем по теме, но очень близко. Вопрос: как заменить несколько одинаковых тегов на один? Например в тексте:
А хотелось бы так:
Либо с помощью php или javascript
http://www.php.net/manual/ru/function.preg-replace.php
Добавить комментарий