Concrete5 - Как мне получить выбранный шаблон внутри моего блочного контроллера?

Я использую Concrete5 5.6.0 и пытаюсь сделать свой Block более настраиваемым с помощью LESS.

Я следил за информацией здесь: http://www.codeblog.ch/2014/01/concrete5-use-less-files-for-block-templates/ и код Remo, на который он ссылается, но getCurrentTemplate() не существует на Controller

Как мне правильно заставить текущий шаблон работать с этим кодом?


person Nick Cardoso    schedule 06.08.2014    source источник


Ответы (2)


В этом руководстве есть фрагмент кода для получения текущего имени шаблона. Не полное решение, но, возможно, оно даст некоторые идеи.

http://www.concrete5.org/documentation/how-tos/developers/load-template-specific-assets/

person JohntheFish    schedule 06.08.2014

Это будет работать в 5.7

$b = $this->getBlockObject();
if (is_object($b)) {
    $bvt = new BlockViewTemplate($b);
    if (is_object($bvt)) {
        $templatepath = $bvt->getTemplate();
        list($junk, $template) = explode('/templates', $templatepath);
        if (strlen($template) > 0) {    // any template name left ?
            // $template holds the rest of the path with the template name
        } else {
            // standard template
        }
    }
}
person Willem    schedule 07.03.2016