如何隐藏10月Rainlab博客类别之一?其中一个类别不应显示在页面上的“类别列表”中。我想只使用一个隐藏的类别来过滤和显示主页上的特殊帖子。有任何想法吗?
我不确定你这里的“隐藏”是什么意思。但我想你不想在前端显示它(默认情况下)
您可以扩展Category模型来执行此操作。
如果您有相对插件/或/创建自己的插件,并在Plugin.php文件中定义/覆盖启动方法,您可以定义这样的东西
use App;
use October\Rain\Database\Builder;
[...other code ...]
public function boot(){
\RainLab\Blog\Models\Category::extend(function($model) {
// App::runningInBackend() you can also use this one to make sure it will
// execute on frontend only
if(!App::runningInBackend()) {
$model::addGlobalScope('id', function(Builder $builder) {
$builder->where('id', '!=', 2);
});
}
});
}
现在,在前端,它不会显示id => 2的类别
可能这可以帮到你,如果你需要什么,请评论。有关插件相关的详细信息,请访问:https://octobercms.com/docs/plugin/registration
选择多个类别ID。例。
use App;
use October\Rain\Database\Builder;
[...other code ...]
public function boot(){
\RainLab\Blog\Models\Category::extend(function($model) {
// App::runningInBackend() you can also use this one to make sure it will
// execute on frontend only
if(!App::runningInBackend()) {
$model::addGlobalScope('id', function(Builder $builder) {
$builder->where([
['id', '!=', 2],
['id', '!=', 3],
['id', '!=', 4]
]);
});
}
});
}
现在不会显示id => 2,3,4的类别
使用whereNotIn
雄辩方法的短版本
$builder->whereNotIn('id', [22, 32, 44]);