【问题标题】:View path inside default.php in joomla component在 joomla 组件中查看 default.php 中的路径
【发布时间】:2013-04-23 03:22:24
【问题描述】:

我正在 Joomla 中构建一个组件视图,并且我在组件 myview/tmpl/default.php 内的文件中使用了很多 JS。

在组件中存储单独的 JS 文件的最佳文件夹在哪里以及如何在 default.php 中获取指向该文件的链接

【问题讨论】:

    标签: php joomla components


    【解决方案1】:

    Joomla! 所需的任何网络可访问媒体(图像、javascript、css 等)的推荐位置!扩展(组件、模块等)是/media 目录。这在Joomla! docs website. 上的Manifest documentation 中有介绍

    简单地说,在您的扩展目录中包含一个名为media 的目录(或对您有意义的东西)。在该存储中,您的所有 Web 可访问内容,您甚至可以拥有像 imagesjscss 或所有这些子目录。

    然后在您的清单 XML 中添加 media 元素,例如:

        <media folder="media" destination="com_example">
                <filename>logo.png</filename>
                <folder>css</folder>
                <folder>js</folder>
        </media>
    

    Joomla 安装程序随后会在 /media 内为您创建一个名为 com_example 的文件夹,然后您可以通过以下调用访问所有媒体文件:

    $document->addStyleSheet(JURI::root() . 'media/com_example/css/example.css');
    $document->addScript(JURI::root() . 'media/com_example/css/example.js');
    

    <img src="<?php echo JURI::root() . 'media/com_example/'; ?>logo.png"
    

    【讨论】:

    • 感谢您的回答@cppl,但我遇到了一个新问题。在多语言环境中生成站点我在 JS 中使用 JText,所以我不能使用 .js 文件。我再次堆积了太长的 JS 和 PHP 文件。有什么解决方案吗?
    • 是的 - 请参阅this answer on using JText in Javascript。 stackoverflow.com/questions/16122021/…
    【解决方案2】:

    你可以试试这个

    <?php echo JURI::root();?>components/com_mycomponent
    

    【讨论】:

    • 这确实是一个很好的解决方案,但我认为 cppl 描述了该问题的正确答案。谢谢@Praveen kalal
    【解决方案3】:

    这将为您提供组件/当前组件的路径。

    echo JPATH_COMPONENT;
    

    Source

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      相关资源
      最近更新 更多