我正在使用斜杠页面在10月CMS中构建网站。启动页面只应在第一次访问该站点时向非烹饪用户显示。我通过一个名为splash的插件中的组件来控制这个部分。这是我的onRun()函数:
public function onRun()
{
$key = 'shownsplash';
if(!Session::has($key) || !Cookie::get($key))
{
$this->page['showsplash'] = true;
Cookie::queue('shownsplash',true);
Session::put($key,true);
$resp = NULL;
}
}
在我的主页面布局中,名为'默认'我想有条件地加载名为' splash'的启动页面模板。使用以下内容:
{% if showsplash %}
{{ loadpage('splash') }}
{% else %}
Regular page template
{% endif %}
除了我不确定如何有条件地加载页面。另外一个要求是,启动页面会使用网址 http://www.example.com 而不是后续网页。任何人都可以指出如何做到这一点吗?
答案 0 :(得分:3)
在octobercms中,cms / page被url命中,url在config部分设置并绑定到布局。所以对于我而言,页面比html内容持有者更具“路由”对象。
事实上,部分是html内容持有者
因此,如果我必须做同样的事情,我会使用部分和页面。 一个页面,其中url =“/”和两个部分,一个用于常规页面,另一个用于初始化。 将您的插件组件绑定到页面而不是布局
{% if showsplash %}
{% partial 'home/splash.htm' %}
{% else %}
{% partial 'home/regular.html' %}
{% endif %}
我认为部分正是在这种有条件的东西中使用的。 一般都会想到