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

fruxxx

  • Новичок
  • 6
  • 0 / 0
Письмо приходит такое:

Цитировать
A new user has registered at http://www.тралала and requires approval.
This email contains their details

Name - блабла
E-mail - блабла
Username - блабла

Please do not respond to this message as it is automatically generated and is for informational purposes only.

Как поправить текст я знаю, но вот по поводу полей уже замучался.
CB отправляет письма через стандартные механизмы Joomla.

Есть такой файл controller.php в котором есть такой код

Цитировать
// Send notification to all administrators
      $subject2 = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
      $subject2 = html_entity_decode($subject2, ENT_QUOTES);

      // get superadministrators id
      foreach ( $rows as $row )
      {
         if ($row->sendEmail)
         {
            $message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username, $rname);
            $message2 = html_entity_decode($message2, ENT_QUOTES);
            JUtility::sendMail($mailfrom, $fromname, $row->email, $subject2, $message2);
         }
      }
   }
}

Я чувствую, что менять нужно что то здесь, но ничего не получается. >:(
В CB у меня есть поля которые имеют имя, типа cb_company,cb_phone и т.д. Как мне их сюда включить, ведь они не хранятся в таблице юзверей, а находятся в таблице jos_comprofiler_fields.

P.S.:Было бы просто здорово, если есть такой плагин(ткните носом пожалуйста)
Увы, сам я такого плагина не нашел :(
*

migus

  • Завсегдатай
  • 1000
  • 144 / 0
  • OPEN THE BOX
Не уверен, что поможет, но порпробуйте это: Bixie Userinfo Displayer

- удачи ;)
"The Lord Of A SandBox"
*

fruxxx

  • Новичок
  • 6
  • 0 / 0
Спасибо migus, но не прокатил твой совет(

Вобщем есть такой компонент Angkor
Найти можно тут:
http://extensions.joomla.org/extensions/communities-a-groupware/user-management/7154

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

Но опять неприятность: для CB он не правит письма, т.к

Попробовал зарегистрироваться стандартной регистрацией, пришло исправленное письмо.
Попробовал зарегистрироваться через CommunityBuilder - стандартное письмо.

Где можно изменить такое вольное поведение CommunityBuilder?
Или может какой радикальный метод еще у кого созрел?

Как добавить дополнительные поля при регистрации пользователей разобрался.
А вот как добавить дополнительные поля в сообщение администратору не смог.
Помогте пожалуйста добавить дополнительные поля в письмо администратору с уведомлением о новом пользовалете.
administrator\components\com_users\controller.php  есть строки:

 function _sendMail(&$user$password)
	
{
	
	
global 
$mainframe;

	
	
$db
	
	
=& 
JFactory::getDBO();

	
	
$name 
	
	
$user->get('name');
	
	
$email 
	
	
$user->get('email');
	
	
$username 
	
$user->get('username');

	
	
$usersConfig 
	
= &
JComponentHelper::getParams'com_users' );
	
	
$sitename 
	
	
$mainframe->getCfg'sitename' );
	
	
$useractivation $usersConfig->get'useractivation' );
	
	
$mailfrom 
	
	
$mainframe->getCfg'mailfrom' );
	
	
$fromname 
	
	
$mainframe->getCfg'fromname' );
	
	
$siteURL
	
	
JURI::base();

	
	
$subject 
	
sprintf JText::_'Account details for' ), $name$sitename);
	
	
$subject 
	
html_entity_decode($subjectENT_QUOTES);

	
	
if ( 
$useractivation == ){
	
	
	
$message sprintf JText::_'SEND_MSG_ACTIVATE' ), $name$sitename$siteURL."index.php?option=com_user&task=activate&activation=".$user->get('activation'), $siteURL$username$password);
	
	
} else {
	
	
	
$message sprintf JText::_'SEND_MSG' ), $name$sitename$siteURL);
	
	
}

	
	
$message html_entity_decode($messageENT_QUOTES);

	
	
//get all super administrator
	
	
$query 'SELECT name, email, sendEmail' .
	
	
	
	
' FROM #__users' .
	
	
	
	
' WHERE LOWER( usertype ) = "super administrator"';
	
	
$db->setQuery$query );
	
	
$rows $db->loadObjectList();

	
	
// Send email to user
	
	
if ( ! 
$mailfrom  || ! $fromname ) {

	
	
}

	
	
JUtility::sendMail($mailfrom$fromname$email$subject$message);

	
	
// Send notification to all administrators
	
	
$subject2 sprintf JText::_'Account details for' ), $sitename$name$email$username);
	
	
$subject2 html_entity_decode($subject2ENT_QUOTES);

	
	
// get superadministrators id
	
	
foreach ( 
$rows as $row )
	
	
{
	
	
	
if (
$row->sendEmail)
	
	
	
{
	
	
	
	
$message2 sprintf JText::_'SEND_MSG_ADMIN' ), $row->name$sitename$name$email$username);
	
	
	
	
$message2 html_entity_decode($message2ENT_QUOTES);
	
	
	
	
JUtility::sendMail($mailfrom$fromname$row->email$subject2$message2);
	
	
	
}
	
	
}
	
}



дополнительные поля добавленные в окно регистрации administrator\components\com_users\config.xml  и users.xml

 
	
	
<
param name="familia" type="text" label="Фамилия" size="50" />
	
	
<
param name="telefon" type="text" label="Телефон" size="50" />
	
	
<
param name="datanr" type="text" label="Дата рождения" size="50" />

Помогите пожалуйста добавить поля в письмо. Или подскажите в каком направлении копать..

*

nado

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
1. В файле /components/com_user/controller.php в самом конце найди строчки

Цитировать
// get superadministrators id
foreach ( $rows as $row )
{
   if ($row->sendEmail)
      {
      $message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username);
      $message2 = html_entity_decode($message2, ENT_QUOTES);
      JUtility::sendMail($mailfrom, $fromname, $row->email, $subject2, $message2);
      }
}

После $username - вставь название своего поля, у меня вышло так:
Код
$message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username, $phone);

2. В файле /language/ru-RU/ru-RU.com_user.ini
Код
SEND_MSG_ADMIN=Здравствуйте, %s!\n\nНовый пользователь зарегистрирован на сайте «%s».\n\nПараметры учетной записи:\n\nИмя - %s\ne-mail - %s\nЛогин - %s\n\nПожалуйста, не отвечайте на это сообщение, оно было сгенерировано автоматически и только для информации.

Добавь после поля логин поле, которое тебе нужно.
Код
SEND_MSG_ADMIN=Здравствуйте, %s!\n\nНовый пользователь зарегистрирован на сайте «%s».\n\nПараметры учетной записи:\n\nИмя - %s\ne-mail - %s\nЛогин - %s\nТелефон - %s\n\nПожалуйста, не отвечайте на это сообщение, оно было сгенерировано автоматически и только для информации.

У меня работает :)
*

kapets

  • Новичок
  • 4
  • 3 / 0
nado забыл упомянуть про дикларацию своего поля

В файле /components/com_user/controller.php
после
Код
$username 	= $user->get('username');
(у меня строка 487)

вставить своё поле. получится следующее
Код
$username 	= $user->get('username');
$pole = $user->get('pole');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двоеточие после название поля

Автор Sleem

Ответов: 4
Просмотров: 3887
Последний ответ 16.02.2019, 19:02:44
от Dufresne
Отправка загруженого файла пользователем на email администратору

Автор Gorilla

Ответов: 0
Просмотров: 1926
Последний ответ 10.06.2018, 12:47:30
от Gorilla
Как перевести собственные поля на другой язык? Для чего название поля?

Автор Sirius02030

Ответов: 0
Просмотров: 1561
Последний ответ 12.01.2017, 23:30:51
от Sirius02030
Зависимые поля в CB

Автор motordrom

Ответов: 0
Просмотров: 1475
Последний ответ 08.05.2016, 15:49:08
от motordrom
Уведомление администратору о регистрации

Автор Sergey2

Ответов: 0
Просмотров: 1219
Последний ответ 01.09.2015, 20:22:43
от Sergey2