ALF002007 VIP
Total posts: 15
23 Июль 2017 18:59

Рад приветствовать!

Не смог разобраться, как ограничить пользователя по количеству публикаций отдельного типа статей?

Например: подписка на 5 публикаций(статья, объявление, отзыв и т.д.) Срок действия - бессрочно.

В мастер-классе по Эмеральду не разобрал, было ли?

Самостоятельно выставил ограничения: Универсальное правило управления достпа. Параметер ссылки view = form. И Параметер ссылки section_id = 9. Универсальное правило управления достпа. Параметер ссылки view = form. И Параметер ссылки type_id = 41.

И в Кобальте - ограничение на публикацию, с выбором нужного плана и количества публикаций.

Работает нестабильно. Позволяет осуществлять публикацию, заходя через различные пункты меню.

В смысле: кнопка публикации реализована через соответствующий модуль Кобальта. Так вот, если пользователь находится в разных пунктах меню, то при переходе через кнопку публикации не всегда имеет место переадресация на выбор плана и оплату. Случается страница создания статьи. И это при том, что в подписках все попытки создания исчерпаны.

Прошу помощи в этом вопросе: где-то я косячу, потому как, всё-таки, правильная работа компонента имеет место быть.

Заранее благодарен.

Последние изменения: 10 Авг 2017


ALF002007 VIP
Total posts: 15
25 Июль 2017 23:15

В общем, ситуация прояснилась. Если клиент покупает одну подписку, то всё идёт по плану: он публикует столько материалов, на сколько определено планом. Затем, снова покупка. Проблемы начинаются, когда клиент, не закончив активную подписку, покупает новую. В этом случае у него появляется возможность публикации неограниченного количества материалов. Причём, не имеет значения как подсчитывается период: с момента активации или с момента окончания предыдущей подписки. Подозреваю, тут ошибка в математике компонента (в той части, которая отвечает за общий подсчёт количества, ибо в основном, Эмеральд заточен именно на учёт времени), или в моей версии компонента))) Я пока играюсь с бета-10.

Есть ещё пара непонятных сценариев поведения, но точной корреляции я пока не выявил: например, после истечения подписки предлагается выбрать план, при выборе переводит на оплату, после оплаты сообщает об ошибке и снова предлагает выбрать план и т.д. до бесконечности. В то же время, подписка создаётся, но не активируется. Таким образом, мы получаем целую плеяду одинаковых и не активированных подписок. Платёжный шлюз offline. В настройках - автоматическая активация подписки.

Как-то так. Буду очень признателен за помощь.


Sergey
Total posts: 13,748
26 Июль 2017 04:50

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

Вторая проблема, можно добавить урл для редилекта при не успешной оплате на статью и там объяснить чно нужно делать.


ALF002007 VIP
Total posts: 15
10 Авг 2017 06:26

Здравствуйте, Сергей!

Большое спасибо Вам за ответ, однако, проблему разрешить не удалось.

Перепробовал все: с рестрикциями, без. Эксперементировал с разными периодами. Получается следующее: Если установлена активация по истечении предыдущего плана, то новый не активируется, пока не закончится предыдущий даже если все попытки исчерпаны(хочу обратить внимание - не закончится по времени). Но, если в течение этого периода уже были использованы все попытки, а нужно ещё, то, получается, что нужно ждать, пока не закончится срок, например, день. Другой вариант, если выставить короткий промежуток в час, то тогда могут остаться неиспользованные попытки. В случае, когда выставлена активация с момента покупки, то всё работает прекрасно, пока не случится покупка с не до конца использованным планом. Тогда можно получить вариант, когда пропадают предыдущие неиспользованные попытки. И ладно, бы так, на худой конец в саппорте можно вручную их компенсировать... Однако, происходит следующее: через новый план клиент получает неограниченную возможность публикации статей. На картинке я указал, как это происходит: Click here to link... Нижний план активирован, но неиспользован. Верхний активирован, использован, закрыт, однако, возможность публикации остаётся. Или, вот: Click here to link...

В принципе сценарий некорректного исполнения в этом и заключается. Полагаю, что в случае, когда выставлена активация по окончанию предыдущей подписки, нужно предусмотреть возможность отключения временного ценза для случая ограничения на количество использования.

Буду Вам очень признателен за возможное разрешение моей проблемы. Заранее благодарен, с уважением, Алексей.

P.S. Проверяю из разных учётных записей.

Выставляя срок подписки в час, чтобы можно было быстро определить поведение компонента, когда срок подписки истекает, всё работает как надо. Только не нужно ничего дополнительно докупать, лишь использовать имеющиеся попытки. Когда подписка заканчивается - неиспользованные попытки "сгорают" (Что, в общем-то не есть правильно).

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

При выставлении сроков 0, только что купленная подписка уже становится истёкшей и не допускает публикации. Проблема решается при использовании перекрёстных планов. Если при покупке новой подписки деактивировать все старые, то всё начинает работать по нужному сценарию. Остаётся, правда, нерешённым вопрос с неиспользованными попытками дезактивированных подписок. Он может быть реализован "в ручную" через саппорт.

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

Полагаю, что решению моей частной задачи мешает:

принудительное программное выставление временного ценза подписки и, соответственно, отсутствие возможности его отключения;

автоматическое переключение счётчика использованных подписок на новую, независимо, использованы ли попытки в старой.

Да-да, есть и такое явление: купил подписку, допустим, с двумя попытками, и тут же купил вторую, такую же. Обе активированы. Начинаешь публикации. И счётчик использованных начинается со второй подписки, тогда, как первая вообще остаётся нетронутой. Теперь, имеем полностью использованную вторую подписку: появляется индикатор, что она закрыта, счётчик использованных публикаций 2. Пробуешь ещё публикацию - позволяет. И счётчик использованных публикаций становится 3 и т.д. в то время, как первая подписка остаётся активна с нулевым счётчиком. Причём, результаты в случае установки в настройках активации "сразу" и активации по истечении срока предыдущей подписки тождественны (Только в первом случае мы имеем сразу активную вторую подписку, а во втором, она в состоянии ожидания, но счётчик использованных попыток всё равно начинает отсчёт со второй подписки).

Надеюсь, у меня получилось понятно изложить проблему. Буду Вам очень признателен за участие в её разрешении. С уважением, Алексей.


Sergey
Total posts: 13,748
10 Авг 2017 12:28

Нашел ошибку. Счас выложу новую версию поправленую.

Работает на Cobalt