Искать  
 
   
 
как сделать платный доступ к отдельным статьям?
Отправлено: 20 Апрель 2009 11:59 A.M.   [ Игнорировать ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Есть платные статьи. На главной странице или странице категории показывается поле summary и стоимость. При попытке открыть статью полностью появляется предупреждение, что она платная с координатами платежных систем. Необходимо как-то сделать, чтоб при оплате открывалась именно эта отдельно взятая статья отдельно взятому зарегистрированному человеку.
1. Какая платёжная система лучше/удобнее? (я пока ноль в этом)
2. Как узнать, что оплачена именно ДАННАЯ статья ?
3. Как сделать, чтоб процесс был автоматизирован и мне поступало уведомление, что абонент с таким-то логином оплатил такую-то статью. И может ему какой-то код присылается для получения доступа к статье? Но код не должен быть одинаковым для всех, а должен как-то генерироваться.
4. Плюс надо создать группу Friends, которым разрешён просмотр всех статей.

Если есть идеи/предложения — пишите. Была ещё речь о платном модуле, на который надо скидываться. Но какие задачи будет тот модуль выполнять? Подойдёт ли он мне? Да и когда это ещё будет?

Профиль
 
 
Отправлено: 20 Апрель 2009 01:54 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

С этим сложность - ничего готового для ЕЕ (как впрочем и для Wordpress’a, Drupal’a, DLE) я не встречал. Везде, где введено что-то подобное, доступ обычно ко всем статьям. И обычно это пост-активация - пользователь перевел, админ авторизовал.  Как исключение -  сайты использующие сервисы принимающие оплату по SMS, там уже есть свой функционал для защиты отдельных статей (но процент комиссии там 40-55%).
Думаю закрыть доступ к конкретной статье можно 2 способами:
1. Генератор кода - хэш который должен в себя включать id статьи и id пользователя. Алгоритм должен быть закрытым, так что это вам нужно придумывать.
2. Таблица доступа клиент<->стать, куда уже вручную или автоматически будет заноситься запись о покупке.

Но если кратко - в любом случае это очень частный случае, даже когда мы сделаем модуль работы с платежными системами, под ваш конкретный случай его придется подтачивать отдельно. А если сейчас разрабатывать с 0, то это от 300-400$ и выше (в зависимости от используемых платежных систем)

 Подпись 

booooring…

Профиль
 
 
Отправлено: 20 Апрель 2009 02:28 P.M.   [ Игнорировать ]   [ # 2 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Я делал немного что-то подобное. На сайте можно было скачивать фильмы с оплатой по sms. Но там было все просто. Пользователю предлоаегсят отправить текст на номер. Потом приходит в ответ число(все этими ответами занимался sms сервис). После ввода чила я уже перенаправлял на страницу php. Где код сверялся(запрос отправлялся на sms сервис) и решалось что ему выдавать. В моем случае это был архив. Но там вроде бы была какая-то база на sms сервисе, в которой хранился весь каталог фильмов и получалось, что ссылку выдавал не я, а sms сервис

Профиль
 
 
Отправлено: 20 Апрель 2009 02:47 P.M.   [ Игнорировать ]   [ # 3 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Подумаю. Может статьи по мылу посылать, потому что реально действительно пока не ясен алгоритм. Боюсь даже на плагин 400$ я не заработаю на статьях - инженеры у нас жадные))). А может и не надо для них ничего писать. Сами умные...

Профиль
 
 
Отправлено: 21 Апрель 2009 08:38 A.M.   [ Игнорировать ]   [ # 4 ]
Студент
RankRank
Всего сообщений:  140
Зарегистрирован  2008-01-02

Можно через модуль Simple Commerce. Он предназначен для изменения группы участника (типа оплатил и автоматически перешел в группу, которая, например, может видеть ВСЕ статьи).

Фишка в том, что этот модуль высылает письмо пользователю после оплаты. В письмо можно включить поле из статьи. В статье в это поле вбить наугад  цифры. Таким образом, покупатель статьи получит ссылку с сегментом, в котором будет это число (а также сегмент указывающий, что это ссылка на купленную статью, и сегмент с номером статьи). Или таким образом посылать ему весь текст статьи.

Покупатель как обычно переходит по ссылке, EE считывает URL, если код совпадает с кодом в поле статьи, она отображается.

Единственно, как придумать, чтобы не надо было хранить эту ссылку с письмом. Наверное, проще всего модуль Favorites задействовать. При заходе по ссылке и совпадении кода программа через SQL заносит статью в Favorites (ссылки должны содержать поле кода и каждый пользователь должен видеть только свои Favorites).

P.S. Проблема во всех случаях, что письмо может и затеряться. Поэтому лучше делать экстеншн (или хак; надо посмотреть, если хук), чтобы после отправки письма в Favorites заносилась эта статья.

Профиль
 
 
Отправлено: 22 Апрель 2009 04:34 P.M.   [ Игнорировать ]   [ # 5 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

а как хотя бы такое сделать:
скрывать от всех, кроме админа и группы friends, часть записей (можно и вместе с названиями категорий).
Есть статус Закрыто, но мне самой и френдам как тогда смотреть их на сайте, если не в админке. Поэтому Закрыто не подходит.

Профиль
 
 
Отправлено: 22 Апрель 2009 04:49 P.M.   [ Игнорировать ]   [ # 6 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

ну 1ое - можно в зависимости от группы включать или  status=“close” в шапку вывода записей. 2ое - можно сделать отдельный веблог, где вы будуте по умолчанию включать отображение записей из закрытой группы, а с помощью того же условия по группе (или к примеру LG Access (Restrict To)) вы будете закрывать доступ к странице от посторонних глаз. В общем - море способов и все ваши....

 Подпись 

booooring…

Профиль
 
 
Отправлено: 22 Апрель 2009 05:05 P.M.   [ Игнорировать ]   [ # 7 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

LG Access закрывает доступ в зависимости от группы на все статьи (например, если я его включу в темплейт comments), т.е. на всё, что открывается темплейтом, куда он прописан.
Мне нужен способ, чтоб на отдельные отмеченные (неким флажком) статьи был закрыт доступ, вернее чтоб не показывалось поле body при открытии статьи целиком (комментарии можно показывать).
Буду тестить.

Профиль
 
 
Отправлено: 22 Апрель 2009 06:37 P.M.   [ Игнорировать ]   [ # 8 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

Можно посмотреть эти расширения:
http://expressionengine.com/forums/viewthread/55942/
http://expressionengine.com/forums/viewthread/106304/

Есть еще модуль - http://www.solspace.com/docs/c/Permission
но его релиза у них еще нет :(

Профиль
 
 
Отправлено: 22 Апрель 2009 09:18 P.M.   [ Игнорировать ]   [ # 9 ]
Member
RankRankRank
Всего сообщений:  158
Зарегистрирован  2008-01-21

Делала без расширений пока.
1. Добавить к статусам Open и Closed дополнительный статус protected.
Open — видны всем. Closed — закрыты всем. Protected — видны мне и друзьям, видно только summary для остальных.
2. создаём два embeds темплейта. Их задача показать summary для любой из групп, а вот body показывается только друзьям и себе.
—-2.1. Темплейт bodyFriends для группы 1 (админ, т.е. я) и группы 7 (т.е. друзья)

{exp:weblog:entries limit="1" disable="member_data|trackbacks" track_views="one" status="not closed"}
<h1>{title}</h1>
<
h5>{date_heading}{entry_date format=' %l, %d.%m.%Y @ %H:%i |'}{/date_heading}
{categories}
<a href="{path=site_index}">{category_name}</a> &#8226; {/categories}
{if allow_comments}<a href="{comment_url_title_auto_path}">[{comment_total}]</a>{/if} Просмотров{view_count_one}
<br><img src="http://bestann.com.ru/themes/tag_themes/default/images/tag.gif">
{exp:tag:tags entry_id="{entry_id}" type="weblog" backspace="2"}<a href="{path='site/tag'}{websafe_tag}" title="{tag}">{tag}</a>, {/exp:tag:tags}</h5>
<
div>
{exp:search_hilite}
{summary}
{body}
{extended}
{
/exp:search_hilite}
</div>
{paginate}<div class="paginate">Страница {current_page} из {total_pages} {pagination_links}</div>{/paginate}
{
/exp:weblog:entries} 

——2.2 Темплейт для остальных bodyOthers

{exp:weblog:entries limit="1" disable="member_data|trackbacks" track_views="one" status="not closed"}
<h1>{title}</h1>
<
h5>{date_heading}{entry_date format=' %l, %d.%m.%Y @ %H:%i |'}{/date_heading}
{categories}
<a href="{path=site_index}">{category_name}</a> &#8226; {/categories}
{if allow_comments}<a href="{comment_url_title_auto_path}">[{comment_total}]</a>{/if} Просмотров{view_count_one}
<br><img src="http://bestann.com.ru/themes/tag_themes/default/images/tag.gif">
{exp:tag:tags entry_id="{entry_id}" type="weblog" backspace="2"}<a href="{path='site/tag'}{websafe_tag}" title="{tag}">{tag}</a>, {/exp:tag:tags}</h5>
<
div>
{exp:search_hilite}
{summary}
{
/exp:search_hilite}
<h5><b>Если не видите основной текстзначит эта статья открыта только для меня и для друзей. </b>
Для получения статьи (бартерденьгисвязаться  со мной по e-mail <a href="mailto:bestann@yandex.ru">bestann@yandex.ru</a>
 
или оставить личное сообщениеБесплатно помогаю исключительно инвалидамстарикам и детям.</h5>
{/exp:weblog:entries}

{exp
:weblog:entries limit="1" disable="member_data|trackbacks" track_views="one"}
{exp
:search_hilite}
{body}
{extended}
{
/exp:search_hilite}

</div>
{paginate}<div class="paginate">Страница {current_page} из {total_pages} {pagination_links}</div>{/paginate}
{
/exp:weblog:entries} 

3. В темплейт comments подставляем нужные вспомогательные темплейты:

{if member_group==OR member_group==7}
{embed
="embeds/bodyFriends"}
{if
:else}
{embed
="embeds/bodyOthers"}
{
/if} 

Проблема: предупреждающий текст

<h5><b>Если не видите основной текстзначит эта статья открыта только для меня и для друзей. </b>
 
Для получения статьи (бартерденьгисвязаться  со мной по e-mail <a href="mailto:bestann@yandex.ru">bestann@yandex.ru</a>
 
или оставить личное сообщениеБесплатно помогаю исключительно инвалидамстарикам и детям.</h5

должен появляться только если не появилось поле body. Но если его в шаблоне 2.2 вставлять после

{exp:weblog:entries limit="1" disable="member_data|trackbacks" track_views="one"

то он вообще не показывается, если статус записи protected. Т.е. предупреждающий текст не виден, если не видно и поле body, и виден, если тоже видно поле body. Мне же надо, чтоб он появлялся ВМЕСТО поля body. Можно так сделать?

Идеально было бы, если бы работала комбинация if status=.... Но не работает.

Профиль