logo

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

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

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

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

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

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

Scroll

Drupal մոդուլում էջի ծրագրային ստեղծում

20/06/2025, by Ivan

Drupal-ում պարզ էջ ստեղծելու երկու քայլ կա՝

Հայտարարեք ուղին և դրա պարամետրերը։

Այս քայլը ներառում է էջի վերնագիրը, մուտքի պահանջները և այլն։

Drupal 7-ում դուք պետք է իրականացնեիք hook_menu() ֆունկցիան։

Drupal 8-ում ստեղծեք <module_name>.routing.yml ֆայլը մոդուլների վերին կարգի թղթապանակում։

Գրեք կոդը՝ վերադարձնելու էջի մարմինը։

Drupal 7-ում դուք պետք է գրեիք էջի կոլբեք ֆունկցիան, որը նշված էր hook_menu()-ում։

Drupal 8-ում էջի կոլբեքը պետք է լինի կամ կլասի մեթոդ, կամ գրանցված ծառայություն։ Այն կարող է տարբերվել տարբեր պայմաններից կախված (HTTP կամ HTTPS, բովանդակության վերնագրեր և այլն), բայց դա անցնում է այս ներդրման շրջանակներից։

Գործընթաց

Այս էջի օրինակին հետևելով, դուք կկարողանաք ստեղծել պարզ էջ ձեր սեփական մոդուլում՝ առանց Drupal-ի ներքին մեխանիզմները մանրամասն իմանալու։ Ավելի մանրամասն տեղեկությունների համար տեսեք Փոփոխությունների գրառումը, որը վերաբերում է երթուղավորման համակարգի փոփոխություններին և տարբեր իրականացումներին բազայում և նախագծերի օրինակներում։

Երթուղավորման YAML ֆայլը օրինակ մոդուլի համար

Երթուղավորման տեղեկատվությունը պահվում է example/example.routing.yml ֆայլում՝

example.my_page:
  path: '/mypage/page'
  defaults:
    _controller: '\Drupal\example\Controller\ExampleController::myPage'
    _title: 'Իմ առաջին էջը D8-ում'
  requirements:
    _permission: 'access content'

example.my_page

  • Սա երթուղու մեքենայական անունն է։ Ընդհանուր համաձայնությամբ մեքենայական անունները պետք է լինեն module_name.sub_name ձևաչափով։ Երբ կոդի այլ մասերը պետք է հղվեն երթուղուն, նրանք կօգտագործեն մեքենայական անունը։

path

  • Սա մատնանշում է ձեր կայքում էջի ուղին։ Ուշադրություն դարձրեք սկիզբային շլեշին (/):

defaults

  • Սա նկարագրում է էջի կոլբեքը և վերնագիրը։ @todo՝ Որտեղ կարող են փոխարինվել այս կանխորոշված արժեքները?

requirements

  • Սա սահմանում է այն պայմանները, որոնց դեպքում էջը կցուցադրվի։ Դուք կարող եք նշել թույլտվությունները, պետք է միացված լինեն որոշ մոդուլներ և այլ պայմաններ։

Էջի իրականացում օրինակ մոդուլի համար

ExampleController կլասը պետք է սահմանվի example/src/Controller/ExampleController.php ֆայլում՝

<?php
namespace Drupal\example\Controller;

use Drupal\Core\Controller\ControllerBase;

/**
 * Պաշտպանում է Example մոդուլի երթուղիների պատասխանները։
 */
class ExampleController extends ControllerBase {

  /**
   * Վերադարձնում է պարզ էջ։
   *
   * @return array
   *   Պարզ ցուցադրվող զանգված։
   */
  public function myPage() {
    $element = array(
      '#markup' => 'Բարեւ, աշխարհ',
    );
    return $element;
  }

}

նamespace (հարցման տարածք)

  • Այստեղ հայտարարվում է այն նախածանցը, որը անհրաժեշտ է կլասի լիարժեք անվանման համար։ Համեմատեք դոկումենտի բլոկը և կլասի անունը։ Ավտոարդյունահանողը գիտի, որ \Drupal\example\Controller\ExampleController կլասը գտնելու համար պետք է փնտրի modules/example/src/Controller/ExampleController.php ֆայլը։

use

  • Սա թույլ է տալիս օգտագործել ControllerBase-ը լիարժեք անվան փոխարեն։ Սա դարձնում է class տողը շատ ավելի ընթեռնելի։

myPage()

  • YAML ֆայլում նշված մեթոդը պետք է լինի հրապարակային։ Այն պետք է վերադարձնի ցուցադրվող զանգված։

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.