Skip to content

Доп.поле в админку

Здрасть. Помогите решить задачку. Хожу где-то рядом с решением, а вот найти не могу.

 

В админке есть список неактивированных. Очень хочется в этом списке увидеть одно из дополнительных полей у юзеров.

 

Чего добился:

Таблица для поля рисуется, как вытащить из БД содержимое дополнительного поля?

 

Вот что видно в админке:

post-16245-1232814642_thumb.png

 

А вот кусок кода, отвечающий за отрисовку таблицы:

//===========================================================================
// Member: validating
//===========================================================================
function member_validating_row( $r="" ) {
$IPBHTML = "";
//--starthtml--//

$IPBHTML .= <<<EOF

 <td class='tablerow2'><a href='{$this->ipsclass->vars['board_url']}/index.php?showuser={$r['id']}'><strong>{$r['members_display_name']}</strong></a>{$r['_coppa']}<div class='desctext'>IP: <a href='{$this->ipsclass->base_url}&section=content&act=mtools&code=learnip&ip={$r['ip_address']}'>{$r['ip_address']}</a></div></td>
 <td class='tablerow1'>......</td>
 <td class='tablerow1'>{$r['email']}</td>
 <td class='tablerow1'><span style='color:green'>{$r['_where']}</span><br />{$r['_entry']}<div class='desctext'>{$r['_days']} дней и {$r['_rhours']} часов назад</div></td>
 <td class='tablerow1' align='center'>{$r['posts']}</td>
 <td class='tablerow1'>{$r['_joined']}</td>																
 <td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
EOF;

//--endhtml--//
return $IPBHTML;
}

Что надо нарисовать тут

<td class='tablerow1'>......</td>

чтоб из доп.поля вытащить инфу?

 

Чего тока не рыл - не получается. Видать не силён я в пхп...

Featured Replies

  • Author

Угу, на этом форуме народ тож нифига не знает... жаль :D

Знают. Вы только для начала скажите, кто вас научил править шаблоны в кеш-файлах? Нужно через админцентр, почитайте документацию.

 

Нарисовать там можно {$r['field_1']}, {$r['field_2']} и т.д., номер можно узнать из адресной строки страницы редактирования нужного доп. поля. Это годиться, если поле текстовое, если там выбор -- то будет несколько сложнее. Чтобы эти поля появились в массике $r их нужно добавить в запрос информации о пользователях из БД, см. ./sources/action_admin/member_tools.php, нужно добавить выделенное:

			$this->ipsclass->DB->build_query( array( 'select' 	=> 'v.*', 
												 'from' 	=> array( 'validating' => 'v' ), 
												 'where' 	=> "v.lost_pass=0 AND m.mgroup={$this->ipsclass->vars['auth_group']}".$q_extra,
												 'order'	=> $col . ' ' . $ord,
												 'limit'	=> array( $st, 75 ),
												 'add_join'	=> array(
												 					array(
												 							'select' 	=> 'm.name, m.mgroup, m.members_display_name, m.ip_address, m.id, m.email, m.posts, m.joined',
												 							'from'		=> array( 'members' => 'm' ),
												 							'where'		=> 'm.id=v.member_id',
												 							'type'		=> 'left',
												 						),
[b]													 					array(
												 							'select' 	=> 'pc.*',
												 							'from'		=> array( 'pfields_content' => 'pc' ),
												 							'where'		=> 'pc.member_id=v.member_id',
												 							'type'		=> 'left',
												 						),[/b]
												 					),
										) 		);

 

Навскидку так, возможны неточности.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.