models/Post.php
protected static function getPostPageUrl($pageCode, $category, $theme)
    {
        $page = CmsPage::loadCached($theme, $pageCode);
        if (!$page) {
            return;
        }

        $properties = $page->getComponentProperties('blogPost');
        if (!isset($properties['slug'])) {
            return;
        }

        /*
         * Extract the routing parameter name from the category filter
         * eg: {{ :someRouteParam }}
         */
        if (!preg_match('/^\{\{([^\}]+)\}\}$/', $properties['slug'], $matches)) {
            return;
        }

        $paramName = substr(trim($matches[1]), 1);
        $params = [
            $paramName => $category->slug,
            'year'  => $category->published_at->format('Y'),
            'month' => $category->published_at->format('m'),
            'day'   => $category->published_at->format('d')
        ];
        $url = CmsPage::url($page->getBaseFileName(), $params);

        return $url;
    }
protected static function getPostPageUrl($pageCode, $category, $theme)
    {
        $page = CmsPage::loadCached($theme, $pageCode);
        if (!$page) {
            return;
        }

        $properties = $page->getComponentProperties('blogPost');
        if (!isset($properties['slug'])) {
            return;
        }

        /*
         * Extract the routing parameter name from the category filter
         * eg: {{ :someRouteParam }}
         */
        if (!preg_match('/^\{\{([^\}]+)\}\}$/', $properties['slug'], $matches)) {
            return;
        }

        $paramName = substr(trim($matches[1]), 1);
        $params = [
            $paramName => $category->slug,
            'year'  => $category->published_at->format('Y'),
            'month' => $category->published_at->format('m'),
            'day'   => $category->published_at->format('d')
        ];
        $url = CmsPage::url($page->getBaseFileName(), $params);

        return $url;
    }
protected static function getPostPageUrl ( $ pageCode , $ category , $ theme ) { $ page = CmsPage :: loadCached ( $ theme , $ pageCode ) ; if ( ! $ page ) { return ; } $ properties = $ page -> getComponentProperties ( 'blogPost' ) ; if ( ! isset ( $ properties [ 'slug' ] ) ) { return ; } /*
         * Extract the routing parameter name from the category filter
         * eg: {{ :someRouteParam }}
         */ if ( ! preg_match ( '/^\{\{([^\}]+)\}\}$/' , $ properties [ 'slug' ] , $ matches ) ) { return ; } $ paramName = substr ( trim ( $ matches [ 1 ] ) , 1 ) ; $ params = [ $ paramName => $ category -> slug , 'year' => $ category -> published_at -> format ( 'Y' ) , 'month' => $ category -> published_at -> format ( 'm' ) , 'day' => $ category -> published_at -> format ( 'd' ) ] ; $ url = CmsPage :: url ( $ page -> getBaseFileName ( ) , $ params ) ; return $ url ; }
Returns URL of a post page.

@param $pageCode
@param $category
@param $theme
Returns URL of a post page .