Π‘ΠΈΡΡΠ΅ΠΌΠ° 1Π‘-ΠΠΈΡΡΠΈΠΊΡ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ CMS, Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°. ΠΠ½Π° ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ? ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Ρ Β«ΡΡΠΆΡΠ»ΠΎΠΉΒ», Π° Π΄ΡΡΠ³ΠΈΠ΅ β Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ?
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ Π½Π° ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ: ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΄ΡΠ° ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π² Β«Π»ΡΠ³ΠΊΠΈΡ Β» CMS. ΠΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠΈΡΡΠΈΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. Π’Π°ΠΊΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ 1Π‘ ΡΠ°ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Β«ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌΒ» ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° 1Π‘-ΠΠΈΡΡΠΈΠΊΡ: ΠΈΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°
Π ΠΎΡΠ½ΠΎΠ²Π΅ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ Π»Π΅ΠΆΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. Π―Π΄ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° PHP ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ MySQL (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π‘Π£ΠΠ) Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠΈ:
- πΉ Π―Π΄ΡΠΎ (Kernel) β Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ API Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ.
- π¦ ΠΠΎΠ΄ΡΠ»ΠΈ β Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π±Π»ΠΎΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
main,iblock,sale), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ/ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . - π₯οΈ Π¨Π°Π±Π»ΠΎΠ½Ρ (Templates) β ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
.default,.custom). - ποΈ ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
β Ρ
ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΊΡΡ. ΠΠΈΡΡΠΈΠΊΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ
b_(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,b_iblock_elementΠ΄Π»Ρ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ²).
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² β ΡΠΎΠ±ΡΡΠΈΠΉΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠ°ΠΏΠ΅: ΠΎΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ±ΡΡΠΈΠ΅ OnBeforeIBlockElementAdd ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ
Β«Π½Π° Π»Π΅ΡΡΒ».
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ β ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ, Π° Π½Π°Π±ΠΎΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄ΡΠ»Ρ sale (ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½) Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ catalog (ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠ²Π°ΡΠΎΠ²) ΠΈ iblock (ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΈ), Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
. ΠΡΠ° ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΡΡΠΈΠΈ ΠΠΈΡΡΠΈΠΊΡ Π½ΠΈΠΆΠ΅ 20.0.0 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΌ ΠΊΡΡΠ΅ΠΌ (bitrix:catalog.composite). Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π°bitrix:catalog.sectionΡ Π²ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ HTML-ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ²: ΠΎΡ URL Π΄ΠΎ ΠΎΡΠ²Π΅ΡΠ°
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ:
- ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ URL ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡ
/catalog/ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡbitrix:catalog. - ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΄ΡΠ°. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
bitrix/.settings.phpΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . - ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ. ΠΠ°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ±ΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ· ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°).
- Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½, Π³Π΄Π΅ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Ρ HTML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
- ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡ. Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΠΈΡΡΠΈΠΊΡ β Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠ°Π·Ρ, Π° Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ ΠΈΡ Π² Π±ΡΡΠ΅ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ²Π΅Ρ Β«Π½Π° Π»Π΅ΡΡΒ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ ΠΈΠ»ΠΈ ΡΠΆΠΈΠΌΠ°ΡΡ HTML). ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ.
| ΠΡΠ°ΠΏ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ | ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ/ΠΊΠ»Π°ΡΡΡ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ) |
|---|---|---|
| ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ | /bitrix/urlrewrite.php, CMain |
1β5 ΠΌΡ |
| ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΄ΡΠ° | CXCore, .settings.php |
10β50 ΠΌΡ |
| SQL-Π·Π°ΠΏΡΠΎΡΡ | CDatabase, CIBlockElement |
20β200 ΠΌΡ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ) |
| Π¨Π°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ | .php-ΡΠ°Π±Π»ΠΎΠ½Ρ, CBitrixComponentTemplate |
5β30 ΠΌΡ |
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Β«Π±ΠΎΠ»Π΅Π·Π½Π΅ΠΉΒ» ΠΠΈΡΡΠΈΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π±Π°Π·Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π Π΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΡΠ΅Π· CIBlockElement::GetList Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
define("DEBUG_DB", true);
ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ²ΠΈΡΡ Β«ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°Β» ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.-->
Π Π°Π±ΠΎΡΠ° Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ : ΠΊΠ°ΠΊ ΠΠΈΡΡΠΈΠΊΡ Ρ ΡΠ°Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅
1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΎΠ±ΡΡΠ½ΠΎ MySQL ΠΈΠ»ΠΈ MariaDB) Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠ°ΠΉΡΠ° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ². ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π½Π°Π΄ SQL, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ:
- π Π’Π°Π±Π»ΠΈΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ
b_. ΠΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΠΈΡΡΠΈΠΊΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡb_), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,b_iblock_elementΡ ΡΠ°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ². - π ORM-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄. ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΡΠΌΡΡ
SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ Π²ΡΠΎΠ΄Π΅
CIBlockElementΠΈΠ»ΠΈCSaleOrder, ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. - π ΠΠ½Π΄Π΅ΠΊΡΡ. ΠΠΈΡΡΠΈΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ID,IBLOCK_ID), Π½ΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. - ποΈ ΠΡΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²Π°ΡΠΎΠ²) ΠΎΠ½ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ, Π° ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ (ΠΏΠΎΠ»Π΅
ACTIVE = 'N'). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°:
$arFilter = [
"IBLOCK_ID" => 10, // ID ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°
"ACTIVE" => "Y", // Π’ΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
"SECTION_ID" => 42 // Π Π°Π·Π΄Π΅Π» Ρ ID 42
];
$arSelect = ["ID", "NAME", "DETAIL_PAGE_URL"]; // ΠΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»Ρ
$res = CIBlockElement::GetList(
["SORT" => "ASC"], // Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
$arFilter, // Π€ΠΈΠ»ΡΡΡ
false, // ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ°
false, // ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
$arSelect // ΠΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»Ρ
);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
print_r($arFields);
}
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½Π°Ρ Π²ΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ID ΠΈ NAME ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠΎ Π² $arSelect, ΠΠΈΡΡΠΈΠΊΡ Π²ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΡΡΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ Π·Π°ΠΏΡΠΎΡ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΎΠ΄Π΅ GetList Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ CDBResult, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΡΡ Π² ΡΠΈΠΊΠ»Π΅.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°ΠΌΠΈ (10 000+ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²) ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΡCIBlockElementΠΌΠΎΠ³ΡΡ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π»ΡΡΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΡΡΡΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡCBitrixComponent::includeComponentΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΏΠΎΡΠ΅ΠΌΡ ΠΠΈΡΡΠΈΠΊΡ ΡΠΎ Π±ΡΡΡΡΡΠΉ, ΡΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² 1Π‘-ΠΠΈΡΡΠΈΠΊΡ β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π²ΡΠ΅Π»Π΅Π½Π½Π°Ρ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠ°ΠΌΠ½ΡΠΌΠΈ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΡΡ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ° Π² Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·. Π‘ Π΄ΡΡΠ³ΠΎΠΉ β Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΠΈΠ΄ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΊΡΡΠ° Π² ΠΠΈΡΡΠΈΠΊΡ:
- ποΈ ΠΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π₯ΡΠ°Π½ΠΈΡ HTML-Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
bitrix:news.list). ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ("CACHE_TYPE" => "A","CACHE_TIME" => 3600). - π₯ Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΊΡΡ (CPHPCache). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΡΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ). ΠΡΠΈΠΌΠ΅Ρ:
$cache = new CPHPCache();$cacheId = "my_unique_key";
$cachePath = "/my_cache/";
if ($cache->InitCache(3600, $cacheId, $cachePath)) {
$arData = $cache->GetVars();
} else {
$arData = ["data" => "expensive_operation"];
$cache->StartDataCache();
$cache->EndDataCache($arData);
}
- π ΠΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. Π₯ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ). ΠΡΠΈΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
- π ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΠΊΡΡ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΡΠ°ΠΉΡΠ° (
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° β ΠΠ»Π°Π²Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ β ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ).
Π‘Π°ΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Β«Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠ΅Β» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ:
- ΠΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ ΡΠ±ΡΠΎΡΠΈΠ»ΡΡ (ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΡΡ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ ΠΈΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·
/bitrix/cache/). - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ±ΡΠΎΡΠ° (
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ β Π‘Π±ΡΠΎΡΠΈΡΡ ΠΊΡΡ). - Π ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ ΡΡΡΡΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
"CACHE_GROUPS"(Π΅ΡΠ»ΠΈ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ²ΠΎΠ΄).
ΠΠ°ΠΊ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ ΠΊΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄?
ΠΠ»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΊΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎ Π΅Π³ΠΎ ID ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
CBitrixComponent::clearComponentCache("bitrix:news.list", "/path/to/page/");
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΡΡΠ°:
BXClearCache(true, "/my_cache/");
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π½ΡΠ°Π½Ρ β ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°. ΠΡΠ»ΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π³ΡΡΠΏΠΏΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΡΠΎΠ²ΠΈΠΊΠΈ ΠΈ ΡΠΎΠ·Π½ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»ΠΈ), ΠΊΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΈ Π³ΡΡΠΏΠΏΡ, ΠΈΠ½Π°ΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ:
"CACHE_GROUPS" => ["Y", "N"] // Π£ΡΠΈΡΡΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΠΈΡΡΠΈΠΊΡ β ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΡΡΠΈΡΡΡΡΡΡ ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΊΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ β ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΈΡΠ΅ΠΊ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ , Π·Π°ΠΊΠ°Π·Π°Ρ , ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ ΠΈ Ρ. Π΄. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π Π°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ ΠΎΠ±ΠΌΠ΅Π½ ΠΈ Π³Π΄Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ:
- Π§Π΅ΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»Ρ
1C:Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠΌ(CommerceML).
ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΠΌΠ°ΡCommerceML 2.0Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΎΡΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:- 1Π‘ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ XML-ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
import.xmlΠ΄Π»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ»ΠΈorders.xmlΠ΄Π»Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ²). - Π€Π°ΠΉΠ» Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ FTP ΠΈΠ»ΠΈ HTTP.
- ΠΠΈΡΡΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
/bitrix/admin/1c_exchange.php. - ΠΠ°Π½Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΡΡ Π² ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
- 1Π‘ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ XML-ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
- Π§Π΅ΡΠ΅Π· REST API ΠΈΠ»ΠΈ ΠΏΡΡΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅.
ΠΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ, Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² 1Π‘, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ URL ΠΠΈΡΡΠΈΠΊΡ ΡΠ΅ΡΠ΅Π·HTTP-Π·Π°ΠΏΡΠΎΡΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρweb-ΡΠ΅ΡΠ²ΠΈΡΡ.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ:
- β ΠΠ΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². Π 1Π‘ ΠΈ ΠΠΈΡΡΠΈΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ID Π΄Π»Ρ ΠΎΠ΄Π½ΠΈΡ
ΠΈ ΡΠ΅Ρ
ΠΆΠ΅ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²Π°Ρ Ρ
ID=123Π² 1Π‘ ΠΈΠΌΠ΅Π΅ΡXML_ID="123"Π² ΠΠΈΡΡΠΈΠΊΡ). Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉXML_ID. - β Π’Π°ΠΉΠΌ-Π°ΡΡΡ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ XML-ΡΠ°ΠΉΠ» Π²Π΅ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ, Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΡΠ²Π°ΡΡΡΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π΄ΡΠΎΠ±ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ.
- β ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠΎΠ²Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ ΠΈ Π² 1Π‘, ΠΈ Π² ΠΠΈΡΡΠΈΠΊΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ . Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° (ΡΡΠΎ Π²Π°ΠΆΠ½Π΅Π΅ β Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· 1Π‘ ΠΈΠ»ΠΈ ΡΡΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΠΈΡΡΠΈΠΊΡ).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΊΠ°Π·Π° ΠΈΠ· 1Π‘ Π² ΠΠΈΡΡΠΈΠΊΡ:
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· XML (ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠΎΡΡΠ½)
$orderData = [
"XML_ID" => "ORDER_456", // ID Π·Π°ΠΊΠ°Π·Π° Π² 1Π‘
"PRICE" => 1500.00,
"CURRENCY" => "RUB",
"USER_ID" => 123, // ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΠΈΡΡΠΈΠΊΡ
"ITEMS" => [
["PRODUCT_XML_ID" => "PRODUCT_789", "QUANTITY" => 2]
]
];
// Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π·Π°ΠΊΠ°Π· Π² ΠΠΈΡΡΠΈΠΊΡ
$order = CSaleOrder::GetList([], ["XML_ID" => $orderData["XML_ID"]]);
if (!$order->Fetch()) {
$orderId = CSaleOrder::Add([
"LID" => "s1", // ID ΡΠ°ΠΉΡΠ°
"PERSON_TYPE_ID" => 1, // Π’ΠΈΠΏ ΠΏΠ»Π°ΡΠ΅Π»ΡΡΠΈΠΊΠ°
"USER_ID" => $orderData["USER_ID"],
"XML_ID" => $orderData["XML_ID"],
"PRICE" => $orderData["PRICE"],
"CURRENCY" => $orderData["CURRENCY"]
]);
// ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠ²Π°ΡΡ Π² Π·Π°ΠΊΠ°Π·
foreach ($orderData["ITEMS"] as $item) {
$productId = CIBlockElement::GetList([], [
"XML_ID" => $item["PRODUCT_XML_ID"],
"IBLOCK_ID" => 10 // ID ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ²
])->Fetch()["ID"];
CSaleBasket::Add([
"ORDER_ID" => $orderId,
"PRODUCT_ID" => $productId,
"QUANTITY" => $item["QUANTITY"]
]);
}
}
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ 22.0.0, ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ 1Π‘ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°ΡCommerceML 3.0, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ². ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠΎΠ΄ΡΠ»ΠΈ β 1C:Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠΌ).
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: ΠΊΠ°ΠΊ ΠΠΈΡΡΠΈΠΊΡ Π·Π°ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π³Π΄Π΅ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ°
1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½ΠΎ Π΅Ρ Π·Π°ΡΠΈΡΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π·Π°ΡΠΈΡΡ:
- π ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. ΠΠΈΡΡΠΈΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (Π»ΠΎΠ³ΠΈΠ½Ρ/ΠΏΠ°ΡΠΎΠ»ΠΈ, OAuth), Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (2FA) ΡΠ΅ΡΠ΅Π· SMS ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ Google Authenticator.
- π‘οΈ ΠΠ°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊ. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ (ΡΠ΅ΡΠ΅Π·
CDatabase::Query), XSS (ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π·htmlspecialcharsbx) ΠΈ CSRF (ΡΠΎΠΊΠ΅Π½Ρ Π² ΡΠΎΡΠΌΠ°Ρ ). - π ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°. ΠΠΈΠ±ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π² (ΠΌΠΎΠ΄ΡΠ»Ρ
main) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅, ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π³ΡΡΠΏΠΏ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. - π‘ ΠΠ°ΡΠΈΡΠ° ΠΎΡ DDoS. Π Π½ΠΎΠ²ΡΡ
Π²Π΅ΡΡΠΈΡΡ
Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ
security, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ IP.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ:
| Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ | ΠΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
| Π£ΡΠ΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ | ΠΡΡΠΌΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ Π±Π΅Π· ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ | ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ CIBlockElement::GetList ΠΈΠ»ΠΈ $DB->Prepare |
| XSS Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ΅ | ΠΡΠ²ΠΎΠ΄ Π½Π΅ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ HTML (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΡΠ²ΠΎΠΉΡΡΠ² ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠ°) | ΠΡΠΈΠΌΠ΅Π½ΡΡΡ htmlspecialcharsbx ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
|
| ΠΠ΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ | Π‘Π»Π°Π±ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ 2FA | ΠΠΊΠ»ΡΡΠΈΡΡ 2FA ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ IP Π² .htaccess |
Π£ΡΠ΅ΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, bitrix/.settings.php) |
ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° | ΠΠ°ΠΏΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ Nginx/Apache |
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»ΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ 1Π‘. Π§Π°ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· FTP ΠΈΠ»ΠΈ HTTP Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ Π»ΠΎΠ³ΠΈΠ½Π°ΠΌΠΈ/ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΠΊ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° Π΄Π°Π½Π½ΡΡ . Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
SFTPΠ²ΠΌΠ΅ΡΡΠΎFTP. - ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅
HTTPSΠ΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. - ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ
/bitrix/admin/1c_exchange.phpΠΏΠΎ IP Π².htaccess:
<Files "1c_exchange.php">
Require ip 192.168.1.100 # IP ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘
</Files>
πΉ ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ
πΉ ΠΠΊΠ»ΡΡΠΈΡΡ 2FA Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ
πΉ ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ /bitrix/ ΠΏΠΎ IP
πΉ ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠ»Ρ (Π½Π΅ Π²ΡΡΠ΅ 755 Π΄Π»Ρ ΠΏΠ°ΠΏΠΎΠΊ, 644 Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²)
πΉ ΠΠ°ΡΡΡΠΎΠΈΡΡ HTTPS ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (SSLv3, TLS 1.0)
-->
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: ΠΊΠ°ΠΊ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ° Π½Π° ΠΠΈΡΡΠΈΠΊΡ
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΆΠ°Π»ΡΡΡΡΡ, ΡΡΠΎ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ Β«ΡΠΎΡΠΌΠΎΠ·ΠΈΡΒ». Π§Π°ΡΡΠΎ ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Π½Π΅ Ρ ΡΠ°ΠΌΠΎΠΉ CMS, Π° Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π Π°Π·Π±Π΅ΡΡΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ:
- β‘ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅:OPTIMIZE TABLE b_iblock_element;ANALYZE TABLE b_iblock_element;
Π£Π΄Π°Π»ΡΠΉΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΈ ΠΈ ΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
b_fileΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². - ποΈ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΊΠ»ΡΡΠΈΡΠ΅:- ΠΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°).
- Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΊΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
- ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΠΊΡΡ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ°Π½ΠΈΡ.
- π₯οΈ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:- PHP 8.1+ Ρ OPcache.
- MySQL 8.0+ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ
innodb_buffer_pool_size(Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 50% ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ RAM). - ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Nginx + PHP-FPM (Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Apache).
- π¦ ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,statistic, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ). ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΠΈΡΡΡ (Google Fonts) Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Nginx Π΄Π»Ρ ΠΠΈΡΡΠΈΠΊΡ:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# ΠΠ°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΠΈΡΡΠΈΠΊΡ
fastcgi_param HTTP_HOST $host;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location ~ /bitrix/.*\.(php|php3|phtml|pl)$ {
deny all;
}
}
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ². ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π²ΡΠ±ΠΎΡΠΎΠΊ Π²ΠΈΠ΄Π°:
// ΠΠ»ΠΎΡ
ΠΎ (Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ)
$res = CIBlockElement::GetList([], ["IBLOCK_ID" => 10]);
// Π₯ΠΎΡΠΎΡΠΎ (Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ)
$res = CIBlockElement::GetList(
[],
["IBLOCK_ID" => 10],
false,
false,
["ID", "NAME", "DETAIL_PAGE_URL"]
);
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΠΈΡΡΠΈΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°?
ΠΠ΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ:
- Π Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° β Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. - Π ΡΠ°ΠΉΠ»Π΅
/bitrix/modules/main/install/version.php(ΡΡΡΠΎΠΊΠ°$arModuleVersion["VERSION"]). - Π§Π΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
php /path/to/bitrix/modules/main/install/version.php.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄:
<?php
$arModuleVersion = [];
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/install/version.php");
echo "ΠΠ΅ΡΡΠΈΡ ΠΠΈΡΡΠΈΠΊΡ: ".$arModuleVersion["VERSION"];
?>
ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ²Π°ΡΠ° Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅?
ΠΡΠΎ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅:
- ΠΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΡΠΈΡΡΠΊΠ° ΠΊΡΡΠ°). - ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΠΊΡΡ, ΡΠ±ΡΠΎΡΡΡΠ΅ Π΅Π³ΠΎ (
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ β Π‘Π±ΡΠΎΡΠΈΡΡ ΠΊΡΡ). - Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΊΠ°Π·Π°Π½ΠΎ
"CACHE_TYPE" => "A"(Π°Π²ΡΠΎ) ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. - ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°: Π΅ΡΠ»ΠΈ ΠΊΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (
"CACHE_GROUPS" => "Y"), Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π³ΠΎΡΡΠ΅ΠΉ.
ΠΠ°ΠΊ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ 1Π‘, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π²
/bitrix/modules/1c.exchange/log/. - Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ»
import.xmlΠ·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ (ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡ/upload/1c_catalog/). - ΠΠΊΠ»ΡΡΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΈΠ±ΠΎΠΊ Π²
1c_exchange.php, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°:error_reporting(E_ALL);ini_set("display_errors", 1);
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
XML_IDΠ² 1Π‘ ΠΈ ΠΠΈΡΡΠΈΠΊΡ (ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΊΠΈ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ). - ΠΡΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΡΠΌΠΎΠ·ΠΈΡ, ΡΠ°Π·Π±