Общий цифровой рейтинг - Страница 2 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 4 Страниц +
  • 1
  • 2
  • 3
  • 4

Общий цифровой рейтинг

#16 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 10:59

Извиняюсь, до меня потом дошло, что нужно было логи показать :)

С новой правкой тоже не работает, выдает такую же ошибку:..

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Mon, 23 Jan 2017 10:55:59 +0300
 Error: 1054 - Unknown column 'm.topics_started' in 'field list'
 IP Address: 127.0.0.1 - /index.php?/members/
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT m.member_id, (FLOOR(m.posts/10) + FLOOR(m.topics_started/10) + FLOOR(m.tutorials_articles/3) + FLOOR(pp.pp_reputation_points/10)) AS grating FROM members m WHERE m.members_l_display_name !='' AND m.members_l_display_name  IS NOT NULL  AND m.member_group_id NOT IN(5) AND m.member_banned=0 AND ( ! ( members_bitoptions & 1 ) != 0) ORDER BY members_l_display_name asc LIMIT 0,20
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 | File                                                                       | Function                                                                      | Line No.          |
 |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
 | C:\OpenServer\domains\test-34.ru\admin\sources\base\ipsController.php      | [public_members_list_view].doExecute                                          | 306               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Mon, 23 Jan 2017 10:56:45 +0300
 Error: 1054 - Unknown column 'pp.pp_reputation_points' in 'field list'
 IP Address: 127.0.0.1 - /index.php?/members/
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT m.member_id, (FLOOR(m.posts/100) + FLOOR(pp.pp_reputation_points/10)) AS grating FROM members m WHERE m.members_l_display_name !='' AND m.members_l_display_name  IS NOT NULL  AND m.member_group_id NOT IN(5) AND m.member_banned=0 AND ( ! ( members_bitoptions & 1 ) != 0) ORDER BY members_l_display_name asc LIMIT 0,20
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 | File                                                                       | Function                                                                      | Line No.          |
 |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
 | C:\OpenServer\domains\test-34.ru\admin\sources\base\ipsController.php      | [public_members_list_view].doExecute                                          | 306               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Mon, 23 Jan 2017 10:57:17 +0300
 Error: 1054 - Unknown column 'm.topics_started' in 'field list'
 IP Address: 127.0.0.1 - /index.php?/members/
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT m.member_id, (FLOOR(m.posts/10) + FLOOR(m.topics_started/10) + FLOOR(m.tutorials_articles/3) + FLOOR(pp.pp_reputation_points/10)) AS grating FROM members m WHERE m.members_l_display_name !='' AND m.members_l_display_name  IS NOT NULL  AND m.member_group_id NOT IN(5) AND m.member_banned=0 AND ( ! ( members_bitoptions & 1 ) != 0) ORDER BY members_l_display_name asc LIMIT 0,20
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 | File                                                                       | Function                                                                      | Line No.          |
 |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
 | C:\OpenServer\domains\test-34.ru\admin\sources\base\ipsController.php      | [public_members_list_view].doExecute                                          | 306               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Mon, 23 Jan 2017 10:58:39 +0300
 Error: 1054 - Unknown column 'm.topics_started' in 'field list'
 IP Address: 127.0.0.1 - /index.php?/members/
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT m.member_id, (FLOOR(m.posts/10) + FLOOR(m.topics_started/10) + FLOOR(m.tutorials_articles/3) + FLOOR(pp.pp_reputation_points/10)) AS grating FROM members m WHERE m.members_l_display_name !='' AND m.members_l_display_name  IS NOT NULL  AND m.member_group_id NOT IN(5) AND m.member_banned=0 AND ( ! ( members_bitoptions & 1 ) != 0) ORDER BY members_l_display_name asc LIMIT 0,20
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 | File                                                                       | Function                                                                      | Line No.          |
 |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
 | C:\OpenServer\domains\test-34.ru\admin\sources\base\ipsController.php      | [public_members_list_view].doExecute                                          | 306               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Сообщение изменено: Strategius (23 Январь 2017 - 11:02)

0

#17 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 11:03

Строка, вызывающая ошибку, находится в файле admin\sources\base\ipsController.php

$this->doExecute( $registry );

0

#18 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 617
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 080
  • IPB version:I have no IPB
 

Отправлено 23 Январь 2017 - 11:15

Цитата

С новой правкой тоже не работает, выдает такую же ошибку:..
Исправил условие.
0

#19 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 11:28

Цитата

Исправил условие.

Все равно ошибку выдает :(
0

#20 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 634
  • Регистрация: 15-Октябрь 11
  • Репутация: 185
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 23 Январь 2017 - 11:37

А не поможет, потому, что запрос к таблице profile_portal делается по дефолту, с этими правками, не только при сортировке по ключам 'pp_rating_real' и 'grating'.

Можно так - найти:
		$joins		= array();
		
		if ( $_queryPP )
		{
			$joins[] 	= array( 'from' => array( 'pfields_content' => 'p' ), 'where' => 'p.member_id=m.member_id', 'type' => 'left' );
			$joins[] 	= array( 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' );
		}

Заменить на:
		$joins = array(
			array(
				'from'	=> array( 'profile_portal' => 'pp' ),
				'where'	=> 'pp.pp_member_id=m.member_id',
				'type'	=> 'left'
				)
			);
		
		if ( $_queryPP )
		{
			$joins[]	= array( 'from' => array( 'pfields_content' => 'p' ), 'where' => 'p.member_id=m.member_id', 'type' => 'left' );
		}

1

#21 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 617
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 080
  • IPB version:I have no IPB
 

Отправлено 23 Январь 2017 - 11:37

Unknown column 'm.topics_started' in 'field list'
Это вообще откуда взялось? У Вас в таблице members есть столбец topics_started? Уверен, что нет
0

#22 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 11:42

Цитата

Это вообще откуда взялось? У Вас в таблице members есть столбец topics_started? Уверен, что нет

У меня установлен хук Number Of Topics Started :)
0

#23 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 11:51

Странно, заработало в обоих случаях, и с методом от Dmitriy427, и newbie, но только с такой выборкой:

(FLOOR(m.posts/10) + FLOOR(pp.pp_reputation_points/10)

Т.е. не работает фильтр по статьям и темам (хотя компоненты устновлены и таблицы есть).

+ FLOOR(m.topics_started/10) + FLOOR(m.tutorials_articles/3)

0

#24 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 634
  • Регистрация: 15-Октябрь 11
  • Репутация: 185
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 23 Январь 2017 - 11:58

Вы запрашиваете не существующие в таблице 'm.' ("members") поля.
Для таких запросов нужно дописывать $joins[] и обращаться к соответствующим таблицам.
1

#25 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 23 Январь 2017 - 12:01

Цитата

Вы запрашиваете не существующие в таблице 'm.' ("members") поля.

Все, исправил, туплю уже :) На тестовом не был установлен этот хук )

Вопрос еще один по рейтингу - возможно ли присвоить ему переменную, чтобы можно было использовать для ограничения функций форума по количеству баллов рейтинга? Или, например, привязать Звания не к количеству сообщений, а именно к рейтингу?
0

#26 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 25 Январь 2017 - 12:46

Цитата

привязать Звания не к количеству сообщений, а именно к рейтингу

Не подскажете, возможно ли такое реализовать, не переделывая глобально уже созданную систему рейтинга?
Чтобы именно система званий зависела не от кол-ва сообщений, а от баллов рейтинга.

Сообщение изменено: Strategius (25 Январь 2017 - 12:47)

0

#27 Пользователь не на сайте   avtobus ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 14-Ноябрь 16
  • Репутация: 6
  • IPB version:4.1.x
 

Отправлено 26 Январь 2017 - 00:31

Ты ранги имеешь ввиду?
\admin\sources\base\ipsMember.php

if ( $member['posts'] >= $v['POSTS'] )

$member['posts'] замени на поле которое содержит твое значение в таблице members.
2

#28 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 26 Январь 2017 - 11:07

Цитата

замени на поле которое содержит твое значение в таблице members

Да, только дело в том, что $grating - величина динамическая и рассчитывается по формуле, и в поле таблицы не заносится... А можно ли сделать, чтобы он либо кешировался, ибо заносился в поле таблицы?
0

#29 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 617
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 080
  • IPB version:I have no IPB
 

Отправлено 26 Январь 2017 - 11:24

Просмотреть сообщениеStrategius сказал(а):

Да, только дело в том, что $grating - величина динамическая и рассчитывается по формуле, и в поле таблицы не заносится... А можно ли сделать, чтобы он либо кешировался, ибо заносился в поле таблицы?


Так рассчитайте рейтинг сперва, а после сравнивайте.
Выше
			foreach( $rank_cache as $k => $v)

добавьте
$rating = $member['posts'] + $member['pp_reputation_points']; // Тут сами определите формулу

После это
if ( $member['posts'] >= $v['POSTS'] )

замените на
if ( $rating >= $v['POSTS'] )

1

#30 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 765
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 26 Январь 2017 - 11:42

Примерно так я уже пытался сделать, но не получалось ) Спасибо Вам большое! А как в настройках админки кол-во сообщений заменить на кол-во рейтинга? Чтобы вручную можно было настраивать.

Вот тут АЦ - Members > Member Ranks > Member Rank Set Up.

Сообщение изменено: Strategius (26 Январь 2017 - 11:44)

0

Сообщить об этой теме:


  • 4 Страниц +
  • 1
  • 2
  • 3
  • 4


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна