Мне кто нибудь поможет??

ребята помогите мне!!! вот я только только скачал движок! и у меня есть масса вопросов!
Скажите как мне сделать так:«Вот есть стандартный плагин Static page вот через него я сделал страницу! как мне сделать так чтобы к этой странице имели доступ только зарегистрированные пользователи а гости не могли ее увидеть! ну или просто перенаправлялись к регистрации!?»как мне так сделать!??! прошу помогите!

12 комментариев

avatar
1. Можете спрятать ссылку в меню на свою стат. страницу.
Заметь всё содержимое файла:
site.ru/plugins/page/templates/skin/default/main_menu.tpl
На это:
{foreach from=$aPagesMain item=oPage}
    {if $oUserCurrent}
        <li {if $sAction=='page' and $sEvent==$oPage->getUrl()}class="active"{/if}>
            <a href="{router page='page'}{$oPage->getUrlFull()}/" >{$oPage->getTitle()}</a><i></i>
        </li>
    {/if}
{/foreach}

Т.е. добавляем условие проверки пользователя на предмет регистрации.

2. Можете спрятать и всё содержимое стат.страницы.
Заменить всё содержимое файла:
site.ru/plugins/page/templates/skin/default/actions/ActionPage/page.tpl
На это:
{assign var="noSidebar" value=true}
{include file='header.tpl'}
{if $oUserCurrent}
<div class="topic">
	<div class="topic-content text">
		{if $oConfig->GetValue('view.tinymce')}
			{$oPage->getText()}
		{else}
			{if $oPage->getAutoBr()}
				{$oPage->getText()|nl2br}
			{else}
				{$oPage->getText()}
			{/if}
		{/if}
	</div>
</div>
{else}
    Этот текст увидят не зарегистрированные пользователи.
{/if}
{include file='footer.tpl'}


P.S.: Только что вы будете делать, если вдруг захотите создать ещё несколько статических страниц, которые не захотите прятать от гостей? Данное условие будет применяться ко всем стат.страницам…
avatar
а почему??
avatar
Скажите а как сделать это только для одной страницы??
avatar
или в plugins/page/classes/actions/ActionPage.class.php
находим
protected function EventShowPage() {

после, добавляем
if(!$this->User_GetUserCurrent()){
    return Router::Location(Config::Get('path.root.web').'/registration/');
}
avatar
if(!$this->User_GetUserCurrent()){
    Router::Location(Config::Get('path.root.web').'/registration/');
}

простите, return лишний
avatar
а как мне сделать только для одной страницы?!
avatar
if($this->sCurrentEvent=='about' and !$this->User_GetUserCurrent()){
    Router::Location(Config::Get('path.root.web').'/registration/');
}

about — ссылка на страницу (site.ru/page/about)
avatar
можно поподробнее!?
avatar
непонятно просто!
avatar
Что не понятно? По умолчанию в меню сайта (то что на самом верху) присутствует статическая страница с названием «about». Данная страница имеет ссылку: site.ru/page/about/.

Далее читаем пост #comment261757 и потом #comment261762
avatar
я опять ни чего не понял! прошу вас помогите!
avatar
Все все догнал!!! спасибо огромное!!! ура слава
DrugDealer урааа!!!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.