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

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

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

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

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

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

Scroll

Drupal 7 hook_block_info() և hook_block_view() ֆունկցիաները ցուցադրում են բլոկի տեղեկատվությունը։

11/05/2025, by Ivan

Նախորդ դասում մենք ստեղծեցինք մոդուլ Drupal 7-ի համար, իսկ այս դասում կշարունակենք ընդլայնել մեր մոդուլի հնարավորությունները։ Մենք կավելացնենք բլոկի արտածում՝ օգտագործելով hook_block_info() և hook_block_view() hook-երը։ Այդ բլոկում կցուցադրվի վերջին գրանցված օգտվողների ցանկը՝ հղումներով դեպի իրենց էջերը։

Սկսենք hook_block_info()-ի նկարագրությունից՝

Այս hook-ը սահմանում է՝ ինչ բլոկներ է մոդուլը ստեղծում։

Մեկնաբանություններ՝

  • Յուրաքանչյուր բլոկ ունենում է յուրօրինակ delta նույնացուցիչ։
  • Այս delta-ն փոխանցվում է այլ hook-երին, օգտագործվում է HTML շաբլոնում՝ block-MODULE-DELTA ձևաչափով, CSS-ի կամ JS-ի համար։
  • Օգտագործվում է նաև block__MODULE__DELTA ձևաչափով թեմիզացիայի համար։

Delta-ն կարող է լինել տող կամ թիվ, առավելագույն երկարությունը՝ 32 բայթ։

Վերադարձվող արժեքները

Ասոցիատիվ զանգված, որի բանալիները՝ delta-ներն են, և արժեքները՝ բլոկի մասին տեղեկություն։

'info': (պարտադիր) Բլոկի անուն՝ ադմինիստրատորի համար։
'cache': (ըստ ցանկության) Քեշավորման կարգավորում։ Հնարավոր արժեքներ՝

  • DRUPAL_CACHE_PER_ROLE
  • DRUPAL_CACHE_PER_USER
  • DRUPAL_CACHE_PER_PAGE
  • DRUPAL_CACHE_GLOBAL
  • DRUPAL_NO_CACHE

'properties': Լրացուցիչ մետատվյալների զանգված (օր.՝ administrative, weight, status, region, visibility, pages):

Ավելացնում ենք hook_block_info()

<?php
function sitemade_block_info() {
  $blocks = array();
  $blocks[1]['info'] = 'Ստեղծված օգտատերեր';
  return $blocks;
}
?>

Այժմ բլոկը երևում է ադմինկայում, տեղադրում ենք այն ձախ sidebar-ում՝

drupal block

hook_block_view($delta = '')

$delta: Նշում է՝ որ բլոկն է արտածվում։
Վերադարձվող արժեք: Զանգված՝ subject (վերնագիր), content (պարունակություն):

<?php
function sitemade_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case 1:
      $block['subject'] = 'Օգտատերեր';
      $block['content'] = '';
      $query = db_select('users', 'u')
        ->fields('u', array('uid', 'name'))
        ->orderBy('u.uid', 'DESC')
        ->range(0, 5)
        ->execute();
      $users = $query->fetchAll(PDO::FETCH_ASSOC);

      foreach ($users as $user) {
        $block['content'] .= '<div><a href="' . base_path() . 'user/' . $user['uid'] . '">' . $user['name'] . '</a></div>';
      }
      break;
  }

  return $block;
}
?>

Արդյունքում մենք ստանում ենք վերջին 5 գրանցված օգտատերերի ցանկը՝ հղումներով դեպի իրենց էջերը։ Իհարկե, ավելի ճիշտ կլինի օգտագործել l() ֆունկցիան հղումների համար, բայց դա արդեն առանձին թեմա է։

Drupal list users