【问题标题】:Joomla 2.5 template 'functions.php' similar to wordpressJoomla 2.5 模板 'functions.php' 类似于 wordpress
【发布时间】:2012-03-09 14:50:28
【问题描述】:

我需要引用一个特定的functions.php 文件,该文件可以存储在我的Joomla 模板的模板目录中。 WordPress 似乎包含此功能,但如果我执行以下操作:

包含函数文件

<?php require_once ( 'functions.php' ); ?>

在functions.php中:

<?php
     function displaySomething() {
          echo "Hello World";
 }
?>

然后在模板 index.php 中:

<?php displaySomething(); ?>

模板中断/为空白。为了 aguements,我只想有一个可引用的 php case 函数。

【问题讨论】:

  • 我不确定,但它可能是从主索引文件(不是模板的文件)计算的路径,尝试使用templates/templatename/functions.php(或最新Joomla 中的任何内容)。并启用error_reporting,顺便说一句(在Joomla的配置和服务器上)

标签: php joomla joomla2.5


【解决方案1】:

试试这个 -

<?php require_once ($this->baseurl.'/templates/'.$this->template.'/functions.php'); ?>

但是,您可能不应该这样做。一般来说,将任何内容硬编码到您的模板中并不是一个好主意,因为这会消除选择您希望在其上执行代码的页面的能力,并且它会消除轻松编辑代码正在执行的操作的能力。

您确实应该将代码放入模块或插件中。将它放在一个模块中可以轻松选择要打开代码的页面,全局打开或关闭它,或者轻松更改输出。将它放在插件中可以很容易地将它放在基于 Joomla 事件触发器之一的页面上,并在全局范围内打开或关闭它。

就将其转为扩展程序所需的时间而言,这是非常值得的。

【讨论】:

    【解决方案2】:

    尝试使用(使用常量 JPATH_BASE):

    <?php
     #Loading functions
     require_once (
      JPATH_BASE."/templates/{$this->template}/functions.php"
     );
    ?>
    

    【讨论】:

      猜你喜欢
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2016-05-27
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多