Custom Fields Bug - Cannot Save Cart Input as "YES" (VM 2.9.9.5)

Started by lmiksch, November 15, 2014, 16:48:06 PM

Previous topic - Next topic

lmiksch

Joomla 3.3.6
Virtuemart 2.9.9.5

I have the following issue:

New Custom Fields will not save Cart Input as "YES". Selecting the option and clicking save causes the Custom Field to revert to Cart Input "NO".


Cloned Custom Fields (from sample data) cannot be modified. Even saving a name change on the cloned custom filed causes the Custom Field to revert to Cart Input "NO".

I have been testing by turning plugins on and off and have not been able to make this feature work.

Milbo

Please disable all customplugins in the joomla config (just as test). If it works then, then it is one of the customplugins. Actually the download plugin of the istraxx had that problem, but is already corrected. The reason is that plugins can set the option to simplify the installation, but it can happen that the wrong plugin becomes active.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

lmiksch

I had disabled all extensions and tested before I posted. I have now created a new website to test  - even using a different theme and I began bringing back one extenion at a time and then testing.

With only a few extensions installed I could save - then I started updating the configurations and lost the functionality again. The only way I have been able to get it back is to uninstall and reinstall Virtuemart.


My best guess right now is that I may be changing something in the Configuration that immediately breaks functionality. I am now working on testing clean files - that I only change the configuration files for.

Another issue that I have is that I have a warning I cannot get resolved. There is possibly a chance these things are related

Warning
_specs.xml files not found in .../tcpd/fonts

Milbo

First, you never, never need to reinstall VM. Completly useless procedure.

The reason is as I said before
Quote
The reason is that plugins can set the option to simplify the installation, but it can happen that the wrong plugin becomes active.

Joomla plugins use the observer pattern, that means any plugin having the trigger

plgVmOnStoreInstallPluginTable are executed and must determine themself if they should be active. Some plugins make only sense if they are cart_attribute. So for example the textinput plugin has
Quote
public function plgVmOnStoreInstallPluginTable($psType,$data,$table) {

      if($psType!=$this->_psType) return false;
      if(empty($table->custom_element) or (!empty($table->custom_element) and $table->custom_element!=$this->_name) ){
         return false;
      }
      if(empty($table->is_input)){
         vmInfo('COM_VIRTUEMART_CUSTOM_IS_CART_INPUT_SET');
         $table->is_input = 1;
         $table->store();
      }
}
If the line "if(empty($table->custom_element) or (!empty($table->custom_element) and $table->custom_element!=$this->_name) ){"

is not doing its job, then the

$table->is_input = 1;
$table->store();

is executed and overrides the parameter. So some of your plugins is doing that. If you have customplugins not compatible with vm3, then you may get that problem.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

lmiksch

You are right and I did find the plugin. It is Shipments for Virtual Products. I have contacted the developer and am awaiting a reply.