2014-05-22 3 views
0

구성 요소를 설치하는 동안 메뉴/메뉴 항목 (FRONT-END!)을 만들 수있는 방법이 있습니까?Joomla 3 구성 요소 : 설치 중에 메뉴/메뉴 항목 만들기

이것은 tmpl 폴더의 .xml 파일과 관련이 없습니다. 내가 뭘했는지는 내 구성 요소를 설치 한 후 사용할 준비가 된 Joomla 3 메뉴 (내보기에 메뉴 항목 추가)를 갖는 것입니다.

일부 SQL을 작성하고 Menu/Menu_item 테이블에 직접 삽입 할 수 있음을 알고 있습니다. 그러나 그것은 옳다고 생각하지 않습니다. 사용 가능한 모든 설정 옵션을 사용하면 프런트 엔드 메뉴를 크레이트하는 옵션이없는 것이 이상하게 보입니다.

옵션이 의미하는 바는 매니페스트 파일에서 관리자 섹션에서 동일한 db 테이블 (다른 유형)에 저장되는 백엔드 메뉴를 만들 수 있습니다. 하지만 프론트 엔드에 대해 동일한 작업을 수행 할 수는 없습니까?

SQL 접근 방식을 사용해야하는 경우/where/how? 또는 이것을 작성하려면 플러그인을 작성/설치해야합니까?

감사

안드레아스

+0

동일한 위치에있는 사람. 솔루션을 찾을 수 없었습니다. SQL 사용은 궁극적으로 사용하지 않은 경로입니다. – Andreas

답변

1

당신은 설치 스크립트 파일을 만들고 거기에 예를 들어, 실행하는 몇 가지 코드를 작성할 수 있습니다 구성 요소를 설치 한 후 : administrator/components/com_xyz/script.php

class com_xyzInstallerScript { 

    function postflight($type, $parent) { 
     //... 
     $db = JFactory::getDbo(); 
     $query = $db->getQuery(true); 
     $query->insert($db->quoteName('#__menu')) 
      ->columns(...) 
      ->values(...); 
     //... 
    } 
} 

당신은 메뉴 모듈과 관련된 더 많은 아이디어에 대한 .sql 스크립트 줌라 설치에서 검색 할 수 있습니다. 예 : 설치시 주 메뉴가 기본적으로 채워집니다.

프런트 엔드 메뉴에 관해서는 더 복잡하고 구성 요소의 설치 파일에는 현재 지원이 없다고 생각합니다 (적어도 모릅니다). 관리자는 메뉴 항목이 존재하는 메뉴, 즉 구성 요소 메뉴에 나타나고 harthon 템플리트가 일반적으로 사용되므로 프론트 엔드에서 메뉴가 처음부터 새로 만들어 져야 함을 의미합니다.

+0

오, 설치 스크립트가 있습니다. 나는 그것을 놓쳐 버렸음에 틀림 없습니다 ... 나는 이것을 또 시도 할 것입니다. Thanx @sysoutkoula – Andreas