... $text = $message['text']; $limit_flag_string = "Превышен лимит:"; if(substr($text, 0, strlen($limit_flag_string)) === $limit_flag_string) { $content_strng = str_replace("Превышен лимит", "Вы находитесь в финансовой блокировке.", $text); //Заменяем текст сообщения $content_strng = str_replace(":", " Лимит превышен на ", $content_strng); //Заменяем вторую половину echo $content_strng; } else {
|
... В случае возникновения критичной потребности в изменении текста уведомления в личном кабинете, можно использовать подход с модификацией вывода модуля. {warning:title=Warning} Этот модуль не проверялся на стабильность работы, и, иногда может, как просто не сработать, так и привести к неработоспособности весь ЛК. {warning} Для этого нужно определить фильтр путем вызова {code} \carbon\helpers\ModuleRenderFilter::set_module_filter($module_name, $filter_function) {code} где $module_name - это имя класса модуля, включая пространство имен, $filter_function - это функция-обработчик, которая принимает на вход строку-вывод модуля. h6. Пример замены текста уведомлений Первый обработчик заменяет текст "Превышен лимит: 50.0". на текст "Вы находитесь в финансовой блокировке. Лимит превышен на 50.0" Второй обработчик заменяет текст "Уважаемый(ая) ФИО. Имеется подключенный обещанный платёж (Услуга: Платеж: Обещанный платеж ( 0.00 руб. Сумма: 950.00))" на текст "Уважаемый(ая) ФИО. Имеется подключенный обещанный платёж." {code} //Зарегистрируем обработчик текста модуля при старте плагина личного кабинета add_action('carbon_init_plugin',function(){ \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){ if(strpos($content, "Превышен лимит")){ $content_strng=str_replace("Превышен лимит", "Вы находитесь в финансовой блокировке.", $content); //Заменяем текст сообщения $content_strng=str_replace(":", " Лимит превышен на ", $content_strng); //Заменяем вторую половину return $content_strng; } return $content; }); \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){ if($char_start=strpos($content, "Имеется подключенный обещанный платёж")) { $str_end_char=strpos($content, "</div>", $char_start); $magic=md5(time()."%%%%%%"); $content=substr_replace($content, $magic, $char_start, $str_end_char); $content=str_replace($magic, "Имеется подключенный обещанный платеж.", $content); } return $content; }); // В уведомлениях о комментариях Helpdesk делаем ссылки на заявки с новыми сообщениями \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){ if(strpos($content, "Имеются непрочитанные сообщения от технической поддержки в заявках:")){ $url = "/cabinet/Техническая-поддержка/?cabinet_ticket="; // ссылка на страницу с заявками тех.поддержки $pattern = "/(#(\d+)\s.+)\s*(,|<\/div>)/U"; $replacement = '<a href="' . $url . '\2">\1</a>\3'; // заменяем список заявок на ссылки $content_strng=preg_replace($pattern, $replacement, $content); return $content_strng; } return $content; }); // В уведомлениях о комментариях Helpdesk делаем ссылку на раздел Helpdesk \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){ if(strpos($content, "Имеются непрочитанные сообщения от технической поддержки в заявках:")){ $url = "/cabinet/Техническая-поддержка/"; // ссылка на страницу с заявками тех.поддержки //Добавляем ссылку на раздел $content_strng=str_replace("сообщения от технической поддержки", "<a href='{$url}'>сообщения от технической поддержки</a>", $content); return $content_strng; } return $content; }); }); {code} Разместите плагин в папке _/app/asr_cabinet/var/wordpress/wp-content/plugins/_ так, чтобы путь к файлу модуля был: {code} /app/asr_cabinet/var/wordpress/wp-content/plugins/replacetext/replacetext.php {code} Скачать плагин: [^wordpress_example_plugin.zip] Для того, чтобы замена текста производилась, необходимо активировать плагин в настройках WordPress, для этого зайдите в администраторскую панель, нажмите в левом меню *Плагины*, найдите модуль *Замена текста* и нажмите кнопку *Активировать*.
|