【问题标题】:Joomla Component jQuery datetimepicker no effectJoomla 组件 jQuery datetimepicker 没有效果
【发布时间】:2014-01-24 00:54:41
【问题描述】:

我正在构建一个 joomla 组件。我需要在文件view/tmpl/default.php的形式中添加一个datetimepicker,但是不起作用。

我根据链接尝试了通过 JHtml 包含 http://docs.joomla.org/J3.2:Adding_JavaScript_and_CSS_to_the_page

但我不确定将脚本和 css 放在哪个路径。

我要创建一个名为 com_event 的文件,它与我的组件同名,将文件放在 media 文件夹中,其中有 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');


?>

【问题讨论】:

    标签: jquery css joomla


    【解决方案1】:

    对于如何编写代码,它们将被放在顶层中名为 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");
    

    如果其中一个文件夹已经存在,并且您要添加到以前构建的组件中,那么就可以选择该文件夹。

    当我构建一个组件时,我宁愿不使用媒体文件夹来保存这些东西,因为将文件如此分开是很痛苦的。不过,这是您的选择。

    【讨论】:

    • 怎么样 $script = 'jQuery(\'#datetimepicker\').datetimepicker();';这是正确的吗?我转义了特殊字符'。
    • 不,您不需要这样做。对不起,我错过了那部分。我会使用 " 而不是 ' 并且不会转义任何双引号或单引号。我会更新我的答案。
    • 您好,我已尝试按照您所说的添加脚本,但仍然无法正常工作。是不是因为模板的限制,因为default.php的一些css在模板中也不起作用。
    • 当你说它不起作用时,你是什么意思?当您查看源代码时,您是否看到脚本已加载?还是日期时间选择器不起作用?我的假设是您无法加载脚本。
    • 另外,您使用的是什么版本的 Joomla?
    猜你喜欢
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多