Я создаю компонент joomla. Мне нужно добавить datetimepicker в форму файла /tmpl/default.php, но он не работает.
Я попробовал включить через JHtml по ссылке http://docs.joomla.org/J3.2:Adding_JavaScript_and_CSS_to_the_page
Но я не уверен, какой путь поставить скрипт и css.
Я собираюсь создать файл с именем com_event, который имеет одноименное имя для моего компонента, поместил его в медиа-папку, внутри него, есть файл css и js? Это верно? Но это не сработает.
Или я собираюсь поместить файлы js и css в папку js и css шаблонов,
Но это тоже не сработает.
Надеюсь, кто-нибудь мне поможет.
Спасибо.
Код, который я пробовал:
<?php
JHtml::_('jquery.framework');
$document = JFactory::getDocument();
// Add Javascript
$script = 'jQuery(\'#datetimepicker\').datetimepicker();';
$script2 = 'jQuery(\'#datetimepicker\').datetimepicker({value:\'\',step:30});';
$document->addScriptDeclaration($script);
$document->addScriptDeclaration($script2);
$document->addStyleSheet('com_event/css/jquery.datetimepicker.css');
$document->addScript('com_event/js/jquery.datetimepicker.js');
$document->addScript('com_event/js/jquery.js');
?>
Поскольку у вас есть написанный код, они будут помещены в папки с именем com_event/css и com_event/js на верхнем уровне, что очень плохо.
Joomla нравится, если вы помещаете этот материал в медиа-папку, но вы можете поместить его в папку компонентов или в папку с медиа или где-либо еще, пока вы поместите полный путь к ней:
Компоненты:
$script = "jQuery('#datetimepicker').datetimepicker();";
$script2 = "jQuery('#datetimepicker').datetimepicker({value:'',step:30});";
$document->addScriptDeclaration($script);
$document->addScriptDeclaration($script2);
$document->addStyleSheet("/component/com_event/css/jquery.datetimepicker.css");
$document->addScript("/component/com_event/js/jquery.datetimepicker.js");
$document->addScript("/component/com_event/js/jquery.js");
СМИ:
$script = "jQuery('#datetimepicker').datetimepicker();";
$script2 = "jQuery('#datetimepicker').datetimepicker({value:'',step:30});";
$document->addScriptDeclaration($script);
$document->addScriptDeclaration($script2);
$document->addStyleSheet("/media/com_event/css/jquery.datetimepicker.css");
$document->addScript("/media/com_event/js/jquery.datetimepicker.js");
$document->addScript("/media/com_event/js/jquery.js");
Если одна из этих папок уже существует, и вы добавляете к предыдущему встроенному компоненту, то это будет один.
Когда я создаю компонент, я предпочитаю не использовать медиа-папку для хранения этого материала, так как боль в том, чтобы файлы были разделены. Это ваш выбор.