0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 348 Просмотров
*

AlexB

  • Завсегдатай
  • 1973
  • 53 / 2
Замена выражения в title
« : 24.02.2020, 13:29:49 »
Добрый день
подскажите как массово заменить одно выражение в title(заголовок отображаемый в браузере)
таблица _menu
params
там все закодировано
*

ProtectYourSite

  • Живу я здесь
  • 2106
  • 114 / 4
  • Безопасность вебсайтов
Re: Замена выражения в title
« Ответ #1 : 24.02.2020, 13:42:41 »
Код
UPDATE __menu
SET params =
        JSON_SET(params ,
            '$.title', 'My new title'
        )
WHERE 1
Что-то типо такого
« Последнее редактирование: 24.02.2020, 16:56:00 от ProtectYourSite »
*

AlexB

  • Завсегдатай
  • 1973
  • 53 / 2
Re: Замена выражения в title
« Ответ #2 : 24.02.2020, 13:44:14 »
Код
UPDATE __menu
SET params =
        JSON_SET(params ,
            '$.\"title\"', 'My new title'
        )
WHERE 1
Что-то типо такого
это понятно, но это проще и руками переписать
по сути
title - блаблабла ФРаза замены блалалалалла
вот мне надо кусок на кусок поменять
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
Re: Замена выражения в title
« Ответ #3 : 24.02.2020, 13:47:23 »
Правильнее будет так:
1. Считать все записи таблицы запросом (используя ->loadObjectList()):
Код
SELECT `id`, `params` FROM `#__menu`
2. Пройтись в цикле по массиву объектов - расшифровать params, внести изменения, зашифровать и сохранить. Вроде этого:
Код
foreach($items as $item){
   $params = json_decode($item->params, true);
   $params['title'] = str_replace('...', '...', $params['title']);
   $item->params = json_encode($params);
   $db->updateObject("#__menu", $item, 'id');
}
И все. Парамсы там жсоном кодированы.

P.S. не "правильнее", а "проще", пожалуй.
На связи в телеге @sivers
*

AlexB

  • Завсегдатай
  • 1973
  • 53 / 2
Re: Замена выражения в title
« Ответ #4 : 24.02.2020, 14:11:30 »
если все делать в PMY
то ошибку валит
ERROR: Неизвестная пунктуация @ 95 STR: ->
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
Re: Замена выражения в title
« Ответ #5 : 24.02.2020, 14:35:44 »
то ошибку валит
это через JSON_SET ?
На связи в телеге @sivers
*

ProtectYourSite

  • Живу я здесь
  • 2106
  • 114 / 4
  • Безопасность вебсайтов
Re: Замена выражения в title
« Ответ #6 : 24.02.2020, 16:52:14 »
https://stackoverflow.com/questions/17365222/update-and-replace-part-of-a-string заменить 'My new title' на свое условие
params->>'$.title' будет содержать ваше текущее значение бд, и кавычки подредактировать, заэкранировались в запросе
И для начала лучше составить запрос на SELECT, чтобы убедиться в правильности, а потом уже обновлять
« Последнее редактирование: 24.02.2020, 16:57:09 от ProtectYourSite »
*

fbr

  • Завсегдатай
  • 1516
  • 174 / 7
*

AlexB

  • Завсегдатай
  • 1973
  • 53 / 2
Re: Замена выражения в title
« Ответ #8 : 25.02.2020, 09:37:39 »
https://www.regularlabs.com/extensions/dbreplacer
json не декодирует
остальное просто реплейсом в PMA делается
*

AlexB

  • Завсегдатай
  • 1973
  • 53 / 2
Re: Замена выражения в title
« Ответ #9 : 25.02.2020, 09:38:20 »
https://stackoverflow.com/questions/17365222/update-and-replace-part-of-a-string заменить 'My new title' на свое условие
params->>'$.title' будет содержать ваше текущее значение бд, и кавычки подредактировать, заэкранировались в запросе
И для начала лучше составить запрос на SELECT, чтобы убедиться в правильности, а потом уже обновлять
все равно ума не дам что и как сделать
пока не много проще руками пройтись
30 пунктов меню всего
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Код PHP в заголовках страницы в браузере (title)

Автор virfolk

Ответов: 12
Просмотров: 297
Последний ответ 06.04.2021, 16:01:14
от sivers
Замена шаблона отправки системных Email писем

Автор SuschnosT

Ответов: 4
Просмотров: 121
Последний ответ 22.02.2021, 03:28:06
от SuschnosT
Разный title

Автор Pyk

Ответов: 5
Просмотров: 96
Последний ответ 05.02.2021, 00:30:41
от beliyadm
Разные Title и Descriptions всем страницам блога категории

Автор hmarno

Ответов: 9
Просмотров: 1235
Последний ответ 29.01.2021, 19:26:16
от art22
Как вставить в title Joomla - Emodzi?

Автор timofe

Ответов: 1
Просмотров: 108
Последний ответ 07.01.2021, 10:18:52
от voland