У меня есть представление, основанное на массовых операциях просмотра. это представление на основе комментариев, которое выполняет следующие действия:
1. Опубликовать комментарий 2. Отменить публикацию комментария
Когда одно из этих действий выбрано для выполнения с набором записей, я вижу сообщение об успешном завершении, как показано ниже:
Результат обработки действия: Отменить публикацию комментария (1).
Я хотел бы изменить сообщение об успехе как:
Выбранные комментарии были успешно удалены
Я использую VBO 4.0.0, в котором зафиксировано обновление сообщения об обработке действий. Не знаю, как это можно реализовать для конкретных действий. любая помощь?
ОБНОВИТЬ:
Ниже мое испытание до сих пор:
функция mymod_batch_alter(&$batch) {
foreach ($batch['sets'] as $key => $set) {
$batch['sets'][$key]['finished'] = 'mymod_views_bulk_operations_execute_finished';
}
}
/**
* Реализует hook_views_bulk_operations_execute_finish().
*/
function mymod_views_bulk_operations_execute_finished ($ успех, массив $ результатов, массив $ операций) {
если ($ успех) {
$операции = $результаты['операции'];
if($operations == "Одобрить комментарий"){
$message = \Drupal::messenger()->addMessage('Успешно! Одобрено');
}
elseif($operations == "Отклонить комментарий"){
$message = \Drupal::messenger()->addMessage('Успех! Отклонено');
}
}
еще {
$message = \Drupal::messenger()->addWarning('Сообщение об ошибке...');
}
вернуть НУЛЬ;
}
Этот код работает хорошо, но есть только одна проблема. каждый раз, даже для действия «отклонить комментарий», я вижу сообщение «Успех! Одобрено». Управление переходит в неправильное условие if. Кто-нибудь может указать на ошибку?