是否可以根据config.yml或_config.php中的条目来激活或取消激活模块?Silverstripe - 在config中打开或关闭模块
说我已经构建了一个图像库模块,但不希望它显示在网站上,它可以在配置文件中被停用吗?
是否可以根据config.yml或_config.php中的条目来激活或取消激活模块?Silverstripe - 在config中打开或关闭模块
说我已经构建了一个图像库模块,但不希望它显示在网站上,它可以在配置文件中被停用吗?
SilverStripe上从来没有开发扫描所有目录在webroot模块中。如果您将一个名为manifest_exclude
的文件放在任何目录中,它将不会被扫描,也不会被包含在内;自动加载器将无法找到它,并且如果不手动添加文件,则无法调用您的课程。
只有当模块提供了这样做的功能。
您可以添加自己的private static $enable_module = true
class MyClass extends Object
{
private static $enable_module = true;
public function doMyThing()
{
if (!Config::inst()->forClass('MyClass')->enable_module) {
return false;
}
// do stuff here
}
}
,那么你可以通过阳明
MyClass:
enable_module: false
禁用它会禁用它。
对于模板,你可以添加
public function getGalleryEnabled() {
return Config::inst()->forClass('MyClass')->enable_module;
}
您Page_Controller
类,然后
<% if $GalleryEnabled %><% include MyGallery %><% end_if %>
最好的做法是:直播现场