News:

Support the VirtueMart project and become a member

Main Menu

VirtueMart update delete admin menu entry

Started by sharp, September 16, 2013, 11:41:01 AM

Previous topic - Next topic

sharp

Hi,

i see that after each VM Update the link in the backend will be removed. So I must rebuild it from hand every time. That is not very comfortable.

I look around in extension table and found only one point which could trigger this bug. I searched for "com_virtuemart" on the extension table and found 2 entries.
The first element is "Xmap - Virtuemart Plugin" with a lower id as VM. After this i have search the vm admin entry on the menu table an saw the menu was linked to the "Xmap - Virtuemart Plugin" and not to VM.

I think the problem with the menu is that Vm on a update search for the first entry on extension table and link it to the menu entry. That is the reason why the entry disapears.

I have changed the id from the "Xmap - Virtuemart Plugin" to a higher as Vm and now the menu doesn't disappear after a update.
So can anyone fix the update script that it search not only for the element field eg add the type and or name field.

hope that can help anybody

Milbo

We use


$q = 'DELETE FROM `#__menu` WHERE `menutype` = "main" AND
(`link`="index.php?option=com_virtuemart" OR `alias`="virtuemart" )';


What do you suggest?
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

sharp

Sry for my late reply but today i tried to install 2.0.24 and the menu point was disappears again...
In the attachment you can see my extensions and there is a Xmap version with the id 10003 which is lower as the VM id.
If this is lower as the VM-ID i get this problem. And the VM menu point gets removed after a update.

What has had worked for me is to uninstall Xmap and VM. After this it is important to remove all plugins from this components and install it again but first VM and then Xmap.

[attachment cleanup by admin]

CE WebDesign München

hm, maybe deletion is working correct and the issue happens during recreation?

maybe joomla gets this (from virtuemart.xml line 48)
<menu img="../components/com_virtuemart/assets/images/vmgeneral/menu_icon.png">COM_VIRTUEMART</menu>
and finds "com_virtuemart" (from disabled Xmap virtuemart-plugin) in table "_extensions"
and gives wrong extension_id number to VM-Link in table "_menu"

so either joomla should check, if type = component in table "_extensions"
or VM - plugins should not use "com_virtuemart" (maybe "com_xmap_virtuemart")


just for info:
table _extensions             
           
extension_id    name    type    element    enabled
10001    xmap    package    pkg_xmap    1
10002    Xmap - Content Plugin    plugin    com_content    1
10003    Xmap - Virtuemart Plugin    plugin    com_virtuemart    0
10014    virtuemart    component    com_virtuemart    1
10015    virtuemart_allinone    component    com_virtuemart_allinone    1
CE WebDesign München: https://ce-webdesign.de | Websites, eCommerce WebShops | Responsive Design | SEO

Milbo

Quote from: gogo123 on October 31, 2013, 17:53:58 PM
10003    Xmap - Virtuemart Plugin    plugin    com_virtuemart    0

Thank you very much. I think that is the answer of the question why if often does not work correctly. Caused by 3rd party plugins using wrong convention.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

CE WebDesign München

maybe the delete-code could go to an uninstall file

or something like:

if update/upgrade -> do nothing
else -> delete-code

might work?
CE WebDesign München: https://ce-webdesign.de | Websites, eCommerce WebShops | Responsive Design | SEO