Chciałem dodać do formularza tworzenia artykułu w K2 kilka pól typu lista. Z listy miano wybierać kilka wartości zapisanych wcześniej przez użytkowników w innym komponencie. Wartość ta ma być zapisana w bazie _k2_items w kolumnie którą utworzyłem pod nazwą "mycatid" To mi się udało. Wszystko działa OK. tyle że wszystkie modyfikacje wprowadzałem w kodzie komponentu. Wolę stworzyć jakiś plugin pod k2 aby uniknąć problemów z aktualizacją. I tu mam problem., jak mogę to zrobić. Męczę się i męczę. Pobrałem plugin udostępniony przez K2 dla programistów, ale on mi zbyt wiele nie przybliżył. Umiem utworzyć w pluginie dodatkowe pole, które będzie wyświetlane w konkretnym miejscu i to chyba tyle. Nie wiem jak mogę pobrać dane do listy i później to zapisać w bazie danych w konkretnym miejscu. Może ktoś może pomóc, albo polecić jakiś plugin pod K2 na którym mogę się wzorować?

Pliki jakie edytowałem:
htdocs\components\com_k2\templates\default\itemfor m.php
Wyświetla w formularzu pole
Kod:
    <td class="adminK2LeftCol">
                                        <label><?php echo JText::_('K2_MyCatID'); ?></label>
                                    </td>
                                    <td class="adminK2RightCol">
                                        <?php echo $this->lists['mycatlistform']; ?>
                                    </td>
htdocs\administrator\components\com_k2\views\item\ view.html.php
Kod PHP:
        $mycat_options $categoriesModel->mycatlistform(NUlltruefalse); 
        
$mycat_options = @array_merge($mycat_options);
        
$lists['mycatlistform'] = JHTML::_('select.genericlist'$mycat_options'mycatid''''value''text'$item->mycatid);  // Zapis do _k2_items mycatid 

htdocs\administrator\components\com_k2\models\cate gories.php
Pobiera dane z innego komponentu, które później są wyświetlane są w formularzu K2 jako lista
Kod PHP:
function mycatlistform($row NULL$hideTrashed false$hideUnpublished true)
    {
        
$address JRequest::getVar('myid''0');
 
$db JFactory::getDBO();
$query "SELECT m.* FROM #__nazwaKOMPONENT_fields_item m WHERE field_id = 19 AND item_id = '$address'"// nazwaKOMPONENT Podac nazwę komponentu 
        
        
$query .= " ORDER BY field_id";
$db->setQuery($query);
$listmycatload $db->loadObjectList();
  
        
       if (
$listmycatload)
        {
            foreach (
$listmycatload as $v)
            {
            
                     
$listmycat[] = JHTML::_('select.option'$v->value$v->value);
       
            }
        }
        else {
            
            
$listmycat[] =  JHTML::_('select.option'0'Brak kategorii');
        }

        return 
$listmycat;
    }