2014-01-15 3 views
2

У меня есть отдельная статья, и я хочу отображать часть содержимого только в зарегистрированной группе пользователей, а другая часть - в пользовательскую группу пользователей.Ограничение содержимого Joomla 3

Я уверен, что я прочитал статью, иногда ИНТ он в прошлом году об этом без плагина (Хотя я могу быть неправильно помнящие статью)

Возможно ли это без расширения, используя что-то вдоль этих линий?

{содержание группы Зарегистрированная}

+0

Насколько я знаю, эта функция не входит по умолчанию с Joomla, и поэтому вам придется использовать 3rd плагин партии. Обычно я рекомендую несколько примеров хороших расширений, основанных на предыдущем опыте, однако мне никогда не нужно было этого делать. – Lodder

+0

Это взломанный взлом, но если это всего лишь одна статья, вы можете создать два настраиваемых модуля HTML с разными уровнями доступа, соответствующими вашим двум группам, и использовать loadposition для их отображения (за исключением того, что у пользователей нет доступа к выигрышу) т). – Elin

+0

Спасибо Элин, но моя проблема скрывает его после регистрации пользователя. Я вручную одобряю учетные записи, но как только я изменю их на более высокий уровень, модуль для Registered все еще показывает. Нет ACL для просмотра. – Kray

ответ

-2

В итоге я использовал плагин jContentHider. В то время как я все еще занимался некоторыми работами, я работал так, как я хочу.

Для других заинтересованы:

jContentHider on GitHub

+0

Просто обновление, что это решение работает хорошо для меня. – Kray

+0

Вы можете попробовать это также http://joomdonation.com/joomla-extensions/membership-pro-joomla-membership-subscription.html – Apurv

+0

@Apurv, что ссылка - 404 – Kray

0

Вы можете создать категорию (с ограниченным доступом) говорят Registered. Создайте еще одну категорию с ограниченным доступом: Paid_Access.

Теперь для каждой статьи создайте две статьи - одну в категории Registered, содержащую только текст вставки и другую полную статью в категории Paid_Access.

Создание уровней группы доступа и доступа с таким же именем

Иерархия уровней доступа будет выглядеть следующим образом:

  • Public
    • Зарегистрирован
      • Paid_Access

Установите категорию Registered на уровень доступа Registered. Установите категорию Paid_Access на уровень доступа Paid_Access

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

Когда пользователь осуществит платеж, переместите пользователя на уровень доступа Paid_Access. Пользователи этого уровня могут просматривать всю статью.

Создание двух статей для каждой новой статьи может быть громоздким, чтобы уменьшить эту боль, вы можете создать пользовательскую форму с помощью ChronoForms. Эта форма должна содержать две текстовые области для статьи - для текста Intro и другой полной статьи (без текста Intro). Форма при сохранении сама создаст две статьи: одну в Registered и другую в Paid_Access. Таким образом, ваша боль от создания двух статей исчезнет!

+0

Спасибо Apruv, но моя проблема заключается не в том, чтобы скрывать и показывать контент. Это то, что я не могу скрыть что-то настроенное для отображения в зарегистрированной группе из более высоких групп. Скрыть от общественности легко. – Kray

+0

Пожалуйста, уточните мой обновленный ответ. – Apurv

-2

Вы можете сделать это с помощью CSS, если ваш шаблон добавляет уровень доступа в качестве класса на теле или html (my do). Хотя любой, у кого есть firebug или инспектор кода, может отображать содержимое, если они думают посмотреть на источник.

<body class="registered"> 
// other code up to article content 
<div id="articleContent"> 
    // this is now in your article 
    <div class="hidefrompaid"> 
    // content for registered users 
    </div> 
    <div class="hidefromregistered"> 
    // content for paid users 
    </div> 
</div> 
... 

Тогда ваш CSS будет:

body.registered .hidefromregistered { 
display:none; 
} 

body.paid .hidefrompaid { 
display:none; 
} 

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

jQuery('body.registered').find('.hidefromregistered').remove(); 

jQuery('body.paid').find('.hidefrompaid').remove(); 
+0

Это было бы очень занятно, так как есть деньги. – Apurv

+0

Я использовал только платный пример, он просто сказал обычай, мы не знаем, заплачено ли оно. Это быстрый и грязный способ сделать это. И кроме того, капитализм убивает. То, что такое kiddish, это комментарии на SO. – pathfinder

0

Это невозможно без плагина.

Причина: Когда Joomla готовит контент, то есть должно быть функцией (код snipet), который определяет текст, заключенный в теги {контент} и решить, что делать с этим текстом и, соответственно, редактирует содержимое.

Я разработал Content Plugin, это поможет вам https://github.com/jitendra-khatri/jcontenthider для настройки вашего сценария.

Смежные вопросы