2014-09-14 9 views
4

com_menus - item보기에 맞춤 입력란을 추가 할 때 문제가 있습니다.Joomla 3.3 - 플러그인을 통해 모든 메뉴 항목에 맞춤 필드 추가하기 - 매개 변수가 저장되지 않음

자습서 : (참조 : http://docs.joomla.org/Adding_custom_fields_to_core_components_using_a_plugin를)

튜토리얼이 큰 (com_contact)를 작동하지만이 메뉴 항목보기를 포함 할 때 : 매개 변수는 저장되지 않습니다!

다음은 사용자 지정 양식을 추가하기위한 구성 요소와보기를 결정하는 데 사용하는 코드입니다. 여기

class plgContentPluginName extends JPlugin { 

    function onContentPrepareForm($form, $data) { 

     $app = JFactory::getApplication(); 
     $option = $app->input->get('option'); 
     $view = $app->input->get('view'); 

     switch($option) { 

       case 'com_menus': { 
        if ($app->isAdmin() && $view == 'item') { 
          JForm::addFormPath(__DIR__ . '/forms'); 
          $form->loadFile('item', false); 
        } 
        return true; 
       } 

     } 
     return true; 

    } 
} 

내가 만들거나 메뉴 항목을 편집하고 때 형태가 제대로 렌더링되는로드되고있는 item.xml (/forms/item.xml)

<?xml version="1.0" encoding="UTF-8"?>  
<form> 
     <fields name="params"> 
       <fieldset name="params" label="Custom Fields"> 
         <field name="param1" type="text" label="lbltext"/> 
         <field name="param2" type="text" label="lblText2"/> 
       </fieldset> 
     </fields> 
    </form> 

이지만, "저장"을 누르면 값이 저장되지 않습니다.

감사합니다.

+0

(일반적으로 버그 트래커 내에서) 문서 작성자에게 문제에 대해 물어 보는 것이 가장 좋습니다 (일반적으로 버그 또는 문서 보고서로 수행). 너 그거 해봤 니? 그리고 API 소스 코드로 두 번 확인해 보았습니다. 그런 설정 값을 'NULL'로 설정하는 것은 실제로 가능하며 API가 생성 된 범위 내에서 가능합니까? 'NULL'은 "값이없는"것을 나타 내기 때문에 가장 자주 특수 값입니다. – hakre

+0

새로운 이슈 (http://issues.joomla.org/tracker/joomla-cms/5289)를 만들었습니다. 도움이 될 것입니다. – RAN

+0

+1 질문 - 나는 같은 문제에 달려있다. 새로운 필드/값을 데이터베이스에 저장하려면 무엇이 필요합니까? joomla 문제에 제공 한 링크가이 작업을 수행하는 방법에 대해 명확하지 않습니다. 해결 방법을 게시 할 수 있습니까? –

답변

4

If 블록에서 $ view == 'item'조건을 제거하여이 문제를 해결했습니다.

마지막으로 다음과 같습니다

class plgContentPluginName extends JPlugin { 

function onContentPrepareForm($form, $data) { 

    $app = JFactory::getApplication(); 
    $option = $app->input->get('option'); 

    switch($option) { 

      case 'com_menus': { 
       if ($app->isAdmin()) { 
         JForm::addFormPath(__DIR__ . '/forms'); 
         $form->loadFile('item', false); 
       } 
       return true; 
      } 

    } 
    return true; 
} 

item.xml은 동일하게 유지됩니다.

현재 : Joomla 버전 3.4.1을 사용 중입니다.

+0

감사합니다. –

관련 문제