Василий

Василий

+2
Репутация
0
Рейтинг
#1 Регистрация + группа (компонент) 16 декабря 2018 в 21:29


Нет такого хука.

Василий
как нет? вот ссылка на репозиторий github.com/instantsoft/icms2/blob/master/system/controllers/auth/actions/register.php#L197, аналогично если включена проверка почты

github.com/instantsoft/icms2/blob/master/system/controllers/auth/actions/verify.php#L55

use strict;)

Это хук на перехват события
#2 Регистрация + группа (компонент) 16 декабря 2018 в 21:07


Может я не так вас поняла,

@Milyana

Не так. Я про компонент "Группы", не группы пользователей.
#3 Регистрация + группа (компонент) 16 декабря 2018 в 21:05


есть хук user_registered, туда передаётся массив $user, в нём интересующие данные

use strict;)

Нет такого хука.
#1 Регистрация + группа (компонент) 16 декабря 2018 в 20:09
Здравствуйте уважаемые форумчане!

У меня такая проблема:

При регистрации нового пользователя, нужно сделать дополнительную запись в БД.
У меня включены в регистрации группы пользователей. И проблема состоит в том, что записей в БД ещё нет.

Мне нужно сделать следующее условие;

  1.  
  2. if (Если пользователь выбрал группу "А") { // Как поставить условие, я не знаю???
  3. то он (пользователь) автоматически становится членом группы "1" (Компонент "Группы"); // Это я сам сделаю
  4. }
  5. if (Если пользователь выбрал группу "Б") { // Как поставить условие, я не знаю???
  6. то он (пользователь) автоматически становится членом группы "2" (Компонент "Группы"); // Это я сам сделаю
  7. }
  8.  
В файле system/controllers/users/model.php в методе addUser есть вот это:

  1. $groups = !empty($user['groups']) ? $user['groups'] : array(DEF_GROUP_ID);
Я так понимаю, что он отвечает за то, какую группу прописать в БД

Но как определить ту самую группу, какую выбрал пользователь я не знаю.
#5 Не работают новости InstantCMS в админке 22 августа 2018 в 23:29
Ха! Всё довольно просто
Убрать WWW в ссылках.

В файле "system/controllers/admin/actions/load_icms_news.php" в начале есть ссылки на rss.
  1.  
  2. private $news_link = array(
  3. 'icms' => '/rss/content/2/feed.rss',
  4. 'icms_blogs' => '/rss/blogs/all/feed.rss',
  5. 'icms_docs' => 'http://docs.instantcms.ru/feed.php'
  6. );
  7.  
Вот в этих ссылках нужно убрать WWW. Что бы было вот так:
  1.  
  2. private $news_link = array(
  3. 'icms' => 'http://instantcms.ru/rss/content/2/feed.rss',
  4. 'icms_blogs' => 'http://instantcms.ru/rss/blogs/all/feed.rss',
  5. 'icms_docs' => 'http://docs.instantcms.ru/feed.php'
  6. );
  7.  
#6 Не работают новости InstantCMS в админке 22 августа 2018 в 23:16
Мне тоже это не нравится.
#7 Лента активности 2 марта 2018 в 18:09
Вот ещё для групп

Вывод ленты в профили групп.
Открыть файл:
system/controllers/groups/actions/group.php

И ниже этого:
  1. public function run($group){
вставить это:
  1.  
  2. // Лента
  3. $activity_controller = cmsCore::getController('activity', $this->request);
  4. $activity_controller->model->filterEqual('group_id', $group['id']);
  5. // Получаем HTML списка записей
  6. $activity_html = $activity_controller->renderActivityList($page_url);
  7.  
Далее ищем это:
  1.  
  2. return $this->cms_template->render('group_view', array(
  3. 'group' => $group,
  4. 'fields_fieldsets' => $fields_fieldsets,
  5. 'user' => $this->cms_user,
  6.  
И ниже ставим это:
  1. 'activity_html' => $activity_html,
На этом всё.

Далее идём в шаблон.
Открыть файл:
templates/Ваш шаблон/controllers/groups/group_view.tpl.php

И в нужном месте вставить это:
  1.  
  2. <div class="group_profile_activity">
  3. <?php echo $activity_html; ?>
  4. </div>
  5.  
Я надеюсь со стилями сами разберётесь
#8 Лента активности 1 марта 2018 в 15:34
Вывод ленты в профили пользователей.
Открыть файл:
system/controllers/users/actions/profile.php

Найти там это:
//
// Стена
//
И чуть выше вставить это:
  1.  
  2. //
  3. // Лента
  4. //
  5. $user = cmsUser::getInstance();
  6. $activity_controller = cmsCore::getController('activity', $this->request);
  7. $activity_controller->model->filterEqual('user_id', $profile['id']);
  8.  
  9. if ($user->id != $profile['id'] && !$user->is_admin){
  10. $activity_controller->model->filterHiddenParents();
  11. }
  12.  
  13. // Получаем HTML списка записей
  14. $activity_html = $activity_controller->renderActivityList($page_url);
  15.  
Далее ищем это:
  1.  
  2. return $this->cms_template->render('profile_view', array(
  3. 'profile' => $profile,
  4. 'user' => $this->cms_user,
  5. 'is_own_profile' => $this->is_own_profile,
  6. 'is_friends_on' => $this->options['is_friends_on'],
  7. 'tool_buttons' => $this->getToolButtons($profile),
  8. 'show_all_flink' => isset($this->tabs['friends']),
  9. 'friends' => $friends,
  10. 'content_counts' => $content_counts,
  11. 'fields' => $fields,
  12.  
И ниже ставим это:
  1. 'activity_html' => $activity_html,
На этом всё.

Далее идём в шаблон.
Открыть файл:
templates/Ваш шаблон/controllers/users/profile_view.tpl.php

И в нужном месте вставить это:
  1.  
  2. <div class="user_profile_activity">
  3. <?php echo $activity_html; ?>
  4. </div>
  5.  
Я надеюсь со стилями сами разберётесь
#9 Лента активности 28 февраля 2018 в 11:32

пордон в профиле как сделать чтобы отоброжалась лента только моя — моих действий

@tirlako
Вы имеете ввиду отображение ленты в профилях пользователей?
#10 Название блога 22 февраля 2018 в 22:17


Создал группу. Поля логотип и обложка это нужно. Посты привязал к группам и теперь в группах добавилось поле ПОСТ.
В постах — "связь с группами" — "создание в группах" поставил галочку. Записи появились во вкладке БЛОГ.
Я ничего не пропустил? Что еще можно сделать?

@Freddy
Один умный человек сказал: Создай голосовой интерфейс и мир создаст ещё более тупого юзверя.

Не каждый пользователь смекнёт, что из групп можно сделать блог. Да и с настройками нужно возится. Ведь в группу можно вступить, но нельзя подписаться.
Поэтому вконтакти разделили группы на части. Группы, страницы (блоги) и мероприятия.
Нужно просто сделать так же. Чтобы пользователь мог выбрать что создавать, группу или блог.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.