JomSocial - Перенос регистрации

58
4

Я работаю над jomsocial. Я установил плагин "Перенаправление регистрации для JomSocial" для перенаправления страницы регистрации на jomsocial registration. Я получаю страницу регистрации, но как только первый шаг в регистрации завершен, страница перенаправляется на страницу входа, на которой отображается сообщение "Пожалуйста, сначала войдите".

Это происходит, только если я отключу меню "Jomsocial", которое создается во время jomsocial установки.

Есть ли другой способ перенаправить страницу регистрации в jomsocial registration.

спросил(а) 2013-01-23T16:02:00+04:00 7 лет, 10 месяцев назад
1
Решение
59

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

Итак, вы попадаете на страницу регистрации и при нажатии следующей Joomla! принимает идентификатор пункта меню из пункта меню, упомянутого выше... это переназначает перенаправление на "Пожалуйста, сначала войдите". Просто проверьте свои пункты меню;)

ответил(а) 2015-07-24T21:46:00+03:00 5 лет, 4 месяца назад
42

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

Далее вы увидите, что посетитель, нажимая на ссылку, требующую входа в систему, будет отправлен на страницу входа с параметром & return с зашифрованным URL-адресом, на который он должен вернуться после входа в систему. Это не обрабатывается jomsocial плагином, просто изменение выглядит так:

файловые плагины/система /jomsocialredirect/jomsocialredirect.php

/**
* Method to override Login / Logout redirect
*/
private function overrideRedirectLoginLogout() {

$mainframe =& JFactory::getApplication();

$task = JRequest::getVar ( 'task' );
switch ($task) {
case 'user.login' : //Joomla 1.6 and later
case 'login' : /* on logging */
/**
* krz This next line restores working status of login redirects.
* (the purpose of jomsocialredirect plugin is to redirect after login, but some links for guests
* point to com_login with a return url set; if this is the case, the next line makes the feature work,
* otherwise it would be overridden;
* note: redirect is to be avoided on logout.
*/
if (JRequest::getVar('return','')!='') return;

if ($this->login ()) { /* we do login by self */
/* redirect if login success */
$link = $this->getMenuLink ( $this->pluginParams->get ( 'redirect_login', 1 ) );
$mainframe->redirect ( $link, JText::_ ( $this->pluginParams->get ( 'redirect_login_msg', 'LOGIN_SUCCESSFUL' ) ), 'message' );
} else {
/* redirect if login failed */
$link = $this->getMenuLink ( $this->pluginParams->get ( 'redirect_login_failed', 1 ) );
$mainframe->redirect ( $link, JText::_ ( $this->pluginParams->get ( 'redirect_login_failed_msg', 'LOGIN_FAILED' ) ), 'notice' );
}
break;
case 'user.logout' : //Joomla 1.6 and later
case 'logout' :
$link = $this->getMenuLink ( $this->pluginParams->get ( 'redirect_logout', 1 ) );
JFactory::getApplication ()->logout ();
$mainframe->redirect ( $link, JText::_ ( $this->pluginParams->get ( 'redirect_logout_msg', 'YOU_HAVE_LOGGED_OUT' ) ), 'message' );
break;

default :
/* override redirect after login / logout */
$view = JRequest::getVar('view','');
if ($view=='profile') {
$link = $this->getMenuLink ( $this->pluginParams->get ( 'redirect_login', 1 ) );
$mainframe->redirect ( $link);
}

break;
}
}

ответил(а) 2013-01-30T11:44:00+04:00 7 лет, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема