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

AlexB

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

ProtectYourSite

  • Живу я здесь
  • 2090
  • 112 / 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

  • Завсегдатай
  • 1807
  • 45 / 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

  • Завсегдатай
  • 1541
  • 213 / 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

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

sivers

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

ProtectYourSite

  • Живу я здесь
  • 2090
  • 112 / 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

  • Завсегдатай
  • 1502
  • 173 / 7
*

AlexB

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

AlexB

  • Завсегдатай
  • 1807
  • 45 / 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 пунктов меню всего
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить в title Joomla - Emodzi?

Автор timofe

Ответов: 1
Просмотров: 77
Последний ответ 07.01.2021, 10:18:52
от voland
Разные Title и Descriptions всем страницам блога категории

Автор hmarno

Ответов: 8
Просмотров: 1118
Последний ответ 07.11.2020, 17:53:48
от stimyl
Замена Unicode в attribs

Автор vitzer

Ответов: 6
Просмотров: 357
Последний ответ 15.08.2020, 19:36:07
от ProtectYourSite
Не изменяются title и description

Автор d1m88

Ответов: 25
Просмотров: 427
Последний ответ 11.08.2020, 16:33:38
от d1m88
Убрать название сайта в title на главной для J3

Автор jimka

Ответов: 1
Просмотров: 211
Последний ответ 31.07.2020, 14:30:36
от kiev