This forum has moved to a new location and is in read-only mode. Please visit talk.octobercms.com to access the new location.

sokser+deatr10685
sokser+deatr10685

I'm in the process of building a site in October CMS that uses a slash page. The splash page is only supposed to show to non cookied users the first time that they visit the site. I am controlling this part via a component in a plugin called splash. Here is my onRun() function:


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;
    }
}

In my main page layout called 'default' I want to conditionally load the splash page template called 'splash' using the following:


{% if showsplash %}
     {{ loadpage('splash') }}
{% else %}
     Regular page template
{% endif %}

Except that I'm not sure how to load a page conditionally. One additional requirement is that the splash page takes the url http://www.example.com and not any subsequent pages. Can anyone point out how to do this?

godhanipnj13117535
godhanipnj13117535

in octobercms cms/page are hit by url , the url set in the config section and are bound to a layout. so for me page are more 'routing' object than html content holder.

In fact partials ARE html content holder

So if i had to do the same thing as you mean i would use partial and page. a page with url="/" and two partials, one for the regular page and one for the splash. bind your plugin component to the page not the layout {% if showsplash %} {% partial 'home/splash.htm' %} {% else %} {% partial 'home/regular.html' %} {% endif %}

I think partial are exactly what to use in this kind of conditional stuff. generaly think of

layout as website structuration page mainly for routing partial for html content

godhanipnj13117535
godhanipnj13117535

in octobercms cms/page are hit by url , the url set in the config section and are bound to a layout. so for me page are more 'routing' object than html content holder.

In fact partials ARE html content holder

So if i had to do the same thing as you mean i would use partial and page. a page with url="/" and two partials, one for the regular page and one for the splash. bind your plugin component to the page not the layout {% if showsplash %} {% partial 'home/splash.htm' %} {% else %} {% partial 'home/regular.html' %} {% endif %}

I think partial are exactly what to use in this kind of conditional stuff. generaly think of

layout as website structuration page mainly for routing partial for html content

1-3 of 3

You cannot edit posts or make replies: the forum has moved to talk.octobercms.com.