2013-06-14 2 views
3

얘들 아 내가 생성자 수정하고 있습니다 있도록 줌라 3.x를 내 컨트롤러에서 사용자 지정 작업을 등록하려고 해요와 (같은 1.5/2.5) :줌라 컨트롤러에서 작업을 등록

<?php 
// No direct access to this file 
defined('_JEXEC') or die('Restricted access'); 

class jjemailControllerjjemail extends JControllerLegacy 
{ 
/** 
* constructor (registers additional tasks to methods) 
* @return void 
*/ 
public function __construct($config = array()) 
{ 
    parent::__construct($config); 

    // Register Extra tasks 
    $this->registerTask('email, 'email'); 
} 

public function email() 
{ 
    $this->setRedirect('index.php?option=com_jjemail&view=thanks', $msg); 
} 
} 

이제 생성자에 var 덤프를 추가하면 작업 등록 전에 표시되지만 var 덤프를 email() 함수에 추가하면 아무것도 제공되지 않습니다. 그래서 나는 어딘가에 그 일을 등록하는 데 실패하고 있다고 생각합니다.

처럼 보이는이 호출 경로 : JRoute::_('index.php?option=com_jjemail&task=jjemail.email');

사람이 왜 그런 바보 같은 방식으로 실패하고 있습니다에 관한 어떤 아이디어를 가지고 -이 쳐다 봤는데 너무 오래 나는 크로스 눈

을 갔어요

답변

6

Joomla 1.5에서는 기본 작업 이름을 등록 할 필요가 없습니다. 당신은 컨트롤러의 방법 중 하나에 매핑하는 별칭을 등록 :

$this->registerTask('emailAbc, 'email'); 
$this->registerTask('unpublish, 'publish'); 

당신은 당신이 양식/연결에서 잘못된 작업을 호출하는 제안 응용 프로그램의 실행을 중지 할 수 없습니다.

이 같은 적절한 작업이 포함되어 있는지 여부를 양식/링크 확인 : 옵션을 = com_jjemail 작업 = jjemail.email 줌라는 컨트롤러의 이메일 방법 당신을 위해, 매핑 "jjemail.email을"모든 일을 할 것입니다

?
+0

고마워 :) 그럼 내 생성자를 제거합니다. 컨트롤러에서 작업이 Joomla 2.5에서 완벽하게 정상적으로 실행되고 있으므로 양식 링크가 정상적으로 작동한다고 생각합니다. –

+0

Joomla 3.1에서도 마찬가지입니다. – CrandellWS

관련 문제