X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Dev Questions (X-Cart 5) (https://forum.x-cart.com/forumdisplay.php?f=56)
-   -   Can't modify the Product -> Inventory screen (https://forum.x-cart.com/showthread.php?t=74947)

kirkbauer 01-31-2017 09:22 PM

Can't modify the Product -> Inventory screen
 
Upgrading from 5.2 to 5.3 there were some changes to the Inventory tab of the Product view in the admin interface. I am trying to port my old changes over so that I can add a few new fields to this screen but I keep running into a strange error. If I uncomment any (or all) of the four new fields in this object I get an internal server error.

PHP Code:

class Inventory extends \XLite\View\FormModel\Product\Inventory implements \XLite\Base\IDecorator
{
    protected function 
defineFields()
    {
        
$fields parent::defineFields();

#        $fields[self::SECTION_DEFAULT]['reservedInventory'] = $this->defineReservedInventory();
#        $fields[self::SECTION_DEFAULT]['wantAmount'] = $this->defineWantAmount();
#        $fields[self::SECTION_DEFAULT]['extId'] = $this->defineExtId();
#        $fields[self::SECTION_DEFAULT]['inventoryLocation'] = $this->defineInventoryLocation();

        
return $fields;
    }

    protected function 
defineReservedInventory()
    {
        return array(
            
'type' => 'XLite\View\FormField\Input\Text\Integer',
            
'label' => 'Reserved Inventory',
            
'position' => 600,
        );
    }

    protected function 
defineWantAmount()
    {
        return array(
            
'type' => 'XLite\View\FormField\Input\Text\Integer',
            
'label' => 'Want Amount',
            
'position' => 700,
        );
    }

    protected function 
defineExtId()
    {
        return array(
            
'type' => 'XLite\View\FormField\Input\Text',
            
'label' => 'External ID',
            
'position' => 800,
        );
    }

    protected function 
defineInventoryLocation()
    {
        return array(
            
'type' => 'XLite\Module\KB\TDT\View\FormField\Select\InventoryLocation',
            
'label' => 'Inventory Location',
            
'position' => 900,
        );
    }



As long as all of the four lines are commented out things work just fine. When I uncomment any or all of the lines to add new fields, I get this error:

Jan 31 23:47:45 XLite [error] Trying to call undefined class method; class - "XLite\Controller\Admin\Product", function - "getDir"
Runtime id: bdf5a666becc3370efc60fa59b6e9c36;
Server API: apache2handler; IP: 75.138.74.216;
Request method: GET;
URI: /admin.php?target=product&product_id=2620&page=inve ntory;
Backtrace:
file <compiled classes repository>/classes/XLite/Base.php : 62
method XLite\Base::__call('getDir', array(0))
method XLite\Controller\Admin\Product::getDir()
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 146
file <compiled classes repository>/classes/XLite/View/FormField/Input/Text.php : 37
file <compiled classes repository>/classes/XLite/View/FormField/Input/Text.php : 37
file <compiled classes repository>/classes/XLite/View/FormField/Input/Text/Integer.php : 25
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 716
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 704
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 672
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 635
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 730
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 750
file <compiled classes repository>/classes/XLite/View/FormModel/AFormModel.php : 409
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 950
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 608
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 276
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Functions.php : 53
method XLite\Core\Templating\Twig\Functions::widget(objec t of Twig_Environment, array(1), array(1))
file <X-Cart root>/vendor/twig/twig/lib/Twig/Environment.php(403) : eval()'d code : 25
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Template.php : 134
file <X-Cart root>/vendor/twig/twig/lib/Twig/Template.php : 355
file <compiled classes repository>/skins/08/089897feed1caff57d51f770ae979dd7a10abd4ce220c7039f ac1c12e8b90db2.php : 114
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Template.php : 134
file <X-Cart root>/vendor/twig/twig/lib/Twig/Template.php : 355
file <compiled classes repository>/classes/XLite/Core/Templating/TwigEngine.php : 78
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 329
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 292
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 1041
file <compiled classes repository>/classes/XLite/Module/XC/ThemeTweaker/View/AView.php : 453
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Functions.php : 80
method XLite\Core\Templating\Twig\Functions::widget_list( object of Twig_Environment, array(1), array(1))
file <compiled classes repository>/skins/a8/a8c859032e1d29cb8624856a4b65bb9a4c2878887fe907d78e fa3c8a5ef08a94.php : 48
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Template.php : 134
file <X-Cart root>/vendor/twig/twig/lib/Twig/Template.php : 355
file <compiled classes repository>/classes/XLite/Core/Templating/TwigEngine.php : 78
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 329
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 292
file <compiled classes repository>/classes/XLite/View/Content.php : 48
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 1041
file <compiled classes repository>/classes/XLite/Module/XC/ThemeTweaker/View/AView.php : 453
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Functions.php : 80
method XLite\Core\Templating\Twig\Functions::widget_list( object of Twig_Environment, array(1), array(1))
file <compiled classes repository>/skins/03/037acfd233d1c0faf15f7973d6554af2c606d91c5085d1493a 3511d1096ea8d0.php : 64
file <compiled classes repository>/classes/XLite/Core/Templating/Twig/Template.php : 134
file <X-Cart root>/vendor/twig/twig/lib/Twig/Template.php : 355
file <compiled classes repository>/classes/XLite/Core/Templating/TwigEngine.php : 78
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 329
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 292
file <compiled classes repository>/classes/XLite/View/Content.php : 48
file <compiled classes repository>/classes/XLite/View/AViewAbstract.php : 355
file <compiled classes repository>/classes/XLite/View/ControllerAbstract.php : 216
file <compiled classes repository>/classes/XLite/Module/QSL/CloudSearch/View/Controller.php : 100
file <compiled classes repository>/classes/XLite/View/ControllerAbstract.php : 245
file <compiled classes repository>/classes/XLite/View/ControllerAbstract.php : 60
file <compiled classes repository>/classes/XLite/Controller/AControllerAbstract.php : 653
file <compiled classes repository>/classes/XLite/Module/XC/ThemeTweaker/Controller/AController.php : 23
file <compiled classes repository>/classes/XLiteAbstract.php : 666
file <compiled classes repository>/classes/XLite/Module/XC/MailChimp/XLite.php : 21
file <X-Cart root>/admin.php : 18

kirkbauer 02-01-2017 08:18 PM

Re: Can't modify the Product -> Inventory screen
 
I'm really stuck on this one; does anybody have any ideas? Is there more information I can provide that would help?


All times are GMT -8. The time now is 06:16 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.