December 25, 201213 yr Как добавить настройку количество постов в теме ipb 3.2.3, чтоб пользователь мог выбрать удобное для себя значение, если ему не нравиться например поумолчанию 20?
January 2, 201313 yr Author Например, написать хук.Так бы сразу и написали, теперь все понятно... как же я сам до этого не додумался... просто написать хук )
January 2, 201313 yr Author где хотябы этот параметр (количество постов на странице) загружается, может шаблон? чтоб его там можно было подправить, поставив условие.
January 3, 201313 yr Не в шаблоне это точно, там где идет запрос к бд для получения постов. Но не так-то все просто. Раньше, настройка display_max_topics и display_max_posts переопределялась для конкретного пользователя в ipsRegistry::setUpMember
January 3, 201313 yr ipsRegistry, /admin/sources/base/ipsRegistry.php метод setUpMemberМожно поднять файл с версии 3.1x и посмотреть как там происходит переопределение настройки display_max_posts
January 3, 201313 yr Author ну вот 3.1.4 в файле ipsRegistry есть такое упоминание //----------------------------------------- // Fix up some preferences //----------------------------------------- $ppu = 0; $tpu = 0; if ( isset( self::$data_store['view_prefs'] ) ) { list($ppu,$tpu) = explode( "&", self::$data_store['view_prefs'] ); } ipsRegistry::$settings[ 'display_max_topics'] = ($tpu > 0 ? $tpu : ipsRegistry::$settings['display_max_topics'] ); ipsRegistry::$settings[ 'display_max_posts' ] = ($ppu > 0 ? $ppu : ipsRegistry::$settings['display_max_posts'] ); //-----------------------------------------а в 3.2.3 упоминания о display_max_posts вообще нет в этом же файле.
January 3, 201313 yr Author если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать? и вообще такое может проканать, если я добавлю этот код в файл.if ( $this->memberData['field_14'] != '') { ipsRegistry::$settings[ 'display_max_posts' ] = $this->memberData['field_14']; } else { ipsRegistry::$settings[ 'display_max_posts' ] = 20; }
January 3, 201313 yr Author Если например в globalTemplate вставить в начало<php> ipsRegistry::$settings[ 'display_max_posts' ] = 10; </php>то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.
January 3, 201313 yr а в 3.2.3 упоминания о display_max_posts вообще нет в этом же файле.Естественно нет, если эта настройка была убрана в 3.2. Как все это работало - в таблице пользователей ibf_members было поле view_prefs, по умолчанию оно имел значение -1&-1. Первый -1 соответствовало display_max_posts, второй -1 display_max_topics. Пользователь в своем профиле мог изменять желаемое количество постов или тем на странице, так что первая части до амперсанда соответствовало количеству сообщений (display_max_posts), вторая части после амперсанда количеству тем. Как мы видим, в методе setUpMember старой версии переопределяются эти две настройки для конкретного пользователя если у него соответствующая часть больше нуля, если нет то оставались дефолтными. если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать?Проще было бы уже создать хук/мод по подобию старой версии.
January 4, 201313 yr Author Если например в globalTemplate вставить в начало<php> ipsRegistry::$settings[ 'display_max_posts' ] = 10; </php>то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.а если также на главной странице, при увеличевшимся количестве страниц в двое, шелкнуть например на второй странице темы из 15 постов, то формируется страница из 5 последних постов... То есть часть идеи работает, но как полностью то это реализовать...
January 4, 201313 yr То есть часть идеи работает, но как полностью то это реализовать... Проще было бы уже создать хук/мод по подобию старой версии.
Как добавить настройку количество постов в теме ipb 3.2.3, чтоб пользователь мог выбрать удобное для себя значение, если ему не нравиться например поумолчанию 20?