下面以刚刚部署beta5的flarum程序为基础。你可作为参考 :-)
1,去掉谷歌字体。
vendor/flarum/core/views/install/app.php
删除:@import url(//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700,600);
vendor/flarum/core/src/Http/Controller/ClientView.php
删除:$this->addHeadString('<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700,600">', 'font');
2,url修改。
vendor/flarum/core/js/forum/dist/app.js
vendor/flarum/core/js/forum/src/initializers/routes.js
搜索:id: discussion.id() + '-' + discussion.slug(),
修改成:id: discussion.id(),
vendor/flarum/core/views/index.blade.php
搜索:'id' => $discussion->id . '-' . $discussion->attributes->slug
修改成:'id' => $discussion->id
3,中文搜索。
vendor/flarum/core/src/Core/Search/Discussion/Fulltext/MySqlFulltextDriver.php
删除: ->whereRaw('MATCH (content) AGAINST (? IN BOOLEAN MODE)', [$string])
删除: ->orderByRaw('MATCH (content) AGAINST (?) DESC', [$string])
增加: ->where('content', 'like', '%'.$string.'%')
class MySqlFulltextDriver implements DriverInterface
{
/**
{@inheritdoc}
/
public function match($string)
{
$discussionIds = Post::where('type', 'comment')
->where('content', 'like', '%'.$string.'%')
->lists('discussion_id', 'id');
$relevantPostIds = [];
foreach ($discussionIds as $postId => $discussionId) {
$relevantPostIds[$discussionId][] = $postId;
}
return $relevantPostIds;
}
}
4,支持中文用户名:
vendor/flarum/core/src/Core/Repository/UserRepository.php
public function getIdForUsername($username, User $actor = null)
{
$username = rawurldecode($username);
$query = User::where('username', 'like', $username);
return $this->scopeVisibleTo($query, $actor)->value('id');
}
即在77行开始的大括号内增加:$username = rawurldecode($username);
5,@中文用户名
vendor/flarum/flarum-ext-mentions/src/Listener/FormatPostMentions.php
68行修改成:$configurator->Preg->match('/\B@(?<username>[-_a-zA-Z0-9\x7f-\xff]+)#(?<id>\d+)/i', $tagName);
vendor/flarum/flarum-ext-mentions/src/Listener/FormatUserMentions.php
72行修改成:$configurator->Preg->match('/\B@(?<username>[-_a-zA-Z0-9\x7f-\xff]+)(?!#)/i', $tagName);
98行修改成:if ($id = $users->getIdForUsername(rawurlencode($tag->getAttribute('username')))) {
6,font-awesome CDN
vendor/flarum/core/less/lib/lib.less
@fa-font-path: "//cdn.bootcss.com/font-awesome/4.4.0/fonts";
vendor/flarum/core/less/lib/font-awesome/variables.less
@fa-font-path: "//cdn.bootcss.com/font-awesome/4.4.0/fonts";
以上内容参考了https://vivaldi.club/t/flarum,表示感谢!
希望对你有帮助! 