logo

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

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

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

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

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

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

Scroll
20/06/2025, by Ivan

Menu

Բլոկները Drupal 8-ում բլոկի պլագինի օրինակներ են։
Բլոկների մենեջեր-ը Drupal-ում սկանավորում է ձեր մոդուլները այն դասերի համար, որոնք պարունակում են @Block անոտացիա:

Ներկայացված կոդի օրինակն օգտագործում է @Block անոտացիան՝ «id» և «admin_label» հատկություններով՝ օգտատիրոջ բլոկը սահմանելու համար։

Ստեղծեք ֆայլը src/Plugin/Block/HelloBlock.php նախօրոք ստեղծված մոդուլի մաշկում և ավելացրեք ստորև նշված կոդը։

Որպեսզի ձեր Drupal կայքը ճանաչի այս նոր դասը, անհրաժեշտ է մաքրել կեշը։

<?php

namespace Drupal\hello_world\Plugin\Block;

use Drupal\Core\Block\BlockBase;

/**
 * Provides a 'Hello' Block.
 *
 * @Block(
 *   id = "hello_block",
 *   admin_label = @Translation("Hello block"),
 *   category = @Translation("Hello World"),
 * )
 */
class HelloBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {
    return [
      '#markup' => $this->t('Hello, World!'),
    ];
  }

}

«Hello block»-ը ավելացնելու համար կարող եք գնալ Structure -> Block Layout (admin/structure/block) և սեղմել «Place block» կոճակը, որը կապված է յուրաքանչյուր հասանելի շրջանների հետ։

«Place block» կոճակը սեղմելուց հետո բացվում է պատուհան՝ «Place block»՝ բոլոր հասանելի բլոկների ցուցակով։ Ձեր բլոկը արագ գտնելու համար կարող եք օգտագործել «Filter by block name» տարբերակը կամ օգտագործել մկնիկի սքրոլը՝ «Hello block»-ը գտնելու համար։ Այսպիսով, կարող եք ավելացնել օգտատերերի բլոկի ցանկացած քանակ ցանկացած վայրում ձեր կայքում։

Խնդիրների որոնում

  • Դասի անունն ու ֆայլի անունը պետք է նույնական լինեն (օրինակ՝ HelloBlock դասը և /src/Plugin/Block/HelloBlock.php ֆայլը): Եթե դասի անունը տարբերվում է, բլոկը կհայտնվի հասանելի բլոկների ցուցակում, բայց դուք չեք կարողանա ավելացնել այն։
  • Ստուգեք կրկնակի բոլոր ուղիները և ֆայլերի անունները։ Ձեր .php ֆայլը պետք է լինի ճիշտ տեղադրված գրացուցակում (/src/Plugin/Block/): հակառակ դեպքում Drupal-ը չի հայտնաբերի այն։
  • Եթե ձեր բլոկը չի տեղադրվում տարածաշրջանում, և էկրանին կամ լոգերում հայտնվում են սխալներ, ստուգեք PHP/Apache սխալի լոգերը։
  • Եթե ձեր բլոկը չկա ցուցակում, համոզվեք, որ մաքրել եք Drupal-ի կեշերը (օրինակ՝ drush cr հրամանը)։
  • Համոզվեք, որ ձեր մոդուլի անունը ամբողջությամբ փոքրատառ է։ Որոշ օգտատերեր հայտնում են, որ բլոկները չեն երևում camelCase մոդուլների դեպքում (օրինակ՝ myModule)։ Պետք է օգտագործել փոքրատառ տարբերակը՝ my_module։ Սա վերջին անգամ ստուգվել է Drupal 8.8.1-ում։

Հուշում։ Twig տեմպլեյթների օգտագործումը օգտատերերի բլոկների հետ

1. Ավելացրեք hook_theme ձեր .module ֆայլում։
Ուշադրություն՝ չմի անվանեք ձեր թեմային որպես 'block__...' — սա չի փոխանցի որևէ փոփոխական Twig տեմպլեյթներին։ Փոխարենը կարող եք օգտագործել մոդուլի անունը որպես պրեֆիքս։

2. Օգտագործեք «#theme» render array-ում build() մեթոդում և փոխանցեք փոփոխականները նույն մակարդակում, ինչ #theme, օրինակ՝ «#varname»։

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.