Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Ρ ΡΠΊΠΈ php
Π₯ΡΠΊΠΈ Π² PHP, ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Ρ ΡΠΊΠΈ Π² PHP. ΠΠΎΠΌΡ-ΡΠΎ Ρ ΡΠΊΠΈ Π½ΡΠ°Π²ΡΡΡΡ, ΠΊΠΎΠΌΡ-ΡΠΎ Π½Π΅Ρ, Π½ΠΎ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ β ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΊΠΈ Π² PHP. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΡ, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ WordPress ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Ρ Π½ΠΈΠΌΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠΊΠΎΠ² Π΄Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΡΡΡ HTML ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΎΠ½ ΡΠΆΠ΅ Π·Π°Π²Π΅ΡΡΡΠ°Π½. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π½Π΅Π»ΡΠ·Ρ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ HTML ΡΠ°Π±Π»ΠΎΠ½ ΠΌΠ΅ΡΠ°-ΡΠ΅Π³Π°ΠΌΠΈ, ΡΡΠΈΠ»ΡΠΌΠΈ, ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π² ΡΠ°ΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΠΏΠΎΠ΄Π²Π°Π»Π΅.
ΠΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΡΡΠ°Π½ΠΈΡΡ:
Π§ΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠ°-ΡΠ΅Π³ΠΈ, ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°Π±Π΄ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΡΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎ ΡΡΡΠΈ, Ρ ΡΠΊΠΈ β ΡΡΠΎ ΠΊΡΡΡΠΊΠΈ, Π·Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΏΠΈΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΠΎΠ΄ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
ΠΠ°ΠΊ do_action ΡΠ·Π½Π°Π΅Ρ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Ρ ΡΠΊΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ², ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π³Π΄Π΅ hook_name_x β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Ρ ΡΠΊΠ°, index_x_x β ΠΈΠ½Π΄Π΅ΠΊΡ(ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ) ΡΡΠ½ΠΊΡΠΈΠΈ function_name_x_x Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠΊΠ°.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, Π° Π·Π½Π°ΡΠΈΡ ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
ΠΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅: ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° Π»ΠΈΡΡΠ΅ ΠΈ Ρ Π½Π΅Π³ΠΎ Π² ΡΡΠΊΠ°Ρ ΡΠ΅ΡΡΠ°Π΄Ρ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ ΡΡΠ°ΠΆΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈΡΡ, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΆΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ°ΠΆΠ΅ΠΉ ΡΠ²Π»ΡΡΡΡΡ Ρ ΡΠΊΠ°ΠΌΠΈ, Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°(Π·Π°Π΄Π°ΡΠΈ) Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ Ρ ΡΠΊΡ. ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅, ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ Ρ ΡΠΊΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ Ρ ΡΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π₯ΡΠΊΠΈ Π² PHP β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΄ΡΠ°
ΠΠ±ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ CS-Cart (Multi-Vendor) ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Ρ ΡΠΊΠΈ.
Π₯ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ:
Π₯ΡΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠ΄ΡΠ° CS-Cart.
ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Ρ ΡΠΊΠ°ΠΌΠΈ:
ΠΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΡΠΊΠΎΠ²:
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Ρ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊ?
Π₯ΡΠΊΠΈ Π² PHP Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Ρ ΡΠΊΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Ρ ΡΠΊΡ.
Π Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Ρ ΡΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Ρ ΡΠΊΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°: fn_[id_ΠΌΠΎΠ΄ΡΠ»Ρ]_[Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ ΡΠΊΠ°]($[ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ_Ρ ΡΠΊΠ°_ΡΠ΅ΡΠ΅Π·_Π·Π°ΠΏΡΡΡΡ])
Π ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² Ρ ΡΠΊ.
Π§ΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ½Π°ΡΡΠΆΠΈ), ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠΈ ( &$param )
ΠΠΈΠ²ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ ΡΠΎ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠ²Π°ΡΠ° Π½Π΅Ρ Π½Π° ΡΠΊΠ»Π°Π΄Π΅.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ Ρ ΡΠΊΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΡΠΆΠ½ΡΡ Π½Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ βΠΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡβ:
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Ρ ΡΠΊΡ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» app/addons/my_changes/func.php
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Ρ ΡΠΊΠ΅:
ΠΠΊΠ»ΡΡΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ βΠΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡβ.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ fn_print_r($product_data); Π΄ΠΎ Ρ ΡΠΊΠ°, ΠΏΠΎΡΠ»Π΅ Ρ ΡΠΊΠ° ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ Ρ ΡΠΊΠ°. ΠΠ½Π° ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ?
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ Ρ SMARTY Π±Π»ΠΎΠΊΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ SMARTY Π±Π»ΠΎΠΊΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° <$product_data>, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
Π₯ΡΠΊΠΈ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ
Π₯ΡΠΊΠΈ β ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΡΠΆΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ . Π₯ΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠΎΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ Π² Π±Π»Π°Π³ΠΈΡ ΡΠ΅Π»ΡΡ (ΡΠ½ΠΈΡΡΠ΅ΡΡ, Π°ΡΠ΄ΠΈΠΎ\Π²ΠΈΠ΄Π΅ΠΎΠ³ΡΠ°Π±Π±Π΅ΡΡ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΠ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°Π³ΡΠΈΠΊΡΠΈΠ½Π³) ΡΠ°ΠΊ ΠΈ ΡΠΎ Π·Π»ΡΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ (ΡΡΠΎΡΠ½Ρ, ΠΊΡΡΠΊΠΈ, ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅ΡΡ). Π Ρ ΡΠΊΠ°Ρ ΡΠΆΠ΅ Π½Π΅ ΡΠ°Π· ΠΏΠΈΡΠ°Π»ΠΈ ΠΈ Π½Π° Π₯Π°Π±ΡΠ΅ ΠΈ Π½Π΅ Π½Π° Π₯Π°Π±ΡΠ΅. ΠΠΎ Π²ΠΎΡ Π² ΡΡΠΌ Π±Π΅Π΄Π° β ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ°ΡΡΡ ΠΎ Ρ ΡΠΊΠ°Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΡΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°Π±Π·Π°ΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ Β«ΡΠ°Π±Π»ΠΈΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉΒ», Β«Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈΒ» ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎΡΠΌΡΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Π²Π΄Π²ΠΎΠ΅, Π° ΡΠΆ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ β ΡΠ°ΠΊ ΠΈ Π²ΠΎΠ²ΡΠ΅ Π²ΡΠ΅ΡΠ²Π΅ΡΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½Π° ΡΡΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ Ρ ΡΠΊΠ°Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ Π½Π΅Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π½Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² ΠΈ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π΄Π²Π° Π΄Π΅ΡΡΡΠΊΠ° ΡΡΡΠΎΠΊ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π‘++. ΠΡΠ»ΠΈ Π²Ρ Π΄Π°Π²Π½ΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΈΠ·ΡΡΠΈΡΡ Ρ ΡΠΊΠΈ, Π½ΠΎ Π½Π΅ Π·Π½Π°Π»ΠΈ Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ β Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Π Π΅Π°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°
ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ β ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±ΡΠ°ΡΠ·Π΅Ρ Firefox ΠΏΡΠΈ Π·Π°Ρ ΠΎΠ΄Π΅ Π½Π° Π₯Π°Π±Ρ ΠΏΠΈΡΠ°Π» Π² ΡΠ²ΠΎΡΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Β«ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ!Β» Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΠΈΡΠ΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ (Π° ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌ ΠΏΡΠΈΡΠ΅ΡΡΡ «*** / Π₯Π°Π±ΡΠ°Ρ Π°Π±Ρ β Mozilla Firefox», Π³Π΄Π΅ *** β ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·Π΄Π΅Π»Π°). ΠΠ°, Ρ Π·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Firefox, Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, ΡΠ·Π΅ΡΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ ΠΈ Π΅ΡΠ΅ Π΄Π΅ΡΡΡΠΊΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ². ΠΠΎ ΠΌΡ Π² ΡΡΠ΅Π±Π½ΡΡ ΡΠ΅Π»ΡΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Ρ ΡΠΊΠ°ΠΌΠΈ.
Π‘ΠΎΠ²ΡΠ΅ΠΌ ΡΡΡΡ-ΡΡΡΡ ΡΠ΅ΠΎΡΠΈΠΈ
ΠΠΎΠ³Π΄Π° ΠΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, exe-ΡΠ°ΠΉΠ» ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ, Π΄Π°Π»Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (dll-ΡΠ°ΠΉΠ»Ρ) Π΅ΠΌΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ (ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ exe-ΡΠ°ΠΉΠ»Π°), ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΡΡΡΡ (Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΏΠΊΠ°Ρ ) ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ (Π² ΠΊΠ°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΈ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅). Π‘ΡΡΠΎΠΈΡΡΡ ΡΠ°Π±Π»ΠΈΡΠΊΠ° Π²ΠΈΠ΄Π° Β«ΡΡΠ½ΠΊΡΠΈΡ SomeFunction1() β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SomeLibrary1.dll β %Π°Π΄ΡΠ΅Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ_SomeFunction1()%Β». ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ β ΠΎΠ½Π° Π½Π°ΠΉΠ΄Π΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½ΡΠΆΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΎΡΡΡΠΈΡΠ°Π΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
Π‘ΡΡΡ Ρ ΡΠΊΠΈΠ½Π³Π° β Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½Π°Ρ Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SomeLibrary2.dll, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ SomeFunction2(). ΠΠ°Π»Π΅Π΅ ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠΆΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (Π² ΠΠ‘ Windows Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ) ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡ ΡΠ°ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΠΊΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΏΠΈΡΠ°Π» ΡΡΡΡ Π²ΡΡΠ΅, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° Π·Π°ΠΏΠΈΡΡ Β«ΡΡΠ½ΠΊΡΠΈΡ SomeFunction1() β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SomeLibrary2.dll β %Π°Π΄ΡΠ΅Ρ_Π½Π°ΡΠ΅ΠΉ_ΡΡΠ½ΠΊΡΠΈΠΈ_SomeFunction2()%Β». ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΡΡΠΎΠΌ Π°Π±Π·Π°ΡΠ΅, Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ β ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΠ°ΠΌΡΡΡ Π² Windows, ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Ρ.Π΄. ΠΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ β ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΡΡΠ°ΡΡΡ (Π° Ρ ΠΎΡΡ Π±Ρ ΠΈΠ· ΡΠ΅Ρ , ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Ρ Π² Π½Π°ΡΠ°Π»Π΅). ΠΡ ΠΏΠΎΠΉΠ΄Π΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΠ΅ΠΌ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Microsoft Detours, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²ΡΡ Π³ΡΡΠ·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π° Π½Π°Ρ.
ΠΠ°ΡΡ ΡΠ»ΠΎΠ² ΠΎ Microsoft Detours
ΠΡΠΎΡΡΠ° Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ΅ΡΡΠΌΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°
Π₯ΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Microsoft β Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ Β«Π΄ΡΡΠΆΠΈΡΒ» Ρ ΠΠ‘
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π° Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΠ΅Π»Π΅ΠΉ ΠΈ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°Π½ΠΈΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°
ΠΠ°ΠΊΡΡΡΠ°
Π‘ΡΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΈΡΠ½ΡΡ
Π΄Π΅Π½Π΅Π³ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Ρ
64-Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
Π ΡΠ΅Π»ΠΎΠΌ, Ρ Π±Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π» Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Ρ
ΡΠΊΠΎΠ² ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Detours β Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²Π°ΡΠΈΠΌ ΡΠ°Π·ΠΎΠ²ΡΠΌ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Ρ
Π²Π°ΡΠΈΡ, Ρ Π²Π°Ρ Π±ΡΡΡΡΠΎ Π²ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Ρ
ΡΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π² ΡΠ΅ΡΡΡΠ·Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ β Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠΊΡΡΡΡΠ΅ (Π½ΠΎ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΈΠΏΠ° mhook, ΠΊΡΠΏΠΈΡΠ΅ Detours ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ (Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π΄Π²ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½ΡΠΆΠ½Ρ Π²Π΅ΡΡΠΌΠ° Π²Π΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ).
Π ΡΠΎΠΌ Π³Π΄Π΅ Π²Π·ΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ Detours Ρ ΠΏΠΈΡΠ°Π» Π²ΠΎΡ ΡΡΡ.
Π₯ΠΈΡΡΡΠΉ ΠΏΠ»Π°Π½
ΠΡΠ΄Π° ΡΡΠ°Π²ΠΈΡΡ Ρ ΡΠΊ
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Firefox, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π₯Π°Π±Ρ, Π΄ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π² Api Monitor ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΡΠ½ΠΈ ΡΡΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π ΠΌΡ Π²Π΅Π΄Ρ Π΅ΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ΠΈΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π·Π° Π²ΡΠ΅ΠΌ. ΠΠ°-Π΄Π°, ΡΡΠΎ Π²ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΡΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅! Π Π²Ρ Π΅ΡΠ΅ ΠΆΠ°Π»ΡΠ΅ΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠ° ΠΏΠ°ΡΠ° ΡΠ΅ΠΊΡΠ½Π΄ β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ. π
ΠΠ°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΡ Π½Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ±ΠΈΠ²Π°Π΅ΠΌ Π² ΠΏΠΎΠΈΡΠΊ Β«WM_SETTEXTΒ» ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ SendMessageW Ρ ΡΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ β Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Β«WΒ» Π² ΠΊΠΎΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ β ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅Ρ ΡΠ½ΠΈΠΊΠΎΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΡ. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ ΡΠΊΠΎΠ² Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π΅Π³ΠΎ Π·Π½Π°Π΅ΠΌ.
ΠΠ΅Π»Π°Π΅ΠΌ ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
4. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π»ΠΈΠ½ΠΊΠ΅ΡΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Additional Dependencies Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«C:\Program Files\Microsoft Research\Detours Express 3.0\lib.X86\detours.libΒ». ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ Π²Π°Ρ ΠΏΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ β ΡΠΌΠΎΡΡΡ ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Detours.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ. Π Π½Π°ΡΠ°Π»Π΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Windows (ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ SendMessageW) ΠΈ Detours (ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ°Π²ΠΈΡΡ\ΡΠ½ΠΈΠΌΠ°ΡΡ Ρ
ΡΠΊΠΈ).
Π ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΡΡΠΎΠΊΠ΅ β3 ΠΌΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ SendMessageW Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ TrueSendMessageW. ΠΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ Π΄Π²ΡΡ
ΡΠ΅Π»Π΅ΠΉ:
Π€ΡΠ½ΠΊΡΠΈΡ DllMain Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠΎΠΌΠ΅Π½ΡΡ Π°ΡΡΠ°ΡΠ°\Π΄Π΅ΡΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π’ΡΡ ΡΠΎΠΆΠ΅ Π²ΡΡ ΠΏΡΠΎΡΡΠΎ. Π ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΡΡΠ°ΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΡΠΊΠΈ, Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π΅ΡΠ°ΡΠ° β ΡΠ½ΡΡΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Detour ΡΡΠ΅Π±ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΠΈ Π² ΡΡΠΎΠΌ Π΅ΡΡΡ ΡΠΌΡΡΠ» β ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅Π»Π°ΡΡΠΈΡ Π·Π°Ρ ΠΎΡΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Ρ ΡΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΡΠΎ ΡΡΡΠΎΠΊΠ°
ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Β«ΠΏΠΎΠ²Π΅ΡΠΈΡΡΒ» ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ SendMessageW Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π°ΡΡ MySendMessageW. Π Π°Π΄ΠΈ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΡ ΠΈ Π·Π°ΡΠ΅Π²Π°Π»ΠΎΡΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Ρ ΠΏΠΈΡΠ°Π» Π°Π½Π°Π»ΠΎΠ³ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ½ΡΡ. Π‘ ΡΡΠ΅ΡΠΎΠΌ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΡΡΠΎ Π·Π°Π½ΡΠ»ΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ. ΠΡ Π²ΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ»ΠΈ β ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ.
Cotonti / Open Source PHP Content Management FrameworkContent Management Framework
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π₯ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
#1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π₯ΡΠΊΠΈ?
Π₯ΡΠΊ (ΠΎΡ Π°Π½Π³Π». hook) ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π²ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΡΠΊΡΠΈΠΏΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ), Ρ ΡΠ΅ΠΌ ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ Cotonti ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ PHP ΡΠ°ΠΉΠ», Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ (Ρ ΡΠΊΠ°). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π₯ΡΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈΠ²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π°). ΠΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Cotonti, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΡΠΊΠΈ ΡΡΠΎ Π²Π°ΡΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ Π² Π΄Π΅Π»Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Π Cotonti ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅.
#2. ΠΠ°ΠΊΠΎΠΉ Ρ ΡΠΊ Π²ΡΠ±ΡΠ°ΡΡ?
ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΠΈΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Ρ ΡΡ ΡΡΠΎΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Ρ ΡΠΊΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ²: ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ·Π²Π°Π½, ΠΊΠ°ΠΊΠ°Ρ Π΅Π³ΠΎ ΡΠ°ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Ρ ΡΠΊΠΈ ΠΈ Π²ΡΠ·Π²Π°Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ.
#2.1. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ ΡΠΊΠΈ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈ ΡΡΡΠΎΠ³ΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°:
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° ΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Ρ ΡΠΊΠΈ:
Π Π°Π· ΡΠΆ Π·Π°ΡΠ»Π° ΡΠ΅ΡΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Ρ ΡΠΊΠ°Ρ , ΡΠΎ ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈ ΡΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΡ β Ρ ΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΈ Ρ ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π²Π½ΡΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ:
(Note: ΡΠ΅Π³ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 0.9.6 )
#2.2. ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠΊΠΎΠ². ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Ρ ΡΠΊΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΠΎΠ² ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄Ρ ΠΎ ΡΠ°ΠΉΠ»Π΅ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΊΠΎΠ΄-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. ΠΠΈΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
#3. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
ΠΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ°ΠΉΠ»Π°-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½ΠΈΠΆΠ΅:
ΠΠ»ΡΡ Tags ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π³ΠΎΠ², Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΡ ΠΊΠ»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ β Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Π΅ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π½ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
Π§ΡΠΎ ΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ? ΠΠ° ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ! ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΠ²Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Cotonti βΠ½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ β ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· Π½ΠΈΡ (ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ). ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ β Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π° Π½Π΅Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π° Ρ ΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΡΠΎΠΌ ΠΊΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°. Cotonti Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ. ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Ρ ΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ..
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΠΊΠΎΠ΄ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅Π³ΠΎΠ² Π² ΡΠ°Π±Π»ΠΎΠ½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠ°ΠΊΡΡ Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΠ.
#4. Π Π°ΡΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
ΠΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Cotonti. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΈΠ·ΡΡΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Ρ ΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ Π½ΠΈΡ ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ β ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Ρ ΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π°ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅. Π ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡ ΠΎΠ² Ρ ΡΠΊΠΎΠ² Π² ΠΌΠ΅ΡΡΠ°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΄ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ ‘ myext.hook.name ‘ Π½Π° ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ Ρ ΡΠΊΠ° (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ? ) ΠΈ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²ΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π½ΠΎ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ (6-ΡΠΈ ΡΡΡΠΎΡΠ½ΡΡ) ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈruct Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ΄Π΅Π»Π΅Π½ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠΎΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠΎΠ΄ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΡΠΈΠΊΠ»Π°:
Π‘ΡΡΡ ΠΊΠΎΠ΄Π° Π²ΡΠ½Π΅ΡΡΠΈ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ cot_getextplugins() ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
#4.1. Π‘ΠΏΠΈΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π° Ρ ΡΠΊΠΎΠ²
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ URL ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ΄ΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΡΡΠ½ΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ·ΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Ρ ΡΠΊΠΎΠ², Π΄Π»Ρ Ρ ΠΎΡΠΎΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π²::
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌ «(*)" ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π·ΠΎΠ² Ρ ΡΠΊΠ°. Π₯ΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ «[]" ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², Ρ.ΠΊ. ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈ ΡΠ΄ΡΠ° ΠΈ Π½Π°Π±ΠΎΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. Π₯ΡΠΊΠΈ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΡΠ΅.above).
Π₯ΡΠΊΠΈ Π² PHP β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΄ΡΠ°ΒΆ
ΠΠ±ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΒΆ
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ CS-Cart ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Ρ ΡΠΊΠΈ.
Π₯ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ:
Π₯ΡΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠ΄ΡΠ° CS-Cart.
ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Ρ ΡΠΊΠ°ΠΌΠΈ:
ΠΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΡΠΊΠΎΠ²:
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊ?ΒΆ
Π₯ΡΠΊΠΈ Π² PHP Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Ρ ΡΠΊΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Ρ ΡΠΊΡ.
Π Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Ρ ΡΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Ρ ΡΠΊΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°: fn_[id_ΠΌΠΎΠ΄ΡΠ»Ρ]_[Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ ΡΠΊΠ°]($[ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ_Ρ ΡΠΊΠ°_ΡΠ΅ΡΠ΅Π·_Π·Π°ΠΏΡΡΡΡ])
Π ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² Ρ ΡΠΊ.
Π§ΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ½Π°ΡΡΠΆΠΈ), ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠΈ ( &$param )
ΠΠΈΠ²ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅ΡΒΆ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ ΡΠΎ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠ²Π°ΡΠ° Π½Π΅Ρ Π½Π° ΡΠΊΠ»Π°Π΄Π΅.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ Ρ ΡΠΊΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΡΠΆΠ½ΡΡ Π½Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ βΠΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡβ:
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Ρ ΡΠΊΡ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» app/addons/my_changes/func.php
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Ρ ΡΠΊΠ΅:
ΠΠΊΠ»ΡΡΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ βΠΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡβ.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ fn_print_r($product_data); Π΄ΠΎ Ρ ΡΠΊΠ°, ΠΏΠΎΡΠ»Π΅ Ρ ΡΠΊΠ° ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ Ρ ΡΠΊΠ°. ΠΠ½Π° ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ?
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ Ρ SMARTY Π±Π»ΠΎΠΊΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ SMARTY Π±Π»ΠΎΠΊΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° <$product_data>, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
Π Π°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉΒΆ
Π₯ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ»Π²ΠΎΠΈΠΉ ΠΏΠΎ ΡΠΈΠΏΡ:
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Multi-Vendor. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ°ΠΉΠ»Π΅ /app/functions/fn.multivendor.php ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΠΎΠ΄ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈΒΆ
ΠΠ»ΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ , Π²ΡΠΎΡΠ°Ρ ΠΆΠ΅ ΡΠ°ΡΡΡ β ΡΡΠΎ ΠΊΠΎΠ΄ ΠΠ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ
Π₯ΡΠΊΠΈ Π² PHP ΡΠΊΡΠΈΠΏΡΠ°Ρ ΒΆ
ΠΠ΅ΡΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΊΠ½ΡΠΈΡ fn_allowed_for :