Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

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

 

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

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

 

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

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>

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

 

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

Рекомендованные сообщения

Опубликовано:
  • Автор

Угу, на этом форуме народ тож нифига не знает... жаль :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]
												 					),
										) 		);

 

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.