Hi, the flow is following for example:
event
onPCPbeforeProceedToPayment in plugin
you set some custom message (which is only assigned to orders which have download active - user orders some product which is downloadable):
$message['order_download'] = 'Some Custom message';
Such will be returned by plugin to e.g. proceedToPaymentGateway() function which returns it as part of response
There are some calls of functions which you can skip checking to simlify this explanation:
-----
This message "Some Custom message" overrides then the variable: $this->message_after_order which is returned by getMessageAfterOrder function which is stored in session "infomessage" which is then displayed
----
In the end, user who goes back e.g. from payment gateway gets custom info message in info view:
components/com_phocacart/views/info/view.html.php
(because he left eshop page, such message is stored in session)
Simple exaplained:
There is prepared info message for users who return back (or not, depends on payment plugin) from payment gateway, such message:
- is set fix in language string
- can be overriden in language file or language override
- AND can be overriden by payment plugin
If set in payment plugin, such custom message is just stored in session instead the core language string and displayed when user comes to info page.
Here you can see the example, line cca 39:
plugins/pcp/paypal_standard/paypal_standard.php
Code: Select all
// THERE ARE 3 PLACES WHERE THE MESSAGE CAN BE CREATED:
// 1) COMPONENT - components/com_phocacart/views/info/tmpl/ ...
// 2) LANGUAGE FILE - there is specific string in language file which can be customized for each e-shop (see top of ini file)
// 3) PAYMENT PLUGIN - means that payment plugin can override the component (1) and language file (2) message
// See examples:
$proceed = 1;
$message = array();
/*
// Order processed successfully made - no downloadable items
$message['order_nodownload'] = JText::_('COM_PHOCACART_ORDER_SUCCESSFULLY_PROCESSED')
.'</br>' . JText::_('COM_PHOCACART_ORDER_PROCESSED_ADDITIONAL_INFO');
// Order processed successfully made - downloadable items
$message['order_download'] = JText::_('COM_PHOCACART_ORDER_SUCCESSFULLY_PROCESSED')
.'</br>' . JText::_('COM_PHOCACART_ORDER_PROCESSED_DOWNLOADABLE_ITEMS_ADDITIONAL_INFO');
// Order and payment successfully made - no downloadable items
$message['payment_nodownload'] = JText::_('COM_PHOCACART_ORDER_AND_PAYMENT_SUCCESSFULLY_PROCESSED')
.'</br>' . JText::_('COM_PHOCACART_ORDER_PAYMENT_PROCESSED_ADDITIONAL_INFO');
// Order and payment successfully made - downloadable items
$message['payment_download'] = JText::_('COM_PHOCACART_ORDER_AND_PAYMENT_SUCCESSFULLY_PROCESSED')
.'</br>' . JText::_('COM_PHOCACART_ORDER_PAYMENT_PROCESSED_DOWNLOADABLE_ITEMS_ADDITIONAL_INFO');
*/
return true;
As you can see, the message can be different for different types of orders (no downloadable items, downloadable items - with or without payment, etc.)
Jan