Backoffice - Artikel Main um Dropdown erweitern

Hi,

ich möchte meine Artikelstammdaten um ein Feld erweitern (article_main.tpl )
Mit Smarty einen Formularwert hinzufügen ist kein Problem (check), auch die Datenbanktabelle (oxarticle) um ein Feld erweitern ist kein Provlem (check).

Ich würde jetzt ich nicht jedesmal das neue Feld von Hand zu Fuß befüllen, sondern dies durch ein Pulldown lösen (finde ich chick & elegant).

Hier fangen meine Probleme auch an…

ich habe folgendes gemacht:

  1. Ich habe ein Verzeichnis /oxid/modules/my_module/ angelegt

  2. Ich habe eine neue Tabelle zSachbearbeiter angelegt und mit Daten befüllt

  3. ich habe in meinem neuen Verzeichnis eine Datei addSachbearbeiter.php angelegt

Inhalt von addSachbearbeiter.php


class addSachbearbeiter extends oxManufacturerList {


     protected $_oRoot = null;

     protected $_aPath = array();
 
     protected $_blShowManufacturerArticleCnt = false;
 
     protected $_oClickedManufacturer = null;


     public function loadSachbearbeiterList()
     {
         $sLangAdd = oxLang::getInstance()->getLanguageTag();
         $oBaseObject = $this->getBaseObject();
 
         $sFieldList = $oBaseObject->getSelectFields();
         $sViewName  = $oBaseObject->getViewName();
         $this->getBaseObject()->setShowArticleCnt( $this->_blShowManufacturerArticleCnt );
 
         $sWhere = '';
         if ( !$this->isAdmin() ) {
             $sWhere  = $oBaseObject->getSqlActiveSnippet();
             $sWhere  = $sWhere?" where $sWhere and ":' where ';
             $sWhere .= "{$sViewName}.oxtitle{$sLangAdd} != '' ";
         }
 
         $sSelect = "select {$sFieldList} from {$sViewName} {$sWhere} order by {$sViewName}.oxtitle{$sLangAdd}";
         $this->selectString( $sSelect );
     }


}


class extendedArticle_Main extends Article_Main
{
     public function getSachbearbeiterList()
     {
         $oSachbearbeiterList = oxNew( "zSachbearbeiter" );
         $oSachbearbeiterList->loadSachbearbeiterList();
 
         return $oSachbearbeiterList;
     }


}

  1. das Modul eingetragen

und eine schöne Fehlermeldung kommt…

[ul]
[li]Was steht in der Fehlermeldung?
[/li][li]Was steht in der Modulkonfiguration (Punkt 4)
[/li][li]Je erweiterte Klasse eine PHP-Datei
[/li][li]Klassen werden als Modul erweitert mit
[/li]'class extendedArticle_Main extends extendedArticle_Main_parent{}'
In der Modulkonfiguration muss dann
’article_main=>/modulefolder/extendedArticle_Main’
stehen.
[li]Falls das so gewollt ist:
[/li]Klassen welche nicht als Modul erweitert werden müssen in den entsprechenden Oxid-Ordner (core,admin,views), damit Oxid diese auch findet.
Bei Deiner Konvention, ist kein Eintrag als Oxid Modul notwendig. Dies sind dann eigenständige, abgeleitete Klassen, welche über den entsprechenden Klassennamen initiiert werden müssen.
oxNew(‘extendedArticle_Main’);
[/ul]