2012-03-09 4 views
1

내 Joomla 템플릿의 템플릿 디렉토리에 저장할 수있는 특정 functions.php 파일을 참조해야합니다. 워드 프레스는이를 포함하는 것,하지만 난 뭔가를 할 경우 : 템플릿의 index.php에서 다음Joomla 2.5 템플릿 'functions.php'이 (가) wordpress와 비슷합니다.

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

과 :

이 기능은 functions.php에서

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

파일을 포함한다 :

<?php displaySomething(); ?> 

템플릿 나누기 /가 비어 있습니다. aguements 위해서, 나는 단지 하나의 referencable php case 함수를 갖고 싶다.

+1

잘 모르겠어요,하지만 경로가 기본 색인 파일에서 계산 될 수있다 (안 템플릿의 하나), /'템플릿을 사용하여 시도 templatename/functions.php' (또는 그것이 최신 Joomla에서 무엇이든). 그리고 error_reporting, btw (joomla의 설정과 서버 모두에서) –

답변

3

이 시도 - 그러나

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

을, 기회는 당신이 이런 식으로하지 말아야한다는 것이다. 일반적으로 템플릿에 하드 코딩을하는 것은 좋지 않습니다. 코드를 실행하려는 페이지를 선택하는 기능이 제거되고 코드가 수행하는 작업을 쉽게 편집 할 수 없기 때문입니다.

정말 코드를 모듈이나 플러그인에 넣어야합니다. 모듈에 넣으면 코드를 원하는 페이지를 선택하거나, 전역으로 켜거나 끌 수 있으며 출력을 쉽게 변경할 수 있습니다. 그것을 플러그인에 넣으면 줌라 (Joomla) 이벤트 트리거 중 하나를 기반으로하는 페이지에 쉽게 넣을 수 있으며, 전역으로 켜거나 끌 수 있습니다.

확장 프로그램을 실행하는 데 시간이 오래 걸리면 그만한 가치가 있습니다. (상수 JPATH_BASE 사용)

+1

+1 제안 – ChelseaStats

1

시도 :

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