Подписка на уведомления
В модуле есть 2 вида подписки:
Полная - когда пользователь делиться контактом с ботом (при первом взаимодействии
/start
), тогда по всем заказам с телефоном пользователя будут приходить уведомления

Единичная - когда после заказа он переходит по ссылке https://t.me/MyBotNAME?start=GUID (где MyBotNAME - username вашего бота, а GUID - уникальный идентификатор заказа) из письма или на странице после оформления заказа, тогда пользователю приходят только те заказы на которые он подписался
Внимание! При единичной подписке не доступен полный функционал бота и он всегда будет видеть кнопку "Поделиться контактом"
При полной подписк, пользвоателю не нужно подписываться на заказы, т.к. они будут автомтом привзяаны к предсоатвленному боту номеру телефона
В XML данные Shop_Payment_System_Handler (страница завершения заказа, письма о заказе) попадают следующие параметры (если пользователь не был подписан ранее, определяется по телефну казанному в заказе):
isSubscribeTg - POST['telegramSubscribe'] параметр передаваемый из корзины (например если пользвоатель выбрал в корзине подписаться)
telegram_link - ссылка https://t.me/MyBotNAME?start=GUID (где MyBotNAME - username вашего бота, а GUID - уникальный идентификатор заказа)

/**
* ТДС Интернет-магазин корзина
* Добавим в контроллер Shop_Address_Controller_Show активность модуля, чтобы при отключени модуля не выводить в корзине подписку на telegram
*/
$Shop_Address_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('telegrambotIsActive')
->value(Core::moduleIsActive('telegrambot'))
);
<!-- XSL шаблон "МагазинАдресДоставки" -->
<xsl:if test="telegrambotIsActive = 1">
<div class="custom-control custom-switch mb-3">
<input type="checkbox" class="custom-control-input" id="telegramSubscribe" name="telegramSubscribe" />
<label class="custom-control-label" for="telegramSubscribe" style="color:#0088cc;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" height="16" fill="currentColor"><path d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z"/></svg> Подписаться на уведомления в Telegram</label>
</div>
</xsl:if>
<!-- XSL шаблон "ОплатаПриПолучении" или "ПисьмоПользователю"-->
<xsl:if test="telegram_link">
<div class="alert alert-warning">Ссылка для подписки на уведомления в Telegram <a class="alert-link" href="{telegram_link}" target="_blank">подписаться</a></div>
</xsl:if>
<xsl:if test="isSubscribeTg = 1 and telegram_link">
<script type="text/javascript">setTimeout(function(){window.open('<xsl:value-of select="telegram_link"/>')}, 500);</script>
</xsl:if>
Last updated