Π’ экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ понятиС шаблона часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° "Π¨Π°Π±Π»ΠΎΠ½", ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сущСствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ шаблонов ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π·Π° счСт использования Π·Π°Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… сниппСтов. ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ этими сущностями критичСски Π²Π°ΠΆΠ½ΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Данная ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌΡƒ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для формирования слоТных ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠœΡ‹ рассмотрим ΠΈΡ… структуру, способы управлСния ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования.

Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° "Π¨Π°Π±Π»ΠΎΠ½" Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π¨Π°Π±Π»ΠΎΠ½ прСдставляСт собой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для хранСния тСкста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ структуры. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… констант ΠΈΠ»ΠΈ справочников, содСрТимоС шаблона Π½Π΅ ограничиваСтся простыми строками; ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя XML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, HTML-ΠΊΠΎΠ΄, ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” вынос Π»ΠΎΠ³ΠΈΠΊΠΈ формирования внСшнСго прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ИспользованиС шаблонов позволяСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° этапы: программист ΠΏΠΈΡˆΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ вСрстаСт ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π½Π΅ трСбуСтся пСрСкомпиляция ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля. Достаточно ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам шаблон Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ содСрТимоС Ρ‡Π΅Ρ€Π΅Π· внСшниС Ρ„Π°ΠΉΠ»Ρ‹.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ тСкста Π²Π½ΡƒΡ‚Ρ€ΠΈ шаблона осущСствляСтся Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ для всСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ привязанными ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ подсистСмам, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, &ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ&), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· запросов Π±Π΅Π· слоТной ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² с мноТСствСнными прилоТСниями, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², загруТая ΠΈΡ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ нСпосрСдствСнного Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡΡ‚().

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ использования Π² ΠΊΠΎΠ΄Π΅

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблонами Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ прСдусмотрСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Основной сцСнарий начинаСтся с получСния ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ шаблона ΠΈΠ· глобального контСкста ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π—Π°Ρ‚Π΅ΠΌ происходит Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ содСрТимого ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ….

Если шаблон содСрТит тСкстовый Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HTML-письмо ΠΈΠ»ΠΈ JSON-структуру, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡΡ‚(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ изобраТСния ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

  • πŸ“„ ВСкстовыС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для формирования писСм, скриптов SQL ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  • πŸ–ΌοΈ Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹: хранят Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΡ‹, сканы подписСй ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Ρ‹ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ.
  • πŸ“Š ΠœΠ°ΠΊΠ΅Ρ‚Ρ‹: спСциализированный Π²ΠΈΠ΄ шаблонов для Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ схСм.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ заполнСния шаблона Π΄Π°Π½Π½Ρ‹ΠΌΠΈ часто рСализуСтся Ρ‡Π΅Ρ€Π΅Π· поиск ΠΈ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ². Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "массовой Π·Π°ΠΌΠ΅Π½Ρ‹" для всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сразу, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΏΠΈΡˆΡƒΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, проходящиС Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ списку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡ… Π² тСкст.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… шаблонов (Π±ΠΎΠ»Π΅Π΅ 10 Мб) ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти клиСнтского ΠΈΠ»ΠΈ сСрвСрного процСсса. НС рСкомСндуСтся Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ гигантскиС тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Π¨Π°Π±Π»ΠΎΠ½ = Π¨Π°Π±Π»ΠΎΠ½Ρ‹.Π”ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈ;

ВСкст = Π¨Π°Π±Π»ΠΎΠ½.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡΡ‚();

ВСкст = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(ВСкст, "&Π”Π°Ρ‚Π°&", Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€=dd.MM.yyyy"));

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅(, ВСкст);

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ шаблонов ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ

Π’ соврСмСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° 1Π‘ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠ»Π΅ΠΌΠΌΠ°: Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ шаблона ΠΈΠ»ΠΈ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²ΠΎ внСшний Ρ„Π°ΠΉΠ» (PDF, DOCX, MXL). Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ свои прСимущСства ΠΈ нСдостатки, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ пСрСносС Π±Π°Π·Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ рСсурсы ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ вмСстС с ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎ сниТаСт риск ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ дСплоя Π½Π° ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ сСрвСр.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ шаблон 1Π‘ Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ„Π°ΠΉΠ» (Π½Π° дискС)
ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Высокая (Π² составС dt/CF) Низкая (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ копирования Ρ„Π°ΠΉΠ»ΠΎΠ²)
Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Волько Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π›ΡŽΠ±Ρ‹ΠΌ внСшним Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ
Π’Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π’ систСмС контроля вСрсий ΠΊΠΎΠ΄Π° ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠšΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ чтСния с диска/сСти

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, внСшниС Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°ΠΌ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ доступа ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Ρƒ. Для слоТных вСрсток Π² Word ΠΈΠ»ΠΈ Excel использованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ встроСнный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ шаблонов 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ форматирования.

πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²?
Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π¨Π°Π±Π»ΠΎΠ½Ρ‹)
Π’ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° сСрвСрС
Π’ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ (Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅)
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ сторонниС сСрвисы Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ

Автоматизация создания ΠΈ обновлСния шаблонов

Π ΡƒΡ‡Π½ΠΎΠ΅ созданиС шаблонов Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… систСм, Π³Π΄Π΅ количСство ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ исчисляСтся сотнями. Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этого процСсса спСциалисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ скрипты Π½Π° Π±Π°Π·Π΅ vanessa-runner.

БущСствуСт ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° хранСния исходных Ρ„Π°ΠΉΠ»ΠΎΠ² шаблонов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, .txt ΠΈΠ»ΠΈ .html) Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° рядом с ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΡ€ΠΈ сборкС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ скрипт считываСт эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ записываСт ΠΈΡ… содСрТимоС Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ VS Code ΠΈΠ»ΠΈ Notepad++, с подсвСткой синтаксиса.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ схСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ привязку ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π±Π°Π·Π΅. Π›ΡŽΠ±ΠΎΠ΅ расхоТдСниС Π² названиях ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС обновлСния ΠΈΠ»ΠΈ пСрСзаписи Π½Π΅ Ρ‚ΠΎΠ³ΠΎ шаблона. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСфиксы ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ соотвСтствия.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры ΠΏΠ°ΠΏΠΊΠΈ для автообновлСния

/Templates/Invoices/Invoice_001.html /Templates/Acts/Act_001.txt /Templates/Scripts/SQL_Query.sql

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ шаблонов ΠΈΠ· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ тСксты рассылок ΠΈΠ»ΠΈ условия Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² Π±Π΅Π· остановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы ΠΈ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° администратора.

Ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ символами

Одной ΠΈΠ· самых распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ использовании шаблонов являСтся Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ XML ΠΈΠ»ΠΈ HTML, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ символов ампСрсанда (&), ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈΠ»ΠΈ ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобок ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ структуру Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для экранирования символов, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Если шаблон формируСтся динамичСски ΠΈ Π² Π½Π΅Π³ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ строки ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

  • πŸ›‘ Ошибка парсинга XML: Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ вставкС сырого тСкста Π² XML-шаблон Π±Π΅Π· экранирования.
  • πŸ”€ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ тСкста ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников с нСстандартной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Windows-1251 Π² UTF-8).
  • βœ‚οΈ ΠžΠ±Ρ€Π΅Π·ΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ старыС вСрсии Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ строки Π±Π΅Π· пСрСносов.

Для диагностики Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ строку Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Ρ‘ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сравнСниС исходного шаблона ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки часто выявляСт скрытыС символы.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблонами ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ (8.2, 8.3, 8.3.20+). ВсСгда провСряйтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° ваша Π±Π°Π·Π°.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ сцСнарии использования

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ находят ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ соврСмСнных ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΎΠ½ΠΈ слуТат основой для формирования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, отправляСмых Π² Π²Π΅Π±-сСрвисы ΠΈΠ»ΠΈ мСссСндТСры. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ тСкстового Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° позволяСт Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру запроса ΠΏΠΎΠ΄ трСбования внСшнСй систСмы.

Частым кСйсом являСтся гСнСрация слоТных HTML-писСм с вСрсткой. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ объСм ΠΊΠΎΠ΄Π° нСпосрСдствСнно Π² Ρ‚Π΅Π»Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ. Вынос вСрстки Π² шаблон Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ модуля чистым ΠΈ понятным, оставляя Π² Π½Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ подстановки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ сцСнарий β€” Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ скриптов для выполнСния Π½Π° сторонС внСшнСй Π‘Π£Π‘Π” ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм. НапримСр, шаблон ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ слоТный SQL-запрос с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ формируСтся Π² 1Π‘, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСдаСтся для исполнСния Π² PostgreSQL ΠΈΠ»ΠΈ MSSQL.

πŸ’‘

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ 1Π‘ β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Π½ΠΎ ΠΈ для хранСния Π»ΡŽΠ±Ρ‹Ρ… тСкстовых рСсурсов, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ вСрсионирования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ИспользованиС шаблонов для хранСния инструкций ΠΈΠ»ΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΎΠ², доступных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ прямо ΠΈΠ· интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ тСксты ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ, Π±Π΅Π· нСобходимости ΠΏΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ пСрсонал ΠΈΠ»ΠΈ Ρ€Π°ΡΡΡ‹Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

МоТно Π»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² шаблонС исполняСмый ΠΊΠΎΠ΄?

ВСхничСски Π² шаблонС ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ любой тСкст, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°. Однако ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ выполняСт содСрТимоС шаблона ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ автоматичСски. Π’Π°ΠΌ потрСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ динамичСского выполнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ()), Ρ‡Ρ‚ΠΎ нСсСт риски бСзопасности ΠΈ услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ рСкомСндуСтся Π² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Как Π½Π°ΠΉΡ‚ΠΈ всС мСста использования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ шаблона?

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ мСню "Поиск" (Ctrl+Shift+F). Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя шаблона ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ поиска "Π’ модулях". БистСма Π½Π°ΠΉΠ΄Π΅Ρ‚ всС обращСния ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· свойство Π¨Π°Π±Π»ΠΎΠ½Ρ‹.ИмяШаблона.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ тСкста Π² шаблонС?

ЖСсткого ограничСния Π² символах Π½Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² сотни ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ врСмя обновлСния Π±Π°Π·Ρ‹.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π»ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ (if/else)?

Π‘Π°ΠΌ ΠΏΠΎ сСбС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ "Π¨Π°Π±Π»ΠΎΠ½" являСтся пассивным Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ тСкста ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ. Однако, Ссли шаблон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ области ΠΈ условия видимости, настраиваСмыС Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ΠΌΠ°ΠΊΠ΅Ρ‚Π°.