Joomla 4. Компонент K2 и форк K2ForJ4 (18 янв 2024)

Если вас, как и меня, достало выслушивать (вычитывать) бесконечные обещания разработчика K2 опубликовать версию компонента K2 под Joomla 4 (без чего невозможно реализовать апгрейд from Joomla 3 to Joomla 4) - воспользуйтесь форком K2ForJ4. Который в данный момент установлен и без каких-либо проблем работает на этом веб-сайте.

Перенаправление после регистрации в Joomla 1.5

Больше
11 года 11 мес. назад #1 от RomanA
Немного не в тему, но, может быть, подскажете, как заставить стандартный модуль регистрации направлять вновь зарегистрированного пользователя не на стартовую страницу сайта, а куда нужно мне?
При входе зарегистрированного пользователя всё нормально - входит туда, куда указано в модуле, и выходит куда надо. Alpha Registration для нас избыточна, а из прибамбасов стоит только плагин EasyCalkCheck. Joomla 1.5.22.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 3
Больше
11 года 11 мес. назад #2 от Aleksej
Что-то смутно припоминаю такое, но посмотреть уже нет возможности; Joomla 1.5 - в прошлом. Всем рекомендую обновление до актуальной версии: Joomla 2.5, без преувеличения, засверкала новыми красками и несомненно стоит того, чтобы вы потратили некоторое количество своего времени на возню с jUpgrade.

Если все же обновляться нет желания либо возможности; в помощь вам парочка плагинов, призванных в бытность решать эту проблему, пробуйте. Гарантий, вообщем, никаких, все это самоделки - loginredirect и plg_core_login_redirect . Но попробовать можно.

Либо попросту действуем следующим образом:

1. Открываем файл
Code:
/components/com_user/controller.php
2. Где-то в районе 288 строки ищем следующее:
Code:
$this->setRedirect(‘index.php’, $message);
3. Правим index.php, прописываем ту страничку, которую нужно.

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 11 мес. назад #3 от RomanA
Большое спасибо! Сейчас попробую.
На 2.5, думаю, рано или поздно придётся переходить, но не сейчас. Сайт большой, делался долго, вот и отстали...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #4 от feodor1691
Здрасьте всем! Ребят столкнулся с такой же проблемой. У меня сайт построен на Joomla 2.5, и после регистрации при первой авторизации новый пользователь попадает на страницу своего профиля. Я глянул подробную статистику посещений, и увидел что очень много новых пользователей уходят с сайта именно с этой страницы, переставая дальше просматривать сайт. А как вы понимаете это совсем не есть хорошо.
Я ещё не спец в сайтостроении и мне нужна ваша помощь по настройке.

Я нашёл файл controller.php но смог понять что именно там редактировать. Моя цель изменить его так, чтобы после первой авторизации новым пользователем он попадал на форум kunena 1.7. Прошу вас помочь мне. Заранее благодарю.

вот что находится в самом файле controller.php
Code:
/** * Base controller class for Users. * * @package Joomla.Site * @subpackage com_users * @since 1.5 */ class UsersController extends JControllerLegacy { /** * Method to display a view. * * @param boolean If true, the view output will be cached * @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}. * * @return JController This object to support chaining. * @since 1.5 */ public function display($cachable = false, $urlparams = false) { // Get the document object. $document = JFactory::getDocument(); // Set the default view name and format from the Request. $vName = JRequest::getCmd('view', 'login'); $vFormat = $document->getType(); $lName = JRequest::getCmd('layout', 'default'); if ($view = $this->getView($vName, $vFormat)) { // Do any specific processing by view. switch ($vName) { case 'registration': // If the user is already logged in, redirect to the profile page. $user = JFactory::getUser(); if ($user->get('guest') != 1) { // Redirect to profile page. $this->setRedirect(JRoute::_('index.php?option=com_users&view=profile', false)); return; } // Check if user registration is enabled if(JComponentHelper::getParams('com_users')->get('allowUserRegistration') == 0) { // Registration is disabled - Redirect to login page. $this->setRedirect(JRoute::_('index.php?option=com_users&view=login', false)); return; } // The user is a guest, load the registration model and show the registration page. $model = $this->getModel('Registration'); break; // Handle view specific models. case 'profile': // If the user is a guest, redirect to the login page. $user = JFactory::getUser(); if ($user->get('guest') == 1) { // Redirect to login page. $this->setRedirect(JRoute::_('index.php?option=com_users&view=login', false)); return; } $model = $this->getModel($vName); break; // Handle the default views. case 'login': $model = $this->getModel($vName); break; case 'reset': // If the user is already logged in, redirect to the profile page. $user = JFactory::getUser(); if ($user->get('guest') != 1) { // Redirect to profile page. $this->setRedirect(JRoute::_('index.php?option=com_users&view=profile', false)); return; } $model = $this->getModel($vName); break; case 'remind': // If the user is already logged in, redirect to the profile page. $user = JFactory::getUser(); if ($user->get('guest') != 1) { // Redirect to profile page. $this->setRedirect(JRoute::_('index.php?option=com_users&view=profile', false)); return; } $model = $this->getModel($vName); break; default: $model = $this->getModel('Login'); break; } // Push the model into the view (as default). $view->setModel($model, true); $view->setLayout($lName); // Push document object into the view. $view->assignRef('document', $document); $view->display();

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #5 от serge
Попробуй в

Code:
components/com_user/controller.php

в строчке, содержашей

Code:
$this->setRedirect

прописать, куда перенаправлять:

Code:
$this->setRedirect('здесь прописать новое перенаправление');

А я смогу! - А поглядим! - А я упрямый!
Спасибо сказали: feodor1691

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #6 от feodor1691
Cпасибо, serge! Я разобрался что адрес странички нужно прописывать в строчке $this->setRedirect. проблема в том что там таких строчек 4 или 5. так что в какой именно? . и ещё мне не до конца понятно как именно указывать там путь на новую страницу?... указывать через index.php?option или можно ссылкой?... моя цель: после первой авторизации на сайте пользователь должен попадать на форум. (на сайте установлен форум Kunena). Joomla 2.5

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад - 11 года 8 мес. назад #7 от serge
Ну а просто в модуле авторизации изменить дефолтное значение перенаправления после входа разве не судьба?

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 11 года 8 мес. назад пользователем serge.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад - 11 года 8 мес. назад #8 от feodor1691

serge пишет: Ну а просто в модуле авторизации изменить дефолтное значение перенаправления после входа разве не судьба?

Спасибо serge!!!! Видимо ты так классно разбираешься в языках программирования, что русское понимание у тебя начало устаревать. Если бы ты внимательно читал все посты, то ты бы заметил что я упоминал о том что проблема заключается в ПЕРВОЙ авторизации пользователя на сайте, а не с последующими входами на сайт. Настройка модуля авторизации позволяет настроить только последующие авторизации. а ПЕРВУЮ там настроить на получается. Именно поэтому я обратился за советом. Как настроить перенаправление после ПЕРВОЙ АВТОРИЗАЦИИ НА САЙТЕ. Спасибо за понимание.
Последнее редактирование: 11 года 8 мес. назад пользователем feodor1691.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #9 от serge

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


Русское понимание?
Великолепный многозначащий термин, за версту выдает виртуозное владение не токмо языками программирования, но и прилежание на уроках великого и могучего в начальной школе. :laugh:

Думаю, нет нужды повторять мою первую рекомендацию. Пошевели мозгами немного, там работы на пять минут. И, как "неспецу" - вторая рекомендация: не жди, что тебе все на форуме разжуют до отказа, нужно чуть-чуть и самому шевелить мозгами... хоть иногда. Спасибо за понимание и успехов в сайтостроении. :)

А я смогу! - А поглядим! - А я упрямый!
Спасибо сказали: feodor1691

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 8 мес. назад #10 от feodor1691
Безусловно придётся шевелить своими мозгами! америку не открыл.
Для одних форум - чтобы получить помощь или совет в решении сложившейся задачи, для других форум - средство "поумничать". Если я обратился за советом, наверно это может значить, что я предпринимал попытки решить свой вопрос, но они не увенчались успехом? Согласен?... или ты решил мне больше делать нечего как просто писать тут. А если ты не в силах оказать ту помощь или дать тот совет который решит мой вопрос, так зачем безтолку писать свои высказывания?... сумничал! молодец. иди возьми с полочки пирожок. Но всё равно тебе спасибо за стимул. теперь буду сидеть и ломать себе голову почему я такой дурак, не знаю того чего знаешь ты, и не хочешь этим делиться. Желаю чтобы оказавшись в тупиковой ситуации, тебе попались помощники не такие как ты. А те кому не в лом, разъяснить хоть и элементарные вещи! ведь не для всех они элементарные.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум