Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 153 Ответов
  • 13402 Просмотров
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Система баллов на сайте
« Ответ #120 : 09.02.2016, 17:51:34 »
2 b2z: а можно будет приобрести его для своего домена (без распространения, укажу куда),
но мне нужно правило начисления для обычных стандартных материалов для админки!

Насколько это трудоёмко исправить для данной цели?

Т.е. один из администраторов (определённая группа, имеющая узкий круг доступа в админке согласно прав группы) публикует материал, суперадмин его одобряет и ему начисляются баллы.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Система баллов на сайте
« Ответ #121 : 09.02.2016, 18:02:47 »
2 b2z: а можно будет приобрести его для своего домена (без распространения, укажу куда),
но мне нужно правило начисления для обычных стандартных материалов для админки!

Насколько это трудоёмко исправить для данной цели?

Т.е. один из администраторов (определённая группа, имеющая узкий круг доступа в админке согласно прав группы) публикует материал, суперадмин его одобряет и ему начисляются баллы.
Не думаю, что сложно. Напишите мне в личку мини-Т3 и бюджет ;)
*

Ishti39

  • Захожу иногда
  • 150
  • 8 / 1
Re: Система баллов на сайте
« Ответ #122 : 09.02.2016, 18:07:02 »
b2z, а вы сможете к AlphaUserPoints робокассу или другой какой нибудь агрегат прикрутить, для пополнения баланса?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Система баллов на сайте
« Ответ #123 : 09.02.2016, 18:25:47 »
b2z, а вы сможете к AlphaUserPoints робокассу или другой какой нибудь агрегат прикрутить, для пополнения баланса?
Возможно. Никогда с таким не работал, поэтому не могу утверждать, что смогу... Но в любом случае, браться не буду. Для таких сложных проектов сейчас нет времени.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #124 : 09.02.2016, 21:31:42 »
b2z, отписались Вам в личные сообщения.
-
Начали разбираться с созданием плагина, который позволит начислять баллы автору статьи, если под его статьёй будет размещён комментарий  другого пользователя (не автора статьи).
Ishti39, мы решили попробовать создать плагин на событие onJCommentsCommentAfterAdd, как советовал b2z в своём комментарии. В Ваш способ ещё не вникали.
-
Всем доброй ночи! Сможем заглянуть в тему завтра утром.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #125 : 19.03.2016, 20:38:21 »
Продолжаем разбираться с системой баллов на сайте.
Итого на данный момент:
1. Плюс балл за оставленный комментарий - решено
2. Плюс балл за полученный комментарий - требует решения
3. Плюс балл за за просмотр статьи (только новые просмотры) - решено
4. Минус балл за публикацию статьи - решено (спасибо программисту b2z http://joomlaforum.ru/index.php?action=profile;u=7180, который сделал для нас этот плагин!)

По функционалу осталось решить второй пункт. Способ, который предложил Ishti39 - не работает. Делаем сейчас плагин на событие onJCommentsCommentAfterAdd, как советовал b2z.
Как обычно, рады любой помощи и любому совету.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #126 : 20.03.2016, 03:07:08 »
Итак, нам нужно, чтобы автор материала получал балл за каждый комментарий, который оставит другой пользователь под этим материалом.

Создаём плагин comm_aup, который будет это делать. Берём за основу плагин, который нам сделал b2z. Смотрим, из каких файлов состоит сделанный плагин и свой плагин делаем по подобию.
-
Файлы нашего плагина comm_aup:
1. Файл comm_aup.xml
2. Папка language, в ней 2 подпапки:
- en-GB, которая содержит в себе 2 файла:
      en-GB.plg_content_comm_aup.ini
      en-GB.plg_content_comm_aup.sys.ini
- ru-RU, которая содержит в себе также 2 файла:
      ru-RU.plg_content_comm_aup.ini
      ru-RU.plg_content_comm_aup.sys.ini
3. Файл comm_aup.php


*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #127 : 20.03.2016, 03:24:27 »
Хотя, нет. Мы, кажется, пошли не тем путём. Покопались мы в правилах для AlphaUserPoints, которые предлагает нам компонент JComments: http://www.joomlatune.ru/jcomments-plugins.html#plg_jcomments_alphauserpoints
Нашли там правило, которое начисляет балл автору комментария, когда его комментарий получает положительный отзыв от другого пользователя. Думаем, что для нашей задачи (начислять балл автору статьи, когда под его статьёй оставит комментарий другой пользователь) это подойдёт.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #128 : 20.03.2016, 03:29:22 »
Идём в папку Z:\home\site_aup\www\plugins\jcomments\alphauserpoints\rules и, взяв за основу файл plgaup_jcomments_good_comment.xml, добавляем туда свой файл, который мы назвали plgaup_jcomments_author_comment.xml.

Вот содержание это файла:
Код
<?xml version="1.0" encoding="utf-8"?>
<alphauserpoints type="plugin">
    <rule>Author Comment</rule>
    <description>Assign points to the author when a user adds a comment</description>
    <component>com_jcomments</component>
    <plugin_function>plgaup_jcomments_author_comment</plugin_function>
    <fixed_points>true</fixed_points>
</alphauserpoints>
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #129 : 20.03.2016, 03:44:51 »
Дальше смотрим файл alphauserpoints.php, который находится здесь: Z:\home\site_aup\www\plugins\jcomments\alphauserpoints
Вот его содержание:
Спойлер
[свернуть]
В этот файл нам нужно внести изменения, согласно нашей задаче. Место, куда вносим изменения - это function onJCommentsCommentAfterAdd(&$comment) , как мы понимаем...
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #130 : 20.03.2016, 04:42:18 »
А вот тут мы застопарились. Рассуждаем вслух:

- Есть автор статьи (А)
- Есть другой пользователь (П)
- Есть комментарий другого пользователя под статьёй автора (КомП)

Нам нужно начислить балл автору за то, что другой пользователь (не автор) оставил комментарий под статьёй автора.
-
Когда нужно начислить балл просто автору комментария - здесь всё просто и понятно - получаешь id текущего пользователя, на которое начисляешь баллы:
Спойлер
[свернуть]

А в нашем случае какие переменные будут участвовать в запросе? Подскажите, пожалуйста, - любой наводке будем рады. Мозги уже плавятся, честное слово.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #131 : 20.03.2016, 05:12:22 »
Или, может быть, мы и здесь не тем путём пошли?
Ещё раз просмотрели правила, которые есть в компоненте AlphaUserPoints. Нашли правило, которое мы уже используем, кстати, в нашей системе баллов по прямому назначению: Читатель Автору (sysplgaup_reader2author). Это правило позволяет начислять баллы автору за просмотры его статьи. А нам нужно правило, которое позволяет начислять баллы автору за комментирование его статьи. Звучит практически "один в один".)
Ушли смотреть код этого плагина.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #132 : 20.03.2016, 05:23:30 »
Приводим код плагина Читатель Автору (sysplgaup_reader2author):
Спойлер
[свернуть]

Подскажите, пожалуйста, что нам всё-таки брать за основу? Что будет проще всего?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Система баллов на сайте
« Ответ #133 : 20.03.2016, 08:24:20 »
Спойлер
[свернуть]


Походу нужно заменить оригинальную функцию в onAfterCommentAdded и начисления вроде и от гостей должно быть автору тоже, и от зарегенных.
Не имею возможность пока проверить.
Нашёл функцию в просторах.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #134 : 20.03.2016, 17:08:08 »
vipiusss, отличный совет, спасибо!)

Мы немножко видоизменили  функцию: сделали так, чтобы в раскладке аккаунта пользователя отдельно отображалось зачисление баллов за полученный комментарий и отдельно - за оставленный.

Вот так выглядит подправленная нами функция function onJCommentsCommentAfterAdd:
Спойлер
[свернуть]

А во так - сам файл alphauserpoints.php (Z:\home\site_aup\www\plugins\jcomments\alphauserpoints):
Спойлер
[свернуть]
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #135 : 20.03.2016, 17:16:37 »
Вот скрин таблицы из раскладки аккаунта пользователя, которая отображает зачисления и списания баллов.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Система баллов на сайте
« Ответ #136 : 20.03.2016, 17:18:50 »
Вы писали: Вот так выглядит подправленная нами функция function onJCommentsCommentAfterAdd:

По-моему вы моё же случайно продублировали, а не скопировали изменённый.

Ну в любом случае в общем файле видно и рад что помог и у вас наконец-то получился данный пункт в вашем "ТЗ".
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #137 : 20.03.2016, 17:27:55 »
Есть в новой функции неприятность: когда автор статьи оставляет комментарий у себя под статьёй, то ему плюсуются баллы "за полученный комментарий". А нам нужно, чтобы баллы автору плюсовались ото всех, кто оставит комментарии, кроме самого автора. Подскажите, пожалуйста, как нам это исключение правильно прописать в функции?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #138 : 20.03.2016, 17:35:57 »
Цитировать
По-моему вы моё же случайно продублировали, а не скопировали изменённый.

vipiusss, мы скопировали изменённый. Этот код практически такой же, как тот, который вы нам дали. Мы в нём всего лишь 2 строчки поменяли:
Код
function onAfterCommentAdded(&$comment, &$response)
заменили на
Код
function onJCommentsCommentAfterAdd(&$comment, &$response)
и
вместо
Код
AlphaUserPointsHelper::userpoints('plgaup_jcomments_add_comment', $aupid);
написали
Код
AlphaUserPointsHelper::userpoints('plgaup_jcomments_author_comment', $aupid);

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

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Система баллов на сайте
« Ответ #139 : 20.03.2016, 17:58:45 »
Про изменения понял:просто подумал вы там глобально что-то меняли и в буквочки не стал приглядываться.

А про неприятность, тут думаю надо дополнять выше if/else.

Если ID не равно автору, то гоу на функцию новую, иначе ретурн. как то так.
Пока на ум ничего не приходит и я вожусь в другом коде.

Попробуйте условие на ID выше дописать.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #140 : 20.03.2016, 20:57:55 »
vipiusss, пробуем делать как Вы сказали. Знаний не хватает, конечно.
Вот что имеем сейчас:
Спойлер
[свернуть]

Не понимаем, как выставить условие "ID не равно автору".
Мы так поняли, что для начала нам нужно получить id текущего пользователя:
Код
$user = & JFactory::getUser();
, - правильно?
« Последнее редактирование: 20.03.2016, 21:10:26 от mila_serdnaya »
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #141 : 20.03.2016, 21:13:27 »
Гости данной темы, у кого какие соображения есть? Не стесняйтесь, подсказывайте нам, пожалуйста!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Система баллов на сайте
« Ответ #142 : 20.03.2016, 21:46:04 »
$user = &JFactory::getUser();
if ($user->author ) {
   echo "Внимание! Поинты автору не начисляются!";
} else {
   наша функция;
}

как-то в этом роде, только синтаксис правильный согласно вашего кода.
Но уверен есть лучше решение запрета и грамотнее, подождите, может ответят.
« Последнее редактирование: 20.03.2016, 22:01:15 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Система баллов на сайте
« Ответ #143 : 20.03.2016, 22:12:37 »
Не знаком с вашим компонентом, но по логике скорее всего так
Спойлер
[свернуть]
Попробуйте. Если не получится, то возможно так
Спойлер
[свернуть]
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #144 : 20.03.2016, 22:43:09 »
robert, первый вариант кода, который Вы написали - срабатывает на отлично! =) Второй уже тогда не проверяем.
Спасибо Вам за такую реальную помощь!
Действительно, теперь, когда автор статьи оставляет комментарий у себя под статьёй, то ему баллы "за полученный комментарий" уже не начисляются .
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #145 : 20.03.2016, 22:47:18 »
Вот файл alphauserpoints.php (Z:\home\site_aup\www\plugins\jcomments\alphauserpoints), который имеем сейчас:
Спойлер
[свернуть]

*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #146 : 20.03.2016, 22:57:48 »
Правило "за полученный комментарий" теперь работает корректно.
-
А вот правило "за оставленный комментарий" (plgaup_jcomments_add_comment) сейчас плюсует баллы всем, кто оставит комментарий. В это правило тоже нужно внести изменения и сделать так, баллы плюсовались только за комментарии, оставленные под чужими статьями.
То есть нужно, чтобы баллы автору плюсовались за любой его комментарий, кроме тех, которые он оставляет под своим материалом.
Мы так понимаем, что снова нужно править function onJCommentsCommentAfterAdd(&$comment, &$response)...
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #147 : 20.03.2016, 23:00:18 »
Итак, функция, которую нужно поправить:
Спойлер
[свернуть]

Мы так понимаем, нужно править вот это место в функции:
Код
if ($comment->userid) {
AlphaUserPointsHelper::userpoints('plgaup_jcomments_add_comment');
}
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #148 : 20.03.2016, 23:09:54 »
Мы понимаем, что задачка-то, вроде бы аналогичная...
Наверное, нам нужно сначала получить автора...
Код
if(!($user->id==$authorid)){
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Система баллов на сайте
« Ответ #149 : 20.03.2016, 23:50:34 »
Ой, кажется получилось!!)))
Посмотрите, пожалуйста, правильно ли мы по аналогии записали код:
Спойлер
[свернуть]

Вот этот кусочек, в частности:
Код
if(!($comment->userid==$authorid)){
AlphaUserPointsHelper::userpoints('plgaup_jcomments_add_comment');
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Правило AlphaUserPoints 1.8.9 снятие баллов за продление объявления в AdsManager 2.9.13

Автор Ishti39

Ответов: 34
Просмотров: 6675
Последний ответ 08.01.2016, 17:12:10
от Ishti39
Начисление баллов за вступление вгруппу

Автор Dusk09

Ответов: 0
Просмотров: 1418
Последний ответ 11.08.2015, 23:58:23
от Dusk09
При начислении баллов исчезает группа пользователей

Автор Yavich

Ответов: 6
Просмотров: 2699
Последний ответ 09.03.2015, 16:03:10
от hazyin
Как добиться максимального количества способов покупки баллов в AUP?

Автор PREMIER

Ответов: 8
Просмотров: 2479
Последний ответ 19.05.2014, 16:19:34
от AdWeb
Добавить количество баллов рейтинга AlphaUserPoints после имени пользователя

Автор etos

Ответов: 2
Просмотров: 1542
Последний ответ 16.03.2014, 11:05:21
от Quatrix