Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  ADMIN: как подключить свой файл CSS?

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 11.08.15 14:26:48 #1



Регистрация: 29.06.09
Сообщений: 11


Обратиться по имени

Доброго дня.
В своем модуле прикручиваю kladr-api к форме в панели управления сайтом.
Сервис kladr-api в составе jquery plugin'а поставляет файл css, который нужно подключить.
Как это сделать на стороне панели управления сайтом?
Как временное решение (для проверки), перенес все эти стили в один из системный css-файл, который подключается на стороне админки.
Но хотелось бы, чтобы это был именно отдельный файл в составе моего модуля (будущего дистрибутива).
P.S. Js-файл подключил без проблем, а css не смог.



Добавлено: 12.08.15 06:06:20 #2




Регистрация: 11.06.13
Сообщений: 404


Обратиться по имени

Во вкладку "код для head" нужных макетов страниц поместите подключение.



Если я вам помог, ставьте палец вверх ;)
Добавлено: 12.08.15 06:58:03 #3



Регистрация: 29.06.09
Сообщений: 11


Обратиться по имени

Helper:
Во вкладку "код для head" нужных макетов страниц поместите подключение.


Мне нужно, чтобы стили появились в панели управления сайтом в моем модуле, а не на какой-то странице публичной части.

И желательно, чтобы это было прямо в коде модуля, наподобие как для скриптов:
$this->addScriptFile('_local/_admin/_js/' . $this->getModId() .  '/jquery.kladr.min.js');


Тогда ничего лишнего не пришлось бы писать в инсталляторе дистрибутива.



Добавлено: 14.08.15 10:14:18 #4



Регистрация: 22.10.12
Сообщений: 73


Обратиться по имени

Alex ey Kar ov:
Мне нужно, чтобы стили появились в панели управления сайтом в моем модуле, а не на какой-то странице публичной части.


Можно, например, подключить файл стилей на ранних этапах инициализации системы -

AMI_Event::addHandler('v5_on_before_init', 'handleInit', AMI_Event::MOD_ANY);

function handleInit($name, array $aEvent, $handlerModId, $srcModId) {
    AMI_Registry::get('oGUI')->addStyle('my_custom_style.css', array(), FALSE);
    return $aEvent;
}

Либо заинлайнить в методе "get" view-компоненты, если это позволяет тип респонса -

public function get(){
    $ret = parent::get();
    $oResponse = AMI::getSingleton('response');
    if($oResponse->getType() == 'HTML'){
        $ret  = '<style>.tab-caption {background-color: #000000;}</style>' . $ret;
    }
    return $ret;
}



Добавлено: 14.08.15 15:20:01 #5



Регистрация: 29.06.09
Сообщений: 11


Обратиться по имени

Dmitry Kornilov:


Можно, например, подключить файл стилей на ранних этапах инициализации системы -

AMI_Event::addHandler('v5_on_before_init', 'handleInit', AMI_Event::MOD_ANY);

function handleInit($name, array $aEvent, $handlerModId, $srcModId) {
    AMI_Registry::get('oGUI')->addStyle('my_custom_style.css', array(), FALSE);
    return $aEvent;
}



Спасибо, помогло.
Я раньше подобным способом пробовал сделать, но по ошибке указывал не URL к файлу, а путь на сервере. Вот оно и не работало.





Создать новую тему

Всего тем: 6661
Всего сообщений: 27851
Всего зарегистрированных пользователей: 26741
Последний зарегистрированный пользователь: user6353089940