Puncte:0

Apelarea setExposedInput() de la o comandă Drush nu are niciun efect

drapel ve

Avem o comandă Drush personalizată implementată folosind următorul cod.

clasa JobApplicationExportCommands extinde DrushCommands {

  /**
   * Exportă aplicațiile de muncă Dorea de la ultima rulare în csv
   *
   * @command dummy:job-application-export
   * @aliases duje
   */
  funcția publică drush_dummy_export() {
    $applicationWebformIds = Drupal::entityQuery('formular web')
      ->condition('categorie', 'Bewerbungsformulare')
      ->execute();

    $applicationView = Vizualizări::getView('all_applications');
    $applicationView->setDisplay('default');
    $applicationView->setExposedInput([
      'webform_ids' => array_keys($applicationWebformIds),
      'submitted' => '2021-01-01'
    ]);

    $applicationView->execute();

    // Aceasta iese 0, care este greșit.
    print_r(count($applicationView->result));
  }

}

Configurația vizualizării este următoarea.

captură de ecran

Dacă execut aceeași logică printr-un controler personalizat / cerere normală, vizualizarea returnează valori.

Am pierdut ceva? Știe cineva de ce intrarea expusă a vizualizării este ignorată?

drapel us
Doar un gând: poate că filtrul contextual ar putea funcționa în schimb?
drapel ve
merci, o sa verific asta :)
drapel ru
Am avut odată o problemă ciudată în care `setExposedInput` funcționa doar când `use ajax` era activat în setările avansate de vizualizare. Nu știu sigur de ce și dacă vă ajută aici, dar merită încercat.
drapel ve
Lucrul amuzant este că, chiar dacă renunț la intrarea expusă. și merg prin abordarea mai codificată a `hook_views_query_alter`. Obțin 0 rezultate prin drush
drapel ve
de asemenea, nici activarea ajax, nici utilizarea filtrelor contextuale nu a schimbat comportamentul neașteptat.
drapel ve
Uh! Cred că are ceva de-a face cu utilizatorul - dacă nu sunt autentificat ca administrator, primesc și 0 rezultate prin interfață.
Puncte:0
drapel ve

Bine, un coleg m-a salvat din nou: verificările de acces pot fi dezactivate individual pentru fiecare vizualizare prin Setări de interogare > Dezactivare rescriere SQL

introduceți descrierea imaginii aici

Pentru această vizualizare și caz de utilizare anume, acesta este exact ceea ce este necesar, deoarece este apelabil numai de procesele backend.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.