miroveden
@miroveden

Как организовать частичную блокировку контента статьи?

Всем привет!
Сейчас модно делать на сайтах блокировку контента и ее разблокировку после подписки\шаринга\лайка\оплаты и т.д.
Вот интересно, а как такое можно организовать? Погуглив ничего не нашел, кроме плагина для вордпресс.
Поделитесь мыслями, как бы вы реализовали такое? Может есть ссылки на англоязычные ресурсы, в рунете не удалось найти ровным счетом ничего.
  • Вопрос задан
  • 834 просмотра
Реклама
Реклама
Решения вопроса 1
  • @aleksejjjj
    Не вдаваясь в подробности как все это сделать красиво - не понимаю о чем вопрос. Вот псевдокод на Laravel, думаю смысл поймете и легко переложите на любой другой движок:

    <!-- Если залогинен - видит всю статью, иначе первые 256 символов -->
    @if (Auth::user->check())
        {{ $article->text }}
    @else
        {{ mb_substr ( $article->text, 0, 256) }}
    
        <!-- UPD: бонус -->
        <script>alert('Войдите или зарегистрируйтесь чтобы прочитать статью полностью!');</script>
    @endif


    P.S. искренне не понимаю какого чуда тут ожидают 7 подписавшихся. Вроде вопрос то элементарный.
    Ответ написан
Пригласить эксперта
Ответы на вопрос 4
  • Eridani
    @Eridani
    Мимо проходил
    Ну как. Записывать в таблицу к юзеру значение, например, после успешной оплаты - оно позволяет ему просматривать этот контент, и в статье проверять, есть ли у текущего юзера это значение или нет.
    Ответ написан
  • VoidVolker
    @VoidVolker
    Никак. Это не несет какого-либо практического смысла и только мешает пользователям сайта, а так же снижает репутацию сайта в глазах пользователя. А кому надо скопировать — скопирует в любом случае. Два дополнительных клика для открытия текста в девтулз или принтскрин.
    Ответ написан
  • @Siberian_Bear
    Вообще да, я тоже не понимаю сложности вопроса. Программист я так себе, но это же вопрос логики.
    Я рекомендую в пользовательском редакторе сделать новый элемент "ограничитель" - т.е. пользователь указывает, где в теле текста вставить специфический тег. визуально тоже его отображаете.
    При каждом запросе на отображение текста:
    а) проверяете, есть ли у пользователя права на полный просмотр. если нет:
    б) текст берете из поля БД, рубите всё, что после тега "ограничителя" и формируете ответ.

    Вариант с двумя полями еще проще технически. Но авторам не так красиво, имхо. Конечно, они бы могли разные тексты сделать (сжатый анонс для бесплатного и полноценный платный, без этого самого анонса). Но это менее вероятно для такой задачи.

    И главное правило - никогда не отдавайте текст на клиент без проверок пользователя. Иначе, кому надо, вскроют.
    Ответ написан
  • teke_teke
    @teke_teke
    developer / me@alexmaslakov.me
    делите тело статьи на 2 части.

    если какое-то условие истинно, например, пользователь незалогиненный, то показываете 1ую часть.
    если залогинен, то 2 части.

    делать mb_substr не нужно потому что вы можете порезать её на полуслове или тэг обрезать.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Реклама