logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

9.14.1. Drupal Views-ի հատուկ ֆիլտրի մշակիչի ընդլայնում

19/04/2025, by Ivan

Menu

Նախորդ հոդվածում մենք դիտեցինք, թե ինչպես ինտեգրել Views մոդուլները սեփական տվյալների բազայի հետ՝ «Did this help?» մոդուլի համար․

https://www.drupal.org/project/did_this_help

Այս հոդվածում մենք կվերագրենք Views ֆիլտրը «Ընտրություն» (այո/ոչ) դաշտի համար․

Yes/no field

Այժմ դա սովորական տեքստային դաշտ է, որը ստեղծվել է "string" մշակիչի միջոցով, որը թույլ է տալիս ավելացնել որոնման բանալի։ Բայց մենք ունենք ընդամենը երկու ընտրություն՝ Այո/Ոչ, ուստի ավելի լավ կլինի օգտագործել բացվող ցանկ՝ տեքստային դաշտի փոխարեն։ Եկեք ստեղծենք ֆայլ՝ /did_this_help/src/Plugin/views/filter/DidThisHelp.php՝

<?php

namespace Drupal\did_this_help\Plugin\views\filter;

use Drupal\views\Plugin\views\filter\InOperator;

/**
 * Ֆիլտրում է տրված այո/ոչ ընտրանքների ցանկով։
 *
 * @ingroup views_filter_handlers
 *
 * @ViewsFilter("did_this_help")
 */
class DidThisHelp extends InOperator {

}

Մենք կժառանգենք DidThisHelp դասը հիմնական InOperator դասից, որը ֆիլտրիչին տրամադրում է ընտրացանկ, ռադիոընտրիչներ կամ նշակետային դաշտեր՝ կախված Views UI-ի կարգավորումներից։

getValueOptions() մեթոդում մենք կավելացնենք հասանելի ընտրանքների ցանկը․

  /**
   * {@inheritdoc}
   */
  public function getValueOptions() {
    if (isset($this->valueOptions)) {
      return $this->valueOptions;
    }

    $this->valueOptions = [
      'yes' => $this->t('Yes'),
      'no' => $this->t('No'),
    ];

    return $this->valueOptions;
  }

valueOptions հատկությունը սահմանված է InOperator դասում, այնպես որ մենք պետք է սահմանենք միայն ընտրանքների զանգվածը։

Արդյունքում մենք ստանում ենք այս ֆիլտրը․

Yes/No filter

Եթե մենք ակտիվացրել ենք բաց ֆիլտրը (exposed filter), ապա մենք տեսնում ենք այս բացվող ցանկը․

Yes/No dropdown

Դուք կարող եք վերագրել ցանկացած ֆիլտրի դաս՝ այս ցանկում նշված դասերից, որոնք տրամադրվում են Views-ի և այլ մոդուլների կողմից․

Անուն Տեղակայություն Նկարագրություն
Access core/modules/node/src/Plugin/views/filter/Access.php Ֆիլտր՝ node_access գրառումների հիման վրա։
BooleanOperator core/modules/views/src/Plugin/views/filter/BooleanOperator.php Պարզ ֆիլտր՝ բուլյան արժեքների համընկնումը կառավարելու համար։
BooleanOperatorString core/modules/views/src/Plugin/views/filter/BooleanOperatorString.php Պարզ ֆիլտր՝ բուլյան արժեքների համընկնումը կառավարելու համար։
Broken core/modules/views/src/Plugin/views/filter/Broken.php Հատուկ մշակիչ՝ բացակա կամ կոտրված մշակիչների փոխարեն։
Bundle core/modules/views/src/Plugin/views/filter/Bundle.php Ֆիլտրի դաս, որը թույլ է տալիս ֆիլտրել էության փաթեթներով (bundle)։
Current core/modules/user/src/Plugin/views/filter/Current.php Ֆիլտրիչ՝ ընթացիկ օգտագործողի համար։
Date core/modules/datetime/src/Plugin/views/filter/Date.php Ամսաթվի/ժամանակի ֆիլտր՝ Views-ի համար։
Date core/modules/views/src/Plugin/views/filter/Date.php Ֆիլտր՝ ժամանակային դրոշմակնիքով պահված ամսաթվերի համար։
Equality core/modules/views/src/Plugin/views/filter/Equality.php Պարզ ֆիլտր՝ հավասար է / հավասար չէ գործառույթների համար։
FilterBooleanOperatorDefaultTest core/modules/views/tests/modules/views_test_data/src/Plugin/views/filter/FilterBooleanOperatorDefaultTest.php Ֆիլտր՝ queryOpBoolean()-ը լռելյայն օպերատորով ստուգելու համար։
FilterPluginBase core/modules/views/src/Plugin/views/filter/FilterPluginBase.php Բազային դաս՝ Views ֆիլտրերի մշակիչների պլագինների համար։