구성 요소보기 페이지에서 joomla의 기본 도구 모음 추가


10

joomla 2.5와 3 모두에 대한 mvc 구성 요소를 개발 중입니다. 많은 구성 요소에서 관리자 측의 설정 페이지 상단에 new, edit, publish, trash, options와 같은 joomla의 기본 명령 버튼을 추가 한 것을 보았습니다. 예 : 구성 요소-> 웹 링크-> 링크 페이지로 이동하면 오른쪽 상단의 해당 명령 버튼에 대해 이야기하고 있습니다.

구성 요소의 설정 페이지에서 해당 명령 단추를 어떻게 추가합니까? 클릭하면 각각의 작업을 수행하고 각각의보기를 표시합니다. 예를 들어, "새로 만들기"버튼을 클릭하면 내 mvc 구성 요소의 추가 항목보기가 그대로 표시됩니다.

그래서 관리자 측의 구성 요소 설정 페이지에서 완전히 작동 가능한 joomla의 명령 버튼을 어떻게 추가 할 수 있습니까?

답변:


12

가장 좋은 방법은 addToolBar()View 클래스 내에 메서드를 만든 다음 JToolBarHelper클래스를 사용하여 명령 단추를 만드는 것입니다.

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

따라서 이들은 지정된 컨트롤러에서 작업 / 기능 "add"/ "edit"를 호출합니다. 그런 다음 $this->addToolBar()View의 display()메소드 를 호출 하십시오 .

참조 구성 요소에 대한 도구 모음 만들기


내 구성 요소에는 컨트롤러 파일 controller.php 만 있고 그 안에는 function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }view.html.php 파일에 JToolBarHelper :: addNewX ( 'controller.add'); 새 버튼이 나타나지만 클릭하면 내보기 양식으로 이동하지 않고 대신 URL에 #을 추가합니다
dev-m

생략 controller.taskJToolBarHelper::addNewX();
Dmitry Rekun

JToolBarHelper :: addNewX (); 만 추가되었습니다. 그러나 작동하지 않습니다.
dev-m

그런 다음 controllers디렉토리 아래에 적절한 컨트롤러를 만들어야합니다 . 참조 백엔드 작업 추가
드미트리 Rekun에게

5

단추를 표시하는보기에 제출 양식이 있는지 확인해야합니다. 양식 이름은 adminForm이어야합니다. 양식에는 task라는 숨겨진 필드와 동적으로 생성 된 토큰이 있어야합니다. 나는 머리 꼭대기에서 API를 기억할 수 없지만 다음과 같은 것입니다 JHtml::_('form.token');(누군가 실수하면 이것을 수정하십시오)

이것은 트릭을 수행합니다.


내가 전에 발견 한 문제는 대신 adminForm으로 양식 이름을 사용하고 있다는 것입니다. adminForm.it은 대소 문자를 구분하는 것처럼 보입니다.
dev-m

Joomla보다 JavaScript에 가깝습니다. 버튼을 클릭하면 실제로 JS 제출 양식 기능이 트리거되므로 양식을 찾을 수 없으면 조용히 실패합니다.
Mathew Lenning
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.