Шаблон Joomla 2.5 'functions.php' похож на WordPress - PullRequest
1 голос
/ 09 марта 2012

Мне нужно указать конкретный файл functions.php, который можно сохранить в каталоге шаблонов моего шаблона Joomla.WordPress, кажется, включает это, но если я сделаю что-то вроде:

Включите файл функций

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

В functions.php:

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

и затем вшаблоны index.php:

<?php displaySomething(); ?>

Шаблон обрывается / пуст.Для удобства, я просто хочу иметь единственную ссылочную функцию php.

Ответы [ 2 ]

3 голосов
/ 10 марта 2012

Попробуйте это -

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

Однако есть вероятность, что вы не должны делать это таким образом.В общем случае не стоит жестко кодировать что-либо в шаблоне, потому что это исключает возможность выбора страниц, на которых вы хотите, чтобы код выполнялся, и устраняет возможность легко редактировать то, что делает код.

Вы действительно должны поместить свой код в модуль или плагин.Помещение его в модуль позволяет легко выбирать страницы, на которых вы хотите код, включать или выключать его глобально или легко изменять вывод.Включение его в плагин позволит легко размещать его на страницах, основанных на одном из триггеров событий Joomla, и включать или отключать его глобально.

Сколько времени потребуется, чтобы включить егок расширению, оно того стоит.

1 голос
/ 15 марта 2013

Попробуйте с помощью (используя константу JPATH_BASE):

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