Extending Oxid Shop, adding a table/object like vendor / Erweiterung Oxid, Analog zu Hersteller/Vendor

Hello!

I’m extending the Shop with a table “unit”, we need this in the search-function for a wine shop. There’s no need to administrateit with oxid, it’s automatically imported.

I’ve already extended many classes and added classes like oxvendor, oxvendorlist, but now I’ve the problem that in the class “oxcmp_categories_extended” which extends oxcmp_categories in the

function _loadUnitTree the function $this->_oParent->setUnitTree( $oUnitTree );is not found, although I’ve declared setUnitTree in the class “oxubase_extsearch” which extends oxUBase.

I’ve seen that “setVendorTree” is declared only in oxUBase, so i extended oxUBase and defined the function"setUnitTree" - but the function is not found (although the extended class is definitely imported).

Is there a need to register this function somewhere so that is is in oxcmp_categories in $this->_oParent??

Thanks for your help!

Chris


http://live.w00dy.info @work @ http://www.gugler.at

I had to change the file views/oxubase.php and modify the

array _aUserComponentNames

so that it looks like

protected $_aUserComponentNames = array(“oxcmp_categories_extended”=>“oxcmp_categories_extended”,“oxview_extended”=>“oxview_extended”);

It works now - after days of studying and searching throught the files :wink:


http://live.w00dy.at @work @ http://www.gugler.at

Hey larryc79,

thanks for your feedback!


Marco Steinhäuser
Community Guide
OXID eSales AG
http://twitter.com/marcosteinhaeus

[QUOTE=larryc79;7040]I had to change the file views/oxubase.php and modify the

array _aUserComponentNames

so that it looks like

protected $_aUserComponentNames = array(“oxcmp_categories_extended”=>“oxcmp_categories_extended”,“oxview_extended”=>“oxview_extended”);

It works now - after days of studying and searching throught the files :wink:


http://live.w00dy.info @work @ http://www.gugler.at[/QUOTE]

Great Post!

Might help me with a similiar problem I am currently experiencing, will test it tomorrow…

But doesn’t this need for modifying this prog blow the concept of being able to modify OXID by extending classes only, and not modifying any shop program?

Wouldn’t it make sense to make the [B]protected[/B] $_aUserComponentNames atrribute a [B]public[/B] attribute, so that it could be set from outside the class code?

[QUOTE=larryc79;7040]I had to change the file views/oxubase.php and modify the

array _aUserComponentNames

so that it looks like

protected $_aUserComponentNames = array(“oxcmp_categories_extended”=>“oxcmp_categories_extended”,“oxview_extended”=>“oxview_extended”);

It works now - after days of studying and searching throught the files :wink:


http://live.w00dy.info @work @ http://www.gugler.at[/QUOTE]

Shouldn’t this rather be

protected $_aUserComponentNames = array(
"oxcmp_categories_extended"=>1,
"oxview_extended"=>1
) ; 

???

Because this array is merged with

    protected $_aComponentNames = array(
                                    'oxcmp_user'       => 1, // 0 means dont init if cached
                                    'oxcmp_lang'       => 1,
                                    'oxcmp_cur'        => 1,
                                    'oxcmp_shop'       => 1,
                                    'oxcmp_categories' => 0,
                                    'oxcmp_utils'      => 1,
                                    'oxcmp_news'       => 0,
                                    'oxcmp_basket'     => 1
                                  );