Плагин партнерской программы Affiliates для Котонти

Разработка плагина, обеспечивающего работу партнерской программы на веб-сайте

Плагин партнерки для CMS Котонти

Как понятно из названия, плагин Affiliates разработан специально для создания партнерской программы на сайте под управлением Котонти.

Плагин обеспечивает функционирование партнерской программы за счет использования реф-ссылок или "инвайтов". Происходит это следующим образом:

  • При регистрации каждый пользователь получает свой уникальный "пригласительный" код, на базе которого формируется реф-ссылка
  • Приглашенный пользователь может зарегистрироваться по реф-ссылке (с использованием cookies) или ввести инвайт вручную
  • Дальнейшие действия приглашенного пользователя фиксируются системой, и при выполнении определенных действий (например, покупка товаров) происходит начисление комиссии владельцу пригласительного кода-инвайта
  • В любой момент пользователь может сформировать запрос на выплату ему партнерских начислений

Плагин обеспечивает сбор и ведение следующих статистических данных со стороны пользователя:

  • Партнерские начисления (дата, номер заказа, сумма)
  • Выплаты начислений (дата заявки, дата выплаты, выплаченная сумма)

Плагин обеспечивает сбор и ведение следующих статистических данных со стороны администратора:

  • Приглашенные владельцем инвайта пользователи (дата регистрации, имя, количество и сумма покупок)
  • Партнерские начисления владельцу инвайта
  • Выплаты владельцу инвайта

Плагин Affiliates работает в связке с плагином оплаты через систему Interkassa, и может быть перепрофилирован для взаимодействия с практически любой другой системой онлайновых платежей.

Установка и использование плагина

  1. Загрузить плагин в каталог /plugins/ и установить его. Указать в настройках длину инвайта в символах, а также номер группы, в которую будут назначаться пользователи, зарегистрированные по инвайту.
  2. В шаблон users.register.tpl добавить код ввода инвайта при регистрации:
    <tr>
    	<td>{USERS_REGISTER_REF_INVITE_TITLE}:</td>
    	<td>{USERS_REGISTER_REF_INVITE}</td>
    </tr>
  3. В шаблон users.profile.tpl добавить код ввода номера электронного кошелька и просмотра реф-ссылки:
    <tr>
    	<td>{USERS_PROFILE_PURSE_TITLE}:</td>
    	<td>{USERS_PROFILE_PURSE}</td>
    </tr>
    <tr>
    	<td>{USERS_PROFILE_REF_LINK_TITLE}:</td>
    	<td>{USERS_PROFILE_REF_LINK}</td>
    </tr>
  4. В шаблон users.details.tpl добавить код просмотра приглашенных пользователей и заработанных сумм:
    <!-- Блок просмотра рефералов -- виден только администратору -->
    <!-- BEGIN: REFERALS -->
    		<div class="block">
    			<h3>{PHP.L.af_referals}:</h3>
    			<table class="cells">
    				<tr>
    					<td class="coltop width20">{PHP.L.Registered}</td>
    					<td class="coltop width20">{PHP.L.Username}</td>
    					<td class="coltop width20">{PHP.L.af_num_orders}</td>
    					<td class="coltop width20">{PHP.L.af_orders_summa}</td>
    					<td class="coltop width20">{PHP.L.More}</td>
    				</tr>
    <!-- BEGIN: LIST_ROW -->
    				<tr>
    					<td class="centerall">{LIST_ROW_REF_REG_DATE}</td>
    					<td class="centerall">{LIST_ROW_REF_NAME}</td>
    					<td class="centerall">{LIST_ROW_REF_NUM_ORDERS}</td>
    					<td class="centerall">{LIST_ROW_REF_SUMMA}</td>
    					<td class="centerall">{LIST_ROW_REF_DETAILS}</td>
    				</tr>
    <!-- END: LIST_ROW -->
    			</table>
    		</div>
    <!-- END: REFERALS -->
    			
    <!-- IF {PHP.usr.id} == {PHP.urr.user_id} -->
    			
    <!-- Блок просмотра партнерских начислений -->
    		<div class="block">
    {AFF_ORDER_STATS}
    			<p class="paging">
    				<span class="a1">{AFFILIATE_EARNED_SUMMA}</span>
    			</p>
    		</div>
    
    <!-- Блок просмотра покупок -->
    		<div class="block">
    {ORDER_STATS}
    		</div>
    			
    <!-- Блок просмотра выплат -->
    		<div class="block">
    {AFF_PAYMENTS}
    			<p class="paging">
    				<!-- IF {AFF_REQUEST_PAYMENT} -->
    					<span class="a1">{AFF_REQUEST_PAYMENT}</span>
    				<!-- ENDIF -->
    				<!-- IF {AFF_REPORTS_REFERALS} -->
    					<span class="a1">{AFF_REPORTS_REFERALS}</span>
    				<!-- ENDIF -->
    				<!-- IF {AFF_REPORTS_ORDERS} -->
    					<span class="a1">{AFF_REPORTS_ORDERS}</span>
    					<!-- ENDIF -->
    				<!-- IF {AFF_REPORTS_PAYMENTS} -->
    					<span class="a1">{AFF_REPORTS_PAYMENTS}</span>
    				<!-- ENDIF -->
    			</p>
    		</div>
    	
    <!-- ENDIF -->
  5. В структуре сайта создать раздел shop для товаров.
  6. В шаблон page.edit.tpl добавить код для редактирования цены и суммы партнерского начисления:
    <tr>
    	<td>{PAGEEDIT_FORM_PRICE_TITLE}:</td>
    	<td>{PAGEEDIT_FORM_PRICE}</td>
    </tr>
    <tr>
    	<td>{PAGEEDIT_FORM_AFFILIATE_GET_TITLE}:</td>
    	<td>{PAGEEDIT_FORM_AFFILIATE_GET}</td>
    </tr>
  7. Установить и настроить плагин Pay Interkassa. В шаблоне товара (page.shop.tpl) разместить блок:
    <!-- IF {PAGE_PRICE} -->
    	<p>{PAGE_PRICE_TITLE}: {PAGE_PRICE} ({PAGE_PRODUCT_PAY})</p>
    <!-- ENDIF -->