![]() ![]() |
Oct 11 2012, 11:15 AM
Post
#1
|
|
![]() Web Design Seo ![]() ![]() ![]() ![]() Group: Root Admin Posts: 4,332 Joined: 29-April 09 From: Sofia Member No.: 1 |
В тази тема е публикувана информацията за разработчици за компонента за онлайн разплащания за Джумла Payments for Joomla и код за примерен плъгин за компонента. Payment type плъгин (наречен в темата "ПТП" или "action plugin") I. Типична файлова структура на един ПТП е следната ([] - директория): Код [plg_pfj_ПТП] [languages] en-GB.plg_content_pfj_ПТП.ini en-GB.plg_content_pfj_ПТП.sys.ini pfj_ПТП.php pfj_ПТП.xml pfj_ПТП_params.xml script.pfj_ПТП.php install.sql uninstall.sql Това е файловата структура на обикновен content плъгин, с изключение на файлът pfj_ПТП_params.xml (не е задължително да присъства), който съдържа дефинициите на параметрите за конкретния вид payment type, ако има такива. Тук приложен е примерен темплейт за ПТП, наречен template. В този инсталационен архив са маркирани задължителните и незадължителните елементи, които са характерни за ПТП. В съответните файлове има коментари, описващи по-подробно специфичните моменти. II. Payment type плъгина (ПТП) трябва да може да изпълнява следните задачи: а) Комуникация с компонента Payments For Joomla (PFJ) - (опционално) Подава информация за параметрите, които са му необходими, за да работи (ако има такива, файлът 'pfj_ПТП_params.xml' и функция onPFJGetDetails() в pfj_ПТП.php); - (опционално) Валидира тези параметри, преди да бъдат подадени за запис в БД (JavaScript - функция onJSParamsValidate() в pfj_ПТП.php) и при подаването им (PHP - функция onPFJParamsValidate() в pfj_ПТП.php); - (ЗАДЪЛЖИТЕЛНО) Получава информация за постъпили успешни плащания и я отразява по подходящ начин (функция onPFJPayment() в pfj_ПТП.php); - (опционално) Код за изпълнение от Cron скрипта на PFJ, ако е необходимо (функция onPFJCron() в pfj_ПТП.php). б) Превенция на поведението по подразбиране, което искаме вече да се плаща, освен ако потребителят не е вече платил. Това обикновено става чрез функция с уникално име, намираща се в pfj_ПТП.php. В случая с template плъгина това е pfj_template_redirect(), която редиректва потребителя към статията с формата за плащане, ако е необходимо. в) Уведомяване на потребителите, които не са платили, че търсената от тях услуга е вече платена и осигуряване на достъп до формата за плащане, генерирана на база PFJ. Това обикновено става с използването на onContentAfterDisplay(), отново намираща се в pfj_ПТП.php. III. Типичният начин, по който следват събитията при активиран ПТП, е следният: 1. Потребител, който не е платил, се опитва да отвори страница със съдържание с ограничен достъп. 2. ПТП засича този опит и редиректва потребителя към предварително създадена статия, в която се описва какво и при какви условия се продава. За тази цел в началото на страницата с ограничен достъп се вика функцията с уникално име от т. II(б), в случая с template: Код #PFJ Template BOM if (JPluginHelper::importPlugin('content','pfj_template',TRUE)) JDispatcher::getInstance()->trigger('pfj_template_redirect'); #PFJ Template EOM 3. ПТП генерира форма за плащане на база на записите в PFJ за конкретния тип плащане и език на сайта. Ако няма дефинирани записи в PFJ - издава съобщение за грешка, иначе вмъква формата на указаното чрез специален таг място (или в края на статията, ако няма указан таг или той не бъде намерен). Тагът се задава в настройките на плъгина. 4. Потребителят кликва върху елемент от формата и отива да плаща, да речем чрез PayPal. 5. Завършвайки плащането, PayPal вика нотификационният адрес, който представлява входната точка на PFJ с ID-то на конкретното плащане. PFJ зарежда съответният payment method плъгин (PayPal), който валидира плащането. Ако всичко е наред, PFJ вика функцията onPFJPayment() от ПТП, подавайки й като параметри параметрите на плащането и ID-то на потребителя, извършил плащането. ПТП отразява полученото плащане, давайки достъп на потребителя до съдържанието с ограничен достъп. Примерният темплейт на action plugin-а е прикачен в този пост. Файла се вижда и може да се свали само от регистрирани потребители!
Attached File(s)
-------------------- Правила на форума | Forum Rules | How to receive support. 3D Web Design: Уеб дизайн, Seo оптимизация, Web Site Extensions, Oscommerce Addons, Wordpress plugins and Joomla Extensions. Изработка на уеб сайтове и оптимизация на сайт за търсачки и Seo услуги.
|
|
|
|
![]() ![]() |
Similar Topics
| Topic | Replies | Topic Starter | Views | Last Action | |
|---|---|---|---|---|---|
![]() |
Pinned: Joomla Scraper Can Grab Any Content From Any Website |
86 | Web Design Seo | 590,722 | 8th September 2021 - 07:02 AM Last post by: Web Design Seo |
![]() |
Pinned: list with new Joomla exploits |
20 | Web Design Seo | 385,760 | 26th September 2018 - 05:07 AM Last post by: Web Design Seo |
![]() |
Pinned: Joomla Pagination Seo Plugin SEO plugin for Joomla Pagination that work in all Joomla |
61 | Web Design Seo | 463,811 | 13th March 2018 - 10:05 AM Last post by: mxcpz |
![]() |
Pinned: Joomla Scraper Going Open Source No licenses, use scraper on unlimited number of web sites |
0 | Web Design Seo | 352,501 | 8th March 2017 - 07:40 AM Last post by: Web Design Seo |
![]() |
Joomla Ден 2016 Joomla Day 2016 |
1 | Web Design Seo | 310,663 | 31st October 2016 - 10:11 AM Last post by: Web Design Seo |
![]() |
Joomla Post By Email To K2 Extra Fields | 1 | uglykidjoe | 236,913 | 11th February 2016 - 07:45 AM Last post by: Web Design Seo |
![]() |
Pinned: Joomla Scraper Integration With K2 better integration of Joomla Scraper and K2 |
8 | Web Design Seo | 272,086 | 2nd January 2016 - 09:07 AM Last post by: b_goranov |
![]() |
Joomla Scraper Not Working | 2 | Jan Hädicke | 255,960 | 11th November 2015 - 02:05 PM Last post by: Web Design Seo |
![]() |
Pinned: Functions of versions for Joomla 3 and Joomla 2.5 |
59 | Web Design Seo | 148,234 | 27th October 2014 - 03:20 PM Last post by: Web Design Seo |
![]() |
Joomla Scrapper Subscription And Licensing Model | 3 | omoj | 207,813 | 15th October 2014 - 06:06 AM Last post by: Web Design Seo |
|
Lo-Fi Version | Time is now: 1st June 2026 - 08:45 PM |