【发布时间】:2018-08-05 06:25:41
【问题描述】:
是否可以设置一系列全局属性(例如社交媒体用户名),供 OctoberCMS 中的所有页面查看使用,而不是一次将它们关联到一个 CMS 页面或静态页面?
例如,可以在任何模板中使用{{ twitter_username }},但它不会在后端的任何页面表单中显示为字段。
更新:这可以通过在插件中使用 registerMarkupTags 注册 Twig 函数来实现:
use System\Classes\PluginBase;
class Plugin extends PluginBase
{
public function registerMarkupTags()
{
return [
'functions' => [
'globals' => function($var) {
switch ($var) {
case 'twitter_username':
return 'mytwitterusername';
}
return null;
},
],
];
}
}
在这种情况下,从任何模板调用{{ globals('twitter_username') }} 都会打印mytwitterusername。
【问题讨论】:
标签: php laravel-5 octobercms octobercms-plugins octobercms-backend