LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 14:38:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Интеграция модуля авторизации Loginza в Jcomments  (Прочитано 2029 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« : 22.10.2011, 05:25:12 »

Обнаружил очень хороший модуль авторизации loginza.ru, под него на Joomla уже написаны модули и компоненты http://goo.gl/b4LSs.
Я решил ввести цензуру на сайте, проч анонимности, пусть заходят под своими логинами (теперь это просто) и пишут комментарии.

В настройках jcomments отключил возможность добавлять отзывы не зарегистрированным.
Сейчал это стало выглядеть так:
http://s009.radikal.ru/i308/1110/16/0c3347f2b382.gif

Что я хочу! Чтобы внизу комментариев была ссылка входа (через модуль авторизации http://goo.gl/b4LSs):
http://s13.radikal.ru/i186/1110/ac/a67448db8306.gif

И чтобы была аналогичная ссылка для выхода:
http://s014.radikal.ru/i329/1110/ba/a45d3af6b446.gif

Т.е. нужно встроить в компонент Jcomments простой модуль авторизации.
Подскажите как реализовать?
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #1 : 24.10.2011, 05:45:16 »

Вообщем нужно как то вставить такую ссылку в поле "Недостаточно прав для комментирования":

Установите следующий HTML-код на страницу Вашего сайта:

<a href="https://loginza.ru/api/widget?token_url=[RETURN_URL]" class="loginza">Войти через OpenID</a>

Где: [RETURN_URL] - URL-адрес страницы куда будет возвращен пользователь после успешной авторизации или в случае ошибки. Нужно указать полный URL-адрес с http:// или https://, предварительно кодированный PHP функцией urlencode().


Помогите, готов отблагодавить!
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #2 : 26.10.2011, 05:20:36 »

Народ, помогите, заплачу денег!
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #3 : 26.10.2011, 11:21:21 »

А в чем проблема вставить ссылку в поле с сообщением? Там же HTML поддерживается... Или проблема в указании URL текущей страницы (т.е. куда вернуться после авторизации)?
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #4 : 26.10.2011, 11:35:56 »

проблема в указании URL текущей страницы (т.е. куда вернуться после авторизации)?
1. да, это и есть проблема.
2. Ну и хотелось бы полностью интегрировать модуль, чтобы его не нужно было активировать в меню->модуль, а чтобы он сразу в jcomments был.
Но основная проблема в п.1.
« Последнее редактирование: 26.10.2011, 11:39:00 от aivas » Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #5 : 26.10.2011, 11:46:43 »

Ну можно сделать простое и быстрое решение.

В файле /components/com_jcomments/tpl/default/tpl_form.php найдите код:
Код
	function getMessage( $text )
{
if ($text != '') {

и замените на:
Код
	function getMessage( $text )
{
if ($text != '') {
$text = str_replace('{url}', $this->getVar('thisurl'), $text);
 

После этого в тексте сообщения можете использовать {url} как тег, который будет заменен на ссылку, на текущую страницу.


« Последнее редактирование: 26.10.2011, 12:08:49 от smart » Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #6 : 26.10.2011, 12:01:16 »

Сделал все как вы написали. Перестали загружаться страницы, которые используют jcomments
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #7 : 26.10.2011, 12:09:06 »

Я там скобочку пропустил, исправил в предыдущем сообщении.
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #8 : 26.10.2011, 12:28:47 »

Ссылка получается, все генерируется, но сам модуль через эту ссылку не работает. Sad
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #9 : 26.10.2011, 12:30:52 »

А, ее же через url_encode надо прогнать. Замените в моем коде:

Код
$text = str_replace('{url}', $this->getVar('thisurl'), $text);
на
Код
$text = url_encode(str_replace('{url}', $this->getVar('thisurl'), $text));
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #10 : 26.10.2011, 12:38:15 »

ссылка нормально генегируется, но сам модуль не работает, вход не происходит Sad
там еще какие то данные передаются... я в программировании не силен...
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #11 : 26.10.2011, 17:32:22 »

Ну тут уж я не знаю, чем вам помочь. Нужна была ссылка - я помог, сделал ссылку...
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #12 : 26.10.2011, 19:46:33 »

уважаемый smart, нужна полная интеграция модуля в компонент jcomments.
т.е. чтобы после поля "Недостаточно прав для комментирования" выводился модуль компонента loginza http://goo.gl/b4LSs для j1.5.
Готов заплатить вам денег за такую модификацию. Писал вам в ЛС. Жду ответа.
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #13 : 26.10.2011, 19:58:03 »

Хм, а в чем проблема вставить вызов модуля в шаблон комментариев? Можно в тот же файл (tpl_form.php) заменить:

Код
	function getMessage( $text )
{
if ($text != '') {
?>
<a id="addcomments" href="#addcomments"></a>
<p class="message"><?php echo $text; ?></p>
<?php
}
}
 
на

Код
	function getMessage( $text )
{
if ($text != '') {
?>
<a id="addcomments" href="#addcomments"></a>
<p class="message"><?php echo $text; ?></p>
<?php
$user = JFactory::getUser();
if (!$user->id) {
jimport('joomla.application.module.helper');
$module = JModuleHelper::getModule('mod_loginza');
echo JModuleHelper::renderModule($module);
}
}
}
 
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #14 : 26.10.2011, 20:25:09 »

ОООО, отлично, работает. Входит нормально (сделал так http://s13.radikal.ru/i186/1110/ac/a67448db8306.gif). Только кнопки выхода нету Sad
Как кнопочку выхода пользователя добавить (http://s014.radikal.ru/i329/1110/ba/a45d3af6b446.gif)?
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #15 : 28.10.2011, 01:28:26 »

icq944277 Задача немного другая. Мне нужно встроить модуль в компонент jcomments. Она частично решена (см. верхн. посты), т.е. вход интегрировал, спасибо smartу.
Осталось интегрировать выход и все будет ок. Жду совета нашего гения Azn

п.с. то, что вы привели по ссылке, это старый модуль с глюками, тот который привел я, более новый.
Записан
aivas
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 49


« Ответ #16 : 30.10.2011, 06:29:17 »

не... не то.

Это все один модуль mod_loginza. После того, как мы выполнили вход на сайт, этот модуль (mod_loginza) начинает исполнять функции (mod_login).
Т.е. mod_login мы вообще не трогаем.

Нам нужно вставить этот же модуль (mod_loginza) после кнопки отправить.

То, что привели в пример вы не подходит, т.к. function getMessage( $text ) не выполняется после того, как мы осуществили вход. (function getMessage выводит сообщение для незарегистрированных, а так как мы зарегистрировались (вошли), нам это сообщение не показывается).

т.е. глобально нужно
1. активировать этот модуль (mod_loginza) в "Недостаточно прав для комментирования" до того как мы зашли на сайт. ВЫПОЛНЕНО.
2. активировать этот модуль (mod_loginza) после кнопки "отправить", после того, как мы зашли на сайт.
Записан
Rimlyanin
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #17 : 08.12.2011, 09:46:01 »

Пытаюсь прикрутить к Jcomments модулю авторизации Loginza,
сделал как написано выше, но появилась следующая проблема:
В настройках модуля стоит "Показывать форму входа - нет" и "Форма входа - большие картинки", но в Jcomments выводится почему форма входа как текст и также выводится форма входа, т.е. "логин, пароль, восстановить пароль" и т.д.
Такое предположение что настройки модуля игнорируются.
Как это побороть?

Спасибо
Записан
logon
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 45



« Ответ #18 : 23.04.2012, 18:07:17 »

Код
$text = url_encode(str_replace('{url}', $this->getVar('thisurl'), $text));

Приветствую, задача у меня та же, вот ссылку не могу вставить для логинзы в комментах на текущую страницу.
Вставить нужно : <a href="https://loginza.ru/api/widget?token_url=http://[RETURN_URL]" class="loginza"> вместо [RETURN_URL], пытался пробовать как вы писали, но ссылка не генерируется.
Joomla 2.5 - JC 2.3
Подскажите как можно реализовать...
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #19 : 26.04.2012, 22:57:06 »

А зачем интегрировать логинзу в комментарии? Я же сделал вам модуль, чем не подходит?
Записан
logon
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 45



« Ответ #20 : 27.04.2012, 00:48:17 »

А зачем интегрировать логинзу в комментарии? Я же сделал вам модуль, чем не подходит?

Для удобства пользователей. Да собственно нужно только с ссылочкой разобраться, чтобы возвращало на тек. страницу. А так все прекрасно работает, спасибо за расширение.
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #21 : 27.04.2012, 04:54:57 »

Посмотри как сделано в модуле. Код открыт, все видно.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet