logo

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

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

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

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

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

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

Scroll

Ֆիլտրեր - փոփոխականների փոփոխումը Twig կաղապարներում

19/06/2025, by Ivan

Menu

Twig-ում ֆիլտրերը կարող են օգտագործվել փոփոխականների փոփոխման համար։ Ֆիլտրերը փոփոխականից բաժանվում են "|" նշանով։ Դրանք կարող են ունենալ ընտրովի արգումենտներ փակագծերում։ Կարելի է կապել մի քանի ֆիլտրեր։ Առաջին ֆիլտրի արդյունքը փոխանցվում է հաջորդին։

Օրինակ՝

{{ content|safe_join(", ")|lower }}

Միգուցե անհրաժեշտ լինի սկզբում էլեմենտը դ_render անել, այնուհետև ֆիլտրել․

{{ item|render|filter }}

Twig-ը ներառում է բազմաթիվ ներկառուցված ֆիլտրեր, որոնք կարող եք տեսնել նրանց պաշտոնական փաստաթղթերում։ Drupal-ը ունի նաև բազմաթիվ իր սեփական ֆիլտրերը։

Drupal հատուկ ֆիլտրեր

Դրանք հայտարարված են TwigExtension::getFilters() մեթոդում։

Թարգմանության ֆիլտրեր

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

Օրինակ՝

<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo"></a>

placeholder
Այս ֆիլտրը HTML-ում էսկեյփավորում է պարունակությունը և ձևավորում այն drupal_placeholder()-ի միջոցով, ինչը հնարավորություն է տալիս ցույց տալ ընդգծված տեքստ։

Օրինակ՝

{% trans %}Submitted on {{ date|placeholder }}{% endtrans %}

Անվտանգ չլինող թարգմանություն
Որոշ կաղապարներ չեն անվտանգ և չպետք է օգտագործվեն, քանի որ նրանք փոփոխականը ուղիղ փոխանցում են թարգմանությանը։ Սա ոչ միայն ավելացնում է թարգմանությունների տողերի ցանկը, այլ նաև հնարավոր է անվտանգության խոցելիություն առաջացնի, հատկապես եթե ելքը կարող է մուտքագրվել օգտվողի կողմից։ Կան օրինակներ սխալ թարգմանության համար՝

{# ԱՅՍ ՉՏՎԵԼ #}
{{ var1|t }}
{{ var1|placeholder }}
{% trans %}{{ var1 }}{% endtrans %}

Լրացուցիչ ֆիլտրեր

clean_class
Այս ֆիլտրը պատրաստում է տողը՝ որպես HTML դասի վավեր անուն օգտագործելու համար։ Տես Html::getClass()

clean_id
Այս ֆիլտրը պատրաստում է տողը՝ որպես վավեր HTML նույնականացուցիչ օգտագործելու համար։ Տես Html::getID()

format_date
Այս ֆիլտրը պատրաստում է ժամանակի նշանը՝ որպես ֆորմատավորված ամսաթվի տող օգտագործելու համար։ Տես DateFormatter::format()

raw
Սովորաբար այս ֆիլտրը պետք է խուսափել, հատկապես եթե ցուցադրում եք տվյալներ, որոնք կարող են մուտքագրվել օգտվողի կողմից։ Տես այս էջը՝ Drupal 8-ում ավտոմատ էսկեյփինգի մասին լրացուցիչ տեղեկությունների համար։

render
Այս ֆիլտրը պարունակում է render() ֆունկցիայի ձեւավորումը։ Այն ընդունում է դրսևորումների զանգված և արտածում է դրսևորված HTML կոդ։ Կարող է օգտակար լինել, եթե ցանկանում եք կիրառել լրացուցիչ ֆիլտր (օրինակ՝ նշումների վերլուծություն) կամ պայման դնել արտածվածի հիման վրա (օրինակ՝ եթե ունեք ոչ դատարկ դրսևորումների զանգված, որն վերադարձնում է դատարկ տող)։ Կարող է օգտագործվել նաև տողերի և որոշ օբյեկտների համար, հատկապես նրանց, որոնք ունեն toString() մեթոդ։

safe_join
safe_join ֆիլտրը միավորում է մի քանի տող նշված բաժանարարով։ Տես TwigExtension::safeJoin()։

Օրինակ՝

{{ items|safe_join(', ') }}

Սա կարտածի items փոփոխականի յուրաքանչյուր տող՝ միացված ու ',', որպես տարրերի բաժանարար։

without
without ֆիլտրը ստեղծում է դրսևորման զանգվածի պատճեն և հեռացնում երեխաներին՝ նշված բանալիով, որը փոխանցվում է ֆիլտրին արգումենտներով։ Պատճենը կարելի է տպել առանց այդ տարրերի։ Աղբյուրը դեռ հասանելի է ամբողջական տպագրության համար կաղապարի ճյուղում։ Տես twig_without։

Օրինակներ՝

{{ content|without('links') }}

Սա տպում է content փոփոխականի բոլորը, բացի content.links-ից։

{{ content|without('links', 'field_some_data') }}

Օրինակ՝ երկու տարրերի բացառումը ցուցադրությունից։ Հեռացնում է «links» և «field_some_data»։

 

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.