Всем привет. Подходит год к концу и надо бы обновить тайтлы с [2019] на [2020]
Есть ли решение, как сделать это автоматически?
Может быть через запрос к БД?
Чтото типа UPDATE `node` SET title= WHERE nid='';
Только нужно всем тайтлам, где есть дата [2019] заменить на [2020]. А где нет даты, то ничего не подставлять.
Есть ли идеи?
Спасибо.
Есть ли у кого-нибудь решение?
Главные вкладки
Лучший ответ
Мне "нравится" когда приходят люди с какой-нибудь странной задачей и говорят "а че, простого решения нет?"
Решений вам уже несколько предложили. Вы бы лучше задачу конкретнее описали
Комментарии
Что за тайтлы и почему у вас в них указан год?
Специальные акции, доступные только в 2019 году, очевидно же
Вообще ни разу не очевидно
Ага, ключевое слово "только" ? Надеюсь модуль со счётчиком обратного отсчёта до конца акции, на котором после обновления страницы всегда один час, уже нашли?
<?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);
}?>
модуль Search and Replace Scanner умеет менять заголовки и поля по регулярному выражению.
Экспорт через views и импорт через feeds
Ого! Вот это мощно было!
Мощно! Уважаю.
Вот так еще можно:
mysqldump | sed 's/2019/2020' | mysql
На всякий случай подпишу, что коммент выше это шутка..
Не дай бог еще кто нибудь попробует, а бэкап не сделает.
Бекап конечно же делать.
А чем плохо мое решение?
Делаем вьюху, которая выводит ноды или с датой от до или с названием содержащим год.
Поля NID и Заголовок.
Через views_data_export получить табличный файл, в Calc-е заменить в ячейках 2019 на 2020.
Создать импорт через feeds, который обновит заголовки по NID.
Я не про Ваше решение, а про замену "последовательности символов" 2019 на 2020 в дампе БД. (в комментарии сразу перед моим, который я собственно и комментировал)
А данное решение, очевидно же, может заменить (и заменит) не только "год", но и все найденные последовательности в идентификаторах, хэшах и еще туеву хочу данных, не имеющих ничего общего с предыдущим годом в заголовках нод.
А через VBO это никак не сделать?
Automatic Entity Label + свой мини модуль, который создает токен с текущим годом. И дата будет автоматом меняться.
В общем простого решения я так вижу нет)
я уже сказал простое решение. проще этого заплатить.
Мне "нравится" когда приходят люди с какой-нибудь странной задачей и говорят "а че, простого решения нет?"
Решений вам уже несколько предложили. Вы бы лучше задачу конкретнее описали