Welcome Guest ( Log In | Register )

 Forum Rules Поддръжка за безплатните добавки
 
Reply to this topicStart new topic
> Как да направя нов плъгин за Payments For Joomla, информация за разработчици и примерен плъгин
Web Design Seo
post Oct 11 2012, 11:15 AM
Post #1


Web Design Seo
****

Group: Root Admin
Posts: 4,156
Joined: 29-April 09
From: Sofia
Member No.: 1



Как да си направя сам нов плъгин за компонента за разплащания Payments for Joomla?

В тази тема е публикувана информацията за разработчици за компонента за онлайн разплащания за Джумла 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)
Attached File  plg_pfj_template.zip ( 7.71K ) Number of downloads: 1
 


--------------------
Правила на форума | Forum Rules | How to receive support. 3D Web Design: Уеб дизайн, Seo оптимизация, Web Site Extensions, Oscommerce Addons, Wordpress plugins and Joomla Extensions. Изработка на уеб сайтове и оптимизация на сайт за търсачки и Seo услуги.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Collapse

> Similar Topics

  Topic Replies Topic Starter Views Last Action
No new Pinned: Topic has attachmentsJoomla Vulnerable Extensions List
list with new Joomla exploits
20 Web Design Seo 23,817 26th September 2018 - 05:07 AM
Last post by: Web Design Seo
No new Pinned: Topic has attachmentsJoomla Scraper, Grabber For Joomla
Joomla Scraper Can Grab Any Content From Any Website
81 Web Design Seo 86,987 14th September 2018 - 08:35 AM
Last post by: Web Design Seo
No new Pinned: Joomla Pagination Seo Plugin
SEO plugin for Joomla Pagination that work in all Joomla
61 Web Design Seo 63,249 13th March 2018 - 10:05 AM
Last post by: mxcpz
No New Posts Pinned: Joomla Scraper Going Open Source
No licenses, use scraper on unlimited number of web sites
0 Web Design Seo 5,945 8th March 2017 - 07:40 AM
Last post by: Web Design Seo
No New Posts Pinned: Joomla Ден 2016
Joomla Day 2016
1 Web Design Seo 19,111 31st October 2016 - 10:11 AM
Last post by: Web Design Seo
No New Posts Joomla Post By Email To K2 Extra Fields
1 uglykidjoe 13,382 11th February 2016 - 07:45 AM
Last post by: Web Design Seo
No new Pinned: Joomla Scraper Integration With K2
better integration of Joomla Scraper and K2
8 Web Design Seo 24,744 2nd January 2016 - 09:07 AM
Last post by: b_goranov
No New Posts Joomla Scraper Not Working
2 Jan Hädicke 7,966 11th November 2015 - 02:05 PM
Last post by: Web Design Seo
No new Pinned: Topic has attachmentsPayments For Joomla Functions (mosets Tree Payments)
Functions of versions for Joomla 3 and Joomla 2.5
59 Web Design Seo 36,166 27th October 2014 - 03:20 PM
Last post by: Web Design Seo
No New Posts Joomla Scrapper Subscription And Licensing Model
3 omoj 8,453 15th October 2014 - 06:06 AM
Last post by: Web Design Seo


 



RSS Lo-Fi Version Time is now: 15th September 2019 - 07:06 PM
Clicky Web Analytics