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

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как подставить значения полей CommunityBuilder 2.0.x в форму ChronoForms 5?

 (Прочитано 381 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MrAlexSid
Осваиваюсь на форуме
***

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

Сообщений: 46



« : 21.10.2015, 13:27:10 »

Есть форма заявки на обучение. Зарегистрированные пользователи уже имеют некоторые данные на сайте (Имя, Email, Телефон и т. п.).
Как подставить значения полей CommunityBuilder (или хотя бы пользователей Joomla) в форму ChronoForms 5.
Данные не обязательно должны быть видны в форме. Главное, чтобы они приходили на почту.
На форуме нарыл такое:
Код:
$cbUser = & CBuser::getInstance( $userId );
 if( ! $cbUser ) {
  $cbUser =&CBuser::getInstance( null );
 }
 $user=$cbUser->getUserData();
 if ( ! $user ) {return;}
 ЗНАЧЕНИЕ_ПОЛЯ = $user->ИМЯ_ПОЛЯ;
и
Код:
  global $database;
  $sql = "SELECT (ИМЯ_ПОЛЯ) FROM #__comprofiler WHERE id= {$userId}";
  $database->setQuery( $sql );
  ЗНАЧЕНИЕ = $database->loadResult();
Я в этом плохо разбираюсь, но как понял, это получение значений из базы данных CB. Возможно нужен ещё где нибудь, какой нибудь код.
Собственно, что и куда нужно вставлять? На примере одного поля, если можно поподробнее. Если знаете, где такой вопрос описан, дайте пожалуйста ссылку.
Заранее спасибо!
Записан
MrAlexSid
Осваиваюсь на форуме
***

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

Сообщений: 46



« Ответ #1 : 27.10.2015, 17:26:27 »

С CommunityBuilder не разобрался, но удалось вытащить данные из #__users
Я в форму добавил Пользовательский код (Custom Code)
Код:
<?php
$user =& JFactory::getUser();
$name = '';
$email = '';
$readonly = '';
if ( $user->id > 0 ) {
  $name = $user->name;
  $email = $user->email;
  $readonly = "readonly='readonly'";
}
?>

<div class="form-group gcore-form-row" id="name_container_div" style="">
  <label class="control-label gcore-label-left required_label" for="name">Ф.И.О.:</label>
  <input class="form-control A" id="name" maxlength="150" size="30" class=""
    title="" value=" <?php echo $name; ?> " name="name"
    type="text" <?php echo $readonly; ?> />
  <div class="clear"></div>
  <div id="error-message-name"></div>
</div>

<div class="form-group gcore-form-row" id="email_container_div" style="">
  <label class="control-label gcore-label-left required_label" for="email">Email:</label>
  <input class="form-control A" id="email" maxlength="150" size="30" class=""
    title="" value=" <?php echo $email; ?> " name="email"
    type="text" <?php echo $readonly; ?> />
  <div class="clear"></div>
  <div id="error-message-email"></div>
</div>
Код <?php echo $readonly; ?> делает поле input доступным только для чтения. Уберите, чтобы разрешить редактировать.
Если пользователь не авторизован, будут показаны обычные текстовые поля для заполнения.
Если хотите скрыть в форме Ф.И.О. и (или) Email, добавьте в стили блоков style="display: none;"

Соответственно в почте нужно добавить строчки:
Код:
<table>
<tr><td>Ф.И.О.:</td><td>{name}</td></tr>
<tr><td>Эл. почта:</td><td>{email}</td></tr>
</table>

Источник: http://www.chronoengine.com/faqs/58-cfv4/cfv4-elements-and-html/3119-how-can-i-ask-new-users-for-information-and-not-ask-logged-in-users.html
« Последнее редактирование: 27.10.2015, 18:31:59 от MrAlexSid » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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