Опубликовано: 25 декабря 201212 г Как добавить настройку количество постов в теме ipb 3.2.3, чтоб пользователь мог выбрать удобное для себя значение, если ему не нравиться например поумолчанию 20?
Опубликовано: 2 января 201312 г Автор Например, написать хук.Так бы сразу и написали, теперь все понятно... как же я сам до этого не додумался... просто написать хук )
Опубликовано: 2 января 201312 г Автор где хотябы этот параметр (количество постов на странице) загружается, может шаблон? чтоб его там можно было подправить, поставив условие.
Опубликовано: 3 января 201312 г Не в шаблоне это точно, там где идет запрос к бд для получения постов. Но не так-то все просто. Раньше, настройка display_max_topics и display_max_posts переопределялась для конкретного пользователя в ipsRegistry::setUpMember
Опубликовано: 3 января 201312 г ipsRegistry, /admin/sources/base/ipsRegistry.php метод setUpMemberМожно поднять файл с версии 3.1x и посмотреть как там происходит переопределение настройки display_max_posts
Опубликовано: 3 января 201312 г Автор ну вот 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 вообще нет в этом же файле.
Опубликовано: 3 января 201312 г Автор если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать? и вообще такое может проканать, если я добавлю этот код в файл.if ( $this->memberData['field_14'] != '') { ipsRegistry::$settings[ 'display_max_posts' ] = $this->memberData['field_14']; } else { ipsRegistry::$settings[ 'display_max_posts' ] = 20; }
Опубликовано: 3 января 201312 г Автор Если например в globalTemplate вставить в начало<php> ipsRegistry::$settings[ 'display_max_posts' ] = 10; </php>то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.
Опубликовано: 3 января 201312 г а в 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 старой версии переопределяются эти две настройки для конкретного пользователя если у него соответствующая часть больше нуля, если нет то оставались дефолтными. если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать?Проще было бы уже создать хук/мод по подобию старой версии.
Опубликовано: 4 января 201312 г Автор Если например в globalTemplate вставить в начало<php> ipsRegistry::$settings[ 'display_max_posts' ] = 10; </php>то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.а если также на главной странице, при увеличевшимся количестве страниц в двое, шелкнуть например на второй странице темы из 15 постов, то формируется страница из 5 последних постов... То есть часть идеи работает, но как полностью то это реализовать...
Опубликовано: 4 января 201312 г То есть часть идеи работает, но как полностью то это реализовать... Проще было бы уже создать хук/мод по подобию старой версии.
Как добавить настройку количество постов в теме ipb 3.2.3, чтоб пользователь мог выбрать удобное для себя значение, если ему не нравиться например поумолчанию 20?