Есть ли у кого-нибудь решение?

Аватар пользователя Alex1989_drupal Alex1989_drupal 25 декабря 2019 в 0:40

Всем привет. Подходит год к концу и надо бы обновить тайтлы с [2019] на [2020]
Есть ли решение, как сделать это автоматически?
Может быть через запрос к БД?
Чтото типа UPDATE `node` SET title= WHERE nid='';
Только нужно всем тайтлам, где есть дата [2019] заменить на [2020]. А где нет даты, то ничего не подставлять.
Есть ли идеи?
Спасибо.

Лучший ответ

Аватар пользователя ivnish ivnish 26 декабря 2019 в 14:01

Мне "нравится" когда приходят люди с какой-нибудь странной задачей и говорят "а че, простого решения нет?"

Решений вам уже несколько предложили. Вы бы лучше задачу конкретнее описали

Комментарии

Аватар пользователя gun_dose gun_dose 25 декабря 2019 в 12:25

Ага, ключевое слово "только" ? Надеюсь модуль со счётчиком обратного отсчёта до конца акции, на котором после обновления страницы всегда один час, уже нашли?

Аватар пользователя voviko voviko 25 декабря 2019 в 1:54
<?php
//примерно как то так.  
$nodes db_select('node''n')
    ->
fields('n')
    ->
condition('n.title''%' db_like('2019') . '%''LIKE')
    ->
execute()
    ->
fetchAll();
foreach (
$nodes as $row) {
    
//$node = node_load($nid);
    
$node node_load($row['nid']);
    
$node->title str_replace('2019''2020'$node->title);
    
node_save($node);
}
?>
Аватар пользователя jura12 jura12 25 декабря 2019 в 9:36

модуль Search and Replace Scanner умеет менять заголовки и поля по регулярному выражению.

Аватар пользователя Orion76 Orion76 25 декабря 2019 в 20:19

На всякий случай подпишу, что коммент выше это шутка..
Не дай бог еще кто нибудь попробует, а бэкап не сделает.

Аватар пользователя VasyOK VasyOK 26 декабря 2019 в 1:00

Бекап конечно же делать.
А чем плохо мое решение?

Делаем вьюху, которая выводит ноды или с датой от до или с названием содержащим год.
Поля NID и Заголовок.
Через views_data_export получить табличный файл, в Calc-е заменить в ячейках 2019 на 2020.
Создать импорт через feeds, который обновит заголовки по NID.

Аватар пользователя Orion76 Orion76 26 декабря 2019 в 6:01

Я не про Ваше решение, а про замену "последовательности символов" 2019 на 2020 в дампе БД. (в комментарии сразу перед моим, который я собственно и комментировал)

А данное решение, очевидно же, может заменить (и заменит) не только "год", но и все найденные последовательности в идентификаторах, хэшах и еще туеву хочу данных, не имеющих ничего общего с предыдущим годом в заголовках нод.

Аватар пользователя Sevix Sevix 26 декабря 2019 в 9:52

Automatic Entity Label + свой мини модуль, который создает токен с текущим годом. И дата будет автоматом меняться.

Аватар пользователя ivnish ivnish 26 декабря 2019 в 14:01

Мне "нравится" когда приходят люди с какой-нибудь странной задачей и говорят "а че, простого решения нет?"

Решений вам уже несколько предложили. Вы бы лучше задачу конкретнее описали