Доступ к подфоруму всем, но темы в нём могут читать только зарегистрированные.
Запрещать видеть подфорум гостям - это не всегда удачно, так как о его существовании могут и не узнать вообще, даже если вы где-то напишите об этом, а наложенный пароль может свести с ума Пользователей.
Чтобы Гостям дать возможность видеть подфорум, зайти в него, видеть список тем и количество страниц, НО НЕ ЧИТАТЬ ТЕМЫ (вылетает сразу как входит в тему), нужно:
1. Активировать функцию "Использовать шаблон для настройки вида сообщений:" (Модуль "Форум" - "Настройки форума");
2. Далее там же "настроить шаблон", либо "Управление дизайном" - "Вид сообщений";
3. Осторожненько смотрим и ищем код $MESSAGE$;
4. Параллельно смотрим id подфорума (с каким работаем) можно узнать из ссылки, (на примере этот подфорум id=6 так как //forum.ucoz.ru/forum/ 6);
5. И перед кодом (или после) $MESSAGE$ пишем:
<?if($USER_LOGGED_IN$)?><?if($FID$=6)?>пригодится <?endif?> <?else?> <?if($FID$=6)?><meta http-equiv="refresh" content="1; url=http://ссылка куда выкинуть Гостя"><?endif?> <?endif?>
Где:
пригодится - может быть любой текст который будет виден только зарегистрированным, его можно оформить хоть как, если не нужно, то убирайте или оставьте поле пустым;
<?if($FID$=6)?> - может быть не один, а работать на несколько подфорумов и запись будет выглядеть примерно так <?if($FID$=6 or $FID$=8 or $FID$=12)?>
content="1; - через сколько секунд выкинуть гостя как только он войдет в тему;
Однако, если в подфоруме разрешено постить гостям, то он автоматически является там $USER_LOGGED_IN$ и его не выкинет (можно использовать $GROUP_ID$), так же напомню, что время content="1; сработает тогда, когда вся страничка темы загрузится и если там есть картинки, то пока они не загрузятся Гостя не выкинет. Рекомендую для ссылки (куда выкинуть) создать страницу с описанием почему он туда попал, чем просто выкидывать его на Главную страницу форума и он останется не в понядках.
Выкидывать гостей вообще из всех тем форума.
Пусть форум видят все, список тем читают тоже, но из всех тем выкидывать гостей, то делается аналогично, только проще. Единственное, нужно работать с общим дизайном и использовать <?if($PAGE_ID$="threadpage")?>. Вставить (применив только к гостям) в любом месте шаблона, не важно, тег <meta http-equiv="refresh" content="1; url=http://ссылка куда выкинуть Гостя">, он не виден и действует в любой части.