2011-12-29 3 views
5

"완벽한"MVC joomla 구성 요소를 만드는 방법에 대한 joomla 자습서를 방금 보았습니다. 그러나, 내 문제는 내가 메뉴에 그것을 할당하는 방법을 아직 모른다. 그런 다음 "메뉴 항목 유형"을 선택하면 내 구성 요소가 표시되지만 내 구성 요소는이 목록에 없다고 생각했습니다. Google에 대한 조사를 해봤지만 대답을 찾을 수 없습니다 ... metadata.xml 파일 또는 이와 비슷한 파일을 만들어야합니까? 미리 답변 해 주셔서 감사합니다 !!메뉴 항목 유형에 Joomla 구성 요소가 표시되지 않습니다.

+0

어떤 튜토리얼을 따랐습니까? Joomla의 어떤 버전입니까? – Hanny

+0

글쎄, _official_ 자습서를 생각합니다. 여기에 있습니다 : [link] (http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1)! 나에게 대답 할 시간을내어 주셔서 감사합니다. 그러나 아래 답변을 찾았습니다 ... – ubi

답변

5

구성 요소에 대한 "보기"를 만들려면 일부 XML 파일을 만들어야합니다. 구성 요소의 프론트 엔드 부분에있는 템플릿 폴더 (일반적으로 /components/com_yourcomponent/views/someview/tmpl)에 템플릿이 "default.php"및 "form.php"인 경우 다음을 수행 할 수 있습니다. "default.xml"파일과 "form.xml"파일을 작성하여이 메뉴 항목을 관리자가 사용할 수있게하십시오. 이러한 XML 파일의 구조를보기 위해 다른 구성 요소에 좀 걸릴 수 있습니다,하지만 당신은 내 놓아야하는 것입니다 :

1) 이름과 네 개의보기 2) PARAMS 사용자 수에 대한 설명 (모듈/플러그인 매개 변수처럼 작동합니다.) 3) 해당 메뉴 항목에 "숨겨진"요청 변수를 설정할 수도 있습니다. 즉, 특정 메뉴 항목의 요청에 해당 변수가 추가되지만 사용자는 값을 변경할 수 없습니다.

<?xml version="1.0" encoding="utf-8"?> 
<metadata> 
    <layout title="COM_AGMTAGS_TAG_VIEW_DEFAULT_TITLE"> 
     <message>COM_AGMTAGS_TAG_VIEW_DEFAULT_DESC</message> 
    </layout> 
<fields name="request" addfieldpath="/administrator/components/com_agmtags/models/fields"> 
    <fieldset name="request"> 
     <field name="tag_id" type="agmtag" 
     label="COM_AGMTAGS_TAG_FIELD_NAME_LABEL" 
     description="COM_AGMTAGS_TAG_FIELD_NAME_DESC" 
     /> 
    </fieldset> 
</fields> 
<fields name="params"> 
    <fieldset name="basic" label="COM_AGMTAGS_TAG_OPTIONS"> 
     <field name="layout_type" type="hidden" default="blog" /> 
    <field name="show_tag_name" type="list" 
     label="COM_AGMTAGS_SHOW_TAG_NAME" 
     description="COM_AGMTAGS_SHOW_TAG_NAME_DESC" 
     > 
      <option value="">JGLOBAL_USE_GLOBAL</option> 
      <option value="0">JHIDE</option> 
      <option value="1">JSHOW</option> 
     </field> 
     <field name="show_tag_description" type="list" 
     description="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_DESC" 
     label="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_LABEL" 
     > 
      <option value="">JGLOBAL_USE_GLOBAL</option> 
      <option value="0">JHIDE</option> 
      <option value="1">JSHOW</option> 
     </field> 
     <field name="items_per_page" type="text" default="" /> 
     <field name="container_class" type="text" default="agmtags-list" /> 
    </fieldset> 
</fields> 
</metadata> 

내가 도움이 희망 :

여기에 완전한 구성 요소의 예 (Joomla를 1.7)입니다!

+0

감사합니다 alghimo, 그게 내가 놓친 모든 것이 었습니다, 이제 작동합니다! – ubi

0

또한 또 다른 catch가 있습니다. 섹션의 구성 요소의 설치 XML 파일에서 메뉴가 필요하지 않더라도 태그는 이어야합니다.

이 누락 된 경우에, 당신은 당신이 단순히보기를 추가하려면 유형이 늘

3

:-)이있을 수 있기 때문에, 메뉴 항목에 을이 구성 요소를 추가 할 수있는 옵션이 제공되지 않을거야 목록에 링크는 com_yourcomponent/뷰 내부 default.xml에라는 XML 파일을 생성/yourviewname/tmpl/

XML 코드는 아래 목록

<?xml version="1.0" encoding="utf-8"?> 
<metadata> 
    <layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE"> 
     <message>COM_YOURCOMPONENT_FRONPAGE_MSG</message> 
    </layout> 
</metadata> 
에 메뉴 항목 링크를 표시하는 데 사용되는 두 개의 언어 문자열 소요

파일을 저장하면 링크가 메뉴 항목 목록에 나타납니다.

0

, 당신의 대안보기 파일 이름은 밑줄로 작성해서는 안 말하려고했던 것입니다 생각 날 위해 일했습니다.

table_catalog.xml 
table_catalog.php 
table_catalog_item.php 

"메뉴 항목 유형"목록에 새로운 옵션이 없습니다.그러나

tablecatalog.xml 
tablecatalog.php 
tablecatalog_item.php 

파일 이름이 완벽하게 작동합니다. 문제를 드러내는 시간을 잃어 버렸습니다.

관련 문제