IP.Board 3.1: Развитие системы модификаций
Для хуков и приложений IPB 3.1 было разработано большое количество улучшений, многие из которых уже обсуждались. Мы надеемся, что разработчики сочтут эти изменения полезными и будут с нетерпением ждать появления новой версии!
Хук шаблона: Замена вывода
Добавлена дополнительная функция в хук шаблонов: replaceOutput(). Функция позволяет получить все содержимое страницы и заменить его на содержимое, возвращаемое хуком. Это, например, позволяет осуществлять замену тегов на содержимое, которое необходимо вам, ниже приведен пример добавления pid сообщения сразу за кнопкой цитаты:
public function replaceOutput( $output, $key ) { $tag = '<!--hook.'.$key.'-->'; $lastFound = 0; foreach( $this->registry->output->getTemplate('topic')->functionData['topicViewTemplate']['post_data'] as $pid => $post ) { $pos = strpos( $output, $tag, $lastFound ); $strToInsert = 'PID: ' . $pid; if( $pos ) { $output = substr_replace( $output, $strToInsert . $tag, $pos, strlen( $tag ) ); $lastFound = $pos + strlen( $tag . $strToInsert ); } } return $output; }
Изменения memberSync
Мы добавили изменения в memberSync, что сделало более полезными некоторые функции.
- onGroupChange: Теперь в функцию передается старая пользовательская группа
- onLogin: Теперь в функцию передается не зашифрованный пароль
- onCreateAccount: Теперь в функцию передается не зашифрованный пароль
Расширяемые формы
Одной из новых возможностей, которую мы представили в IPB 3, была возможность расширять формы редактирования пользователя и группы в АЦ. Теперь мы улучшили эту функцию, добавив ее для формы редактирования форума. Она работает так же как в форме редактирования группы, позволяя добавить в ваше приложение закладки в форму для редактирования форума. Мы улучшили механизм расширения формы редактирования пользователя, так что ID для закладок теперь присваиваются автоматически, также как в форме редактирования группы в 3.0. Это позволит избежать конфликтов при совпадении имен закладок у двух приложений.
Плагины прикрепления файлов и закладок профиля
Наша задача сделать приложения как можно независимее друг от друга, поэтому мы переместили плагины прикрепления файлов и закладок профиля в каталог extensions каждого приложения. Закладки профиля теперь размещены в YOUR_APPLICATION/extensions/profile. Плагины для прикрепления файлов - в YOUR_APPLICATION/extensions/attachments. Названия классов и файлов остались прежними, различие только в их размещении.
Новая настройка: Автодополнение имен пользователей
Настройка позволяет создавать поля, для которых будет работать функция автодополнения, работающая по именам пользователей.
Оригинал статьи: http://community.invisionpower.com/blog/1174/entry-3977-ipboard-310-dev-update-modification-development-enhancements/
0 комментариев
Рекомендуемые комментарии
Комментариев для отображения не найдено.