Макет по умолчанию

#
Макет по умолчанию
Добрый день! При создании нового раздела в структуре или нового документа, по умолчанию выставляется макет №13, который является основным макетом.
Но мне надо, что бы по умолчанию выставлялся дочерний макет, к примеру №15.
Вопрос: как сменить макет по умолчанию? Перерыл форум, но ответа так и не нашел =(
А то приходится постоянно переключать макет при создании раздела/документа.
#
Re: Макет по умолчанию
lipton_ice_tea,
можем помочь, решается хуками.
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
#
Re: Макет по умолчанию
lipton_ice_tea,
дак сделайте у этого макета сортировку -1

update: а нет с дочерним не получится так, но можно и без хука, а с помощью jQuery
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Макет по умолчанию
Вот решение:
1. В файл bootstrap.php добавляем новый хук
Core_Event::attach('Admin_Form_Action_Controller_Type_Edit.onBeforeExecute', array('Admin_Form_Action_Controller_Type_Edit_Observer', 'onBeforeExecute'));


2. В папке /modules/admin/form/action/controller/type/edit/ Создаем файл observer.php со следующим содержимым:
<?php
defined('HOSTCMS') || exit('HostCMS: access denied.');

class Admin_Form_Action_Controller_Type_Edit_Observer
{
    static public function onBeforeExecute($controller, $args)
    {
        list($operation, $Admin_Form_Controller) = $args;
        if (is_null($operation))
        {
            $layout=15; //id макета по умолчанию

            $object = $controller->getObject();
            $ObjectClass = get_class($object);
            switch ($ObjectClass)
            {  
                //Структура
                case 'Structure_Model':
                    if ($object->template_id==0) $object->Document->template_id($layout);
                break;
                //Документ
                case 'Document_Model':
                    if ($object->template_id==0) $object->template_id($layout);
                break;
            }
        }
    }
}


id шаблона можно задать любой из существующих
Авторизация