Am o vizualizare bazată pe vizualizarea operațiunilor în bloc. aceasta este o vizualizare bazată pe comentarii și efectuează următoarele acțiuni:
1. Publicați comentariul 2. Anulați publicarea comentariului
Când una dintre aceste acțiuni este selectată pentru a fi executată pe un set de înregistrări, ajung să văd un mesaj de succes ca mai jos:
Rezultatele procesării acțiunii: Anulați publicarea comentariului (1).
Aș dori să modific mesajul de succes ca:
Comentariile selectate au fost anulate cu succes
Folosesc VBO 4.0.0, care are comiterea actualizării mesajului de procesare a acțiunii. Nu există nicio idee despre cum poate fi implementat acest lucru pentru o anumită acțiune. orice ajutor?
ACTUALIZAȚI:
Mai jos este proba mea de până acum:
funcția mymod_batch_alter(&$batch) {
foreach ($batch['sets'] as $key => $set) {
$batch['sets'][$key]['finished'] = 'mymod_views_bulk_operations_execute_finished';
}
}
/**
* Implementează hook_views_bulk_operations_execute_finish().
*/
funcția mymod_views_bulk_operations_execute_finished($succes, matrice $rezultate, matrice $operații) {
dacă ($succes) {
$operatii = $rezultate['operatii'];
if($operations == „Aprobare comentariu”){
$message = \Drupal::messenger()->addMessage('Succes! Aprobat');
}
elseif($operations == „Respind comentariul”){
$message = \Drupal::messenger()->addMessage('Succes! Dezaprobat');
}
}
else {
$message = \Drupal::messenger()->addWarning('Mesaj de eșec...');
}
returnează NULL;
}
Acest cod funcționează bine, dar doar o problemă. de fiecare dată, chiar și pentru acțiunea „dezaprobare comentariu”, ajung să văd mesajul „Succes! Aprobat”. Controlul intră într-o condiție dacă greșită. Poate cineva să sublinieze greșeala?