logo

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

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

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

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

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

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

Scroll
19/06/2025, by Ivan

Drush-ը Drupal-ի համար հրամանների տողի և սցենարների ինտերֆեյսի շերտ է։ Drupal 8-ին Drush-ով թարմացումը հանդիսանում է դիտարկչի օգտատերերի միջերեսի այլընտրանք։ Drush-ով Drupal 8-ին թարմացումը շատ օգտակար է բարդ կայքերի միգրացիայի ժամանակ, քանի որ թույլ է տալիս միգրացիաները գործարկել առանձին և կատարել վերադարձ։

Drush-ի տեղադրում Composer-ով

Drupal 8 կայքերը կարող են կառուցվել Composer-ով։ Եթե որոշեք drupal-composer/drupal-project օգտագործել որպես Composer նախագծի տիպար, Drush-ը արդեն կներառվի, քանի որ նշված է որպես կախվածություն ձեր նախագծի composer.json ֆայլում։

Եթե ձեր Composer նախագծում Drush-ը չներկայացվի որպես կախվածություն, կարող եք Drush-ը տեղադրել հրամանների տողից հետևյալ կերպ՝

composer require drush/drush

 

Հայտարարություն՝ ներկայում օգտագործեք Drush 9-ը

Պատճառը Drush 10-ի հետ կապված խնդիրն է, ուստի ներկայում առաջարկվում է տեղադրել Drush 9-ը Composer-ով՝ պահանջելով drush/drush:^9.0, որը տրամադրում է 9.7.2 տարբերակը։ 

Սա կտա ձեզ վերջին (կայուն) Drush-ը, որը պետք է համատեղելի լինի վերջին Drupal-ի հետ։ Ավելի մանրամասն տեղեկություններ կարող եք գտնել Drush-ի և Drupal-ի տարբերակների համատեղելիության աղյուսակում։

Ձեր Drush-ի տարբերակը ստուգելու համար օգտագործեք

drush --version

Drupal-ի պարտադիր մոդուլներ

Drush-ով միգրացիա իրականացնելու համար անհրաժեշտ է ներբեռնել և միացնել հետևյալ հավելյալ մոդուլները՝

  • Migrate Upgrade`՝ ապահովում է Drush-ի աջակցությունը Drupal 6 կամ 7-ից Drupal 8 թարմացման համար։
  • Migrate Plus`՝ ապահովում է միգրացիայի բազային գործառույթների ընդարձակում։
  • Migrate Tools`՝ տրամադրում է Drush հրամաններ, որոնք օգտագործվում են այս էջում։

 

ԶԳՈՒՇԱՑՈՒՄ! Շատ կարևոր է ճիշտ տարբերակ ընտրել այս երեք մոդուլներից յուրաքանչյուրի համար։ Խնդրում ենք խորհրդակցեք նախագծի էջի հետ՝ ընտրելու ձեր Drupal 8 կորի համատեղելի տարբերակ։

Միգրացիայի տարբեր մոդուլների մասին հավելյալ տեղեկություններ կարող եք գտնել թարմացման մոդուլների ցանկում։

Նշեք ելքային տվյալների բազան

Սա օրինակ է, թե ինչպես նշել տվյալների բազայի կապի պարամետրերը ձեր Drupal 6/7 աղբյուր կայքի համար։ Եթե ձեր աղբյուր կայքը օգտագործում է տվյալների բազայի նախածանց, անպայման նշեք այն։ Ձեզ անհրաժեշտ է միանալ ինչպես տեղական զարգացող բազային (default/նախնական), այնպես էլ աղբյուր բազային (D6 կամ D7): Ստորև Lando-ի օրինակ է, որը ներառում է նախնական բազայի կարգավորումը ամբողջականության համար։

Նշում. Խուսափելու համար խնդիրներից կարևոր է միգրացիայի բազայի բանալի անունը կոչել այնպես, ինչպես սահմանված է settings.php-ում։ Տե՛ս «Drupal 7 կորի դաշտի սխալի ստացվելը» բաժինը միգրացիայի ժամանակ։

Բազայի կապի օրինակ settings.php-ում

$databases['default']['default'] = [
  'database' => 'drupal8',
  'username' => 'drupal8',
  'password' => 'drupal8',
  'prefix' => '',
  'host' => 'database',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
];

$databases['migrate']['default'] = [
  'database' => 'drupal7db',
  'username' => 'drupal7db',
  'password' => 'drupal7db',
  'prefix' => '',
  'host' => 'd7db',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
];

Օրինակ .lando.yml ֆայլի բովանդակությունը

name: mywebsite
recipe: drupal8
config:
  webroot: web

# Ստեղծեք Drupal 7 տվյալների բազայի սերվիս, համենայն դեպս ավելացրեք phpmyadmin
services:
  d7db:
    type: mariadb
    creds:
      user: drupal7db
      password: drupal7db
      database: drupal7db
    portforward: true

Ներմուծեք Drupal 7 տվյալների բազան՝ ենթադրելով, որ տվյալների բազայի արտահանումը կոչվում է mywebsite_db.sql.gz և գտնվում է ընթացիկ ֆոլդերում՝

lando db-import --host=d7db --user=drupal7db mywebsite_db.sql.gz

Պատասխանատվություն՝ https://github.com/thinktandem/migration_boilerplate.

Միգրացիաների գեներացում Migrate Upgrade-ի միջոցով

Migrate Tools հավելվածը կավելացնի Drush հրամաններ, ինչպիսիք են drush migrate-status և drush migrate-import։ Drush միգրացիայի հրամանների ամբողջական ցանկը տեսնում եք այս էջի ներքևում։

Եթե փորձեք գործարկել drush migrate-status առանց այլ գործողությունների, միգրացիաների ցուցակը դատարկ կլինի, քանի որ միգրացիաները պետք է նախ ստեղծվեն ձեր աղբյուր տվյալների բազայի հիման վրա։ Migrate-ը դեռ չի ճանաչում, թե որ աղբյուրը պետք է օգտագործի, ուստի միգրացիաները չկան։

Միգրացիաներ գեներացնելու համար անհրաժեշտ է Drush-ի drush migrate-upgrade հրամանը, որը տրամադրվում է Migrate Upgrade մոդուլով։

Մոտավորապես դուք կցանկանաք գեներացնել միայն առանձին միգրացիաներ, որպեսզի կարողանաք դրանք քայլ առ քայլ գործարկել։ Այդ դեպքում օգտագործեք --configure-only պարամետրը՝

drush migrate-upgrade --legacy-db-url=mysql://user:password@server/db --legacy-root=http://example.com --configure-only 

որտեղ

  • 'user' - աղբյուր տվյալների բազայի օգտվողի անունն է։
  • 'password' - տվյալների բազայի օգտվողի գաղտնաբառը
  • 'server' - աղբյուր տվյալների բազայի սերվերը
  • 'db' - աղբյուր տվյալների բազան
  • 'http://example.com' - ձեր աղբյուր կայքի արմատը։ Եթե աղբյուր կայքը տեղակայված է տեղական ֆայլային համակարգում, կարող եք օգտագործել Drupal արմատային պանակի ուղին։ Այս արժեքը կավելացվի ֆայլերի տարբեր ուղիների վրա ներմուծման համար։

 

--legacy-db-key տարբերակը թույլ է տալիս օգտագործել settings.php-ում $database զանգվածի համապատասխան բանալին։

Եթե ձեր աղբյուր կայքը օգտագործում է տաբլի նախածանց, անհրաժեշտ է այն նշել որպես լրացուցիչ պարամետր, օրինակ՝ նախածանցը «drupal_» է

drush migrate-upgrade --legacy-db-url=mysql://user:password@server/db --legacy-db-prefix=drupal_ --legacy-root=http://example.com --configure-only 

Եթե չեք օգտագործում --configure-only տարբերակը, drush migrate-upgrade նախ կգեներացնի, ապա կկատարի բոլոր միգրացիաները։

Հետո, երբ կվայրարկեք migrate-upgrade-ն --configure-only տարբերակով, գործարկեք migrate-status՝ տեսնելու հնարավոր միգրացիաների ցուցակը՝

drush migrate-status

Այնուհետև կարող եք դիտել և ընտրողաբար իրականացնել այդ միգրացիաները։ Միգրացիա առանձին կատարելու համար գործարկեք՝

drush migrate-import <migration name> 

Բոլոր միգրացիաները կատարելու համար՝

drush migrate-import --all 

Միգրացիաների գործարկում migrate-manifest-ի միջոցով

Կարող եք նաև օգտագործել manifest ֆայլ՝ միգրացիաների կոնկրետ հավաքածու կարգավորելու համար։ Սա թույլ է տալիս կրկնօրինակել միգրացիաների խմբերը։ Այս մեթոդը պահանջում է Migrate Manifest մոդուլը։ Migrate Manifest-ի օգնությամբ կարող եք ստանալ հասանելի միգրացիաների ամբողջ ցանկը՝ հետևյալ հրամաններով.

drush migrate-template-list # Drush 8

կամ

drush migrate:template:list # Drush 9

Նշում․ ներկայում Migrate Manifest մոդուլը ամբողջությամբ համատեղելի չէ Drush 10+ հետ։

Ցանկացած ցանկալի միգրացիաները սահմանվում են YAML ֆայլով, ինչպես ցույց է տրված ստորև։ Ձեզ հարկավոր է նշել միայն անհրաժեշտ միգրացիաները։ Migrate Manifest-ը կավելացնի անհրաժեշտ լրացուցիչ միգրացիաները կախվածությունների համար։ Միգրացիաները կարող են թվարկվել ցանկացած կարգով, դրանք կկատարվեն ճիշտ հերթականությամբ՝ կախվածությունների հիման վրա։

# user 
- d6_user 
- d6_user_profile_field 
- d6_user_profile_field_instance 
- d6_user_profile_entity_display 
- d6_user_profile_entity_form_display 
- d6_profile_values:user 
- d6_filter_format 
- d6_user_role 
- d6_user_picture_entity_display 
- d6_user_picture_entity_form_display 
- d6_user_picture_file 
- d6_user_picture_field 
- d6_user_picture_field_instance 

# taxonomy 
- d6_taxonomy_vocabulary 
- d6_taxonomy_settings 
- d6_taxonomy_term 

# nodes 
- d6_node 
- d6_node_revision 
- d6_node_type 
- d6_view_modes 
- d6_filter_format 
- d6_field_instance_per_form_display 
- d6_field_instance_widget_settings 
- d6_field_formatter_settings 
- d6_field_instance 
- d6_field 
- d6_field_settings 
- d6_node_settings 
- d6_cck_field_values:* 
- d6_cck_field_revision:* 

# taxonomy fields 
- d6_term_node_revision 
- d6_term_node 
- d6_vocabulary_entity_display 
- d6_vocabulary_entity_form_display 
- d6_vocabulary_field_instance 
- d6_vocabulary_field 

# blocks 
- d6_block 
- d6_menu 

# custom blocks 
- d6_custom_block 
- d6_filter_format 

# book 
- d6_book 
- d6_book_settings 

# file migrations are configurable, see https://www.drupal.org/node/2257723 
- d6_file: 
    source: 
      conf_path: sites/assets 
    destination: 
      source_base_path: destination/base/path 
      destination_path_property: uri 

Տեղադրեք manifest ֆայլը Drush գործարկման համար հասանելի վայրում։ Խորհուրդ է տրվում պահել այն ձեր կառավարման համակարգում, որպեսզի կարողանաք հետևել փոփոխություններին միգրացիաների մեջ։

Համոզվեք, որ manifest ֆայլում թվարկված միգրացիաների կողմից օգտագործվող մոդուլները գոյություն ունեն և միացված են աղբյուր կայքում (օրինակ, դաշտի մոդուլը d6_field-ի համար)։ Հակառակ դեպքում միգրացիաների կատարումը կձախողվի։

Manifest ֆայլով սահմանված միգրացիաները իրականացվում են հրամանների տողից, ինչպես ցույց է տրված ստորև։ Փոխարինեք տվյալների բազայի URL-ը և manifest ֆայլի ճանապարհը համապատասխան արժեքներով (օրինակ, migrate-upgrade, migrate-manifest ընդունում են MySQL URL կամ settings.php զանգվածի բանալի)

drush migrate-manifest --legacy-db-url=mysql://d6user:d6pass@localhost/drupal_6 manifest.yml 

Նշումներ Acquia Dev Desktop օգտագործողներին

Եթե օգտագործում եք Acquia Dev Desktop և ունեք Drupal 6 կայք Dev Desktop-ում, տվյալների բազայի լռելյայն հաշվի տվյալները հետևյալն են՝ օգտվող drupaluser, դատարկ գաղտնաբառ, և պորտ 33067 տվյալների բազայի համար, որը հասանելի է 127.0.0.1 հասցեով։ Այս ամենը նշանակում է, որ --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/drupal_6 հրամաններում ենթադրվում է drupal_6 տվյալների բազայի անունը։ Եթե խնդիրներ ունենաք կապի հետ, գործարկեք drush status՝ ստուգելու համար այս պարամետրերը։

Drush միգրացիայի հրամանների հղումներ

migrate-upgrade (առանց ալիասի)

Առաջադրված է Migrate Upgrade նախագծի կողմից։ Օգտագործեք այն՝ Drupal 6/7-ից Drupal 8 թարմացում կատարելու համար։ Այս հրամանը գեներացնում է միգրացիայի կոնֆիգուրացիաներ ելքային կայքի կոնֆիգուրացիայի և պարունակության հիման վրա։

Տե՛ս նախորդ օրինակները այս փաստաթղթի մեջ։

Հիմնական օրինակ

drush migrate-upgrade --legacy-db-key=migrate

Տարբերակներ

  • legacy-db-url՝ աղբյուր տվյալների բազայի կապի տվյալներ։
  • legacy-db-prefix՝ տվյալների բազայի նախածանց աղբյուրի համար։
  • legacy-root՝ աղբյուր կայքի արմատային ուղին, օգտագործվում է ֆայլերի ներմուծման համար։ Եթե ֆայլերը անձնական են, ապա պետք է տալ տեղական ուղի, հանրային ֆայլերի դեպքում http(s) էլ ընդունելի է։
  • configure-only՝ օգտագործվում է միայն միգրացիայի կոնֆիգուրացիաների ստեղծման համար։ Այս տարբերակը թույլ է տալիս միգրացիաներն առանձին-առանձին գործարկել «drush migrate-import»-ով։

migrate-status (ms)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է միգրացիաների ամբողջական ցուցակը իրենց ընթացիկ կարգավիճակով ստանալու համար։

Հիմնական օրինակ

drush migrate-status

migrate-import (mi)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է մեկ կամ մի քանի միգրացիայի գործընթաց կատարելու համար։ Ընդհանուր առմամբ կիրառվում է ոչ Drupal աղբյուրներից միգրացիաների համար։ Օրինակ, եթե ստեղծել եք և ներմուծել եք միգրացիայի կոնֆիգուրացիա, այս հրամանը կօգտագործվի դրա գործարկման համար։

Հիմնական օրինակներ

drush migrate-import migration_id
drush migrate-import --group=files

Տարբերակներ

  • all՝ գործարկել բոլոր միգրացիաները։
  • group՝ գործարկել տվյալ խմբին պատկանող միգրացիաները։
  • limit՝ սահմանափակել յուրաքանչյուր միգրացիայում մշակվող էլեմենտների քանակը։
  • feedback՝ հաղորդագրությունների հաճախականությունը կատարած էլեմենտների թվով։
  • idlist՝ աղբյուրի ID-ների քմահաճ զգացված ցուցակ։
  • update՝ տեղափոխել նոր էլեմենտներ և թարմացրած նախկին։
  • force՝ պարտադիր գործարկել օպերացիան, նույնիսկ եթե կախվածությունները չկատարված են։

 

Հիմնական կիրառություններ

  • Երբ օգտագործվում է migrate-upgrade --configure-only, ստեղծվում են կոնֆիգուրացիայի օբյեկտներ։ Drupal 8-ի լռելյայն վարքագիծը թույլ չի տալիս վերագրել գոյություն ունեցող կոնֆիգուրացիաները, այդ պատճառով migrate-upgrade --configure-only հետ միգրացիաներ անմիջապես չեք կարող գործարկել։ Փոխարենը օգտագործեք migrate-import։
  • Երբ ստեղծվում և ներմուծվում է օգտատերերի միգրացիա (կոնֆիգուրացիայի կառավարման միջերեսով կամ drush config-import-ով), օգտագործեք migrate-import միգրացիայի գործարկման համար։

Մասնագետների խորհուրդ. Եթե ներմուծել եք օգտատերերի միգրացիայի կոնֆիգուրացիա և անհրաժեշտ է թարմացնել ու նորից ներմուծել, օգտվեք Կոնֆիգուրացիայի թարմացումների կառավարիչ մոդուլից։

migrate-rollback (mr)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է միգրացիայի վերադարձի (rollback) համար։ Հիմնականում օգտագործվում է թեստավորման կամ խնդիրների դեպքում՝ կրկին սկսելուն։ Օգտագործվում է միգրացիայի ID-ով կամ խմբով։

Հիմնական օրինակներ

drush migrate-rollback migration_id
drush migrate-rollback --group=files

migrate-stop (mst)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է ակտիվ միգրացիայի պրոցեսը կանգնեցնելու համար։

Հիմնական օրինակ

drush migrate-stop migration_id

migrate-reset-status (mrs)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է ակտիվ միգրացիայի կարգավիճակը վերականգնելու համար սպասման (idle) վիճակի։

Հիմնական օրինակ

drush migrate-reset-status migration_id

migrate-messages (mmsg)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է միգրացիայի հետ կապված հաղորդագրությունները դիտելու համար։ Օգտակար է միգրացիայի ձախողումների դեպքում՝ ցույց տալու պատճառները։

Հիմնական օրինակ

drush migrate-messages migration_id

migrate-fields-source (mfs)

Առաջադրված է Migrate Tools մոդուլով։ Օգտագործվում է աղբյուրում մատչելի դաշտերը թվարկելու համար, որոնք կարելի է համապատասխանեցնել։

Հիմնական օրինակ

drush migrate-fields-source migration_id

 

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.