Recent Posts

Pages: 1 2 [3] 4 5 ... 10
General Questions / Last CRYPTO News
« Last post by Barrettimisk on November 29, 2023, 18:55:40 PM »
Welcome to CryptoNews, your go-to source for the latest updates, trends, and insights from the exciting world of cryptocurrency and blockchain technology.
Administration & Configuration / Re: Plugin ReCaptcha endlessly
« Last post by Emma Iana on November 29, 2023, 16:35:06 PM »
It seems that the problem comes from the Mootools Javascript library. There is an incompatibility with Google recaptcha. This mainly impacts Joomla v3.x.

While waiting for the migration to Joomla 4.x and Virtuemart 4.x, do you know of an alternative?
I tested the Amy Captcha extension without success because it does not integrate with Virtuemart's registration form.


disable mootools.

In my case it helped on captcha in Joomla but the one with VM after turning off mootools returns invalid-key. :(

Administration & Configuration / Re: Bug captcha Joomla et VM 4
« Last post by Emma Iana on November 29, 2023, 16:30:34 PM »
Same problem.
Did you try on default joomla template?
I noticed that the error has gone if Enable Dynamic Thumbnail Resizing is set to NO.
Max helped me in writing and optimizing the code. This is the working code:

Code: [Select]

('_JEXEC') or die('Restricted access');

plgVmCustomSpecificaties extends vmCustomPlugin {

__construct(&$subject$config) {

$this->_tablepkey 'id';
    $varsToPush = array(
'icon_field' => array('''string'),
'text_field' => array('''string'),
'html_field1' => array('''string'),
'html_field2' => array('''string')


plgVmOnProductEdit($field$productId, &$row, &$retValue) {
        if (
$field->custom_element != $this->_name) return '';
$html ''// Initialize HTML variable
        // Icon field
$html .= '<div>Icon Field:</div>';
$html .= '<textarea name="customfield_params['.$row.'][icon_field]" style="width: 100%; height: 100px;">';
$html .= htmlspecialchars($field->icon_field);
$html .= '</textarea><br/>';
// Text field
$html .= '<div>Text Field:</div>';
$html .= '<textarea name="customfield_params['.$row.'][text_field]" style="width: 100%; height: 100px;">';
$html .= htmlspecialchars($field->text_field);
$html .= '</textarea><br/>';
// First HTML editor field
$editor JFactory::getEditor();
$html .= '<div>HTML Field 1:</div>';
$html .= $editor->display('customfield_params['.$row.'][html_field1]'htmlspecialchars($field->html_field1), '100%''200''75''20'false);
// Second HTML editor field
$html .= '<div>HTML Field 2:</div>';
$html .= $editor->display('customfield_params['.$row.'][html_field2]'htmlspecialchars($field->html_field2), '100%''200''75''20'false);
$retValue .= $html;

// Additional functions as per your requirement:

function plgVmOnDisplayProductFEVM3(&$product,&$group) {

if ($group->custom_element != $this->_name) return '';
$group->display .= $this->renderByLayout('default',array(&$product,&$group) );
return true;

function plgVmOnViewCartVM3(&$product, &$productCustom, &$html) {
if (empty($productCustom->custom_element) or $productCustom->custom_element != $this->_name) return false;

if(empty($product->customProductData[$productCustom->virtuemart_custom_id][$productCustom->virtuemart_customfield_id])) return false;
foreach( $product->customProductData[$productCustom->virtuemart_custom_id] as $k =>$item ) {
if($productCustom->virtuemart_customfield_id == $k) {
$html .='<span>'.vmText::_($productCustom->custom_title).' '.$item['comment'].'</span>';
return true;

function plgVmOnViewCartModuleVM3( &$product, &$productCustom, &$html) {
return $this->plgVmOnViewCartVM3($product,$productCustom,$html);

function plgVmDisplayInOrderBEVM3( &$product, &$productCustom, &$html) {

function plgVmDisplayInOrderFEVM3( &$product, &$productCustom, &$html) {

 * vendor order display BE
function plgVmDisplayInOrderBE(&$item$productCustom, &$html) {
$item->productCustom $productCustom;
if (empty($item->productCustom->custom_element) or $item->productCustom->custom_element != $this->_name) return '';
$this->plgVmOnViewCart($item,$productCustom,$html); //same render as cart

 * shopper order display FE
function plgVmDisplayInOrderFE(&$item$productCustom, &$html) {
$item->productCustom $productCustom;
if (empty($item->productCustom->custom_element) or $item->productCustom->custom_element != $this->_name) return '';
$this->plgVmOnViewCart($item,$productCustom,$html); //same render as cart

function plgVmDeclarePluginParamsCustomVM3(&$data){
return $this->declarePluginParams('custom'$data);

function plgVmGetTablePluginParams($psType$name$id, &$xParams, &$varsToPush){
return $this->getTablePluginParams($psType$name$id$xParams$varsToPush);

function plgVmSetOnTablePluginParamsCustom($name$id, &$table,$xParams){
return $this->setOnTablePluginParams($name$id$table,$xParams);

// Continue with other functions as needed...

// No closing PHP tag to prevent accidental output

No need to make new tables or anything. This will use the native custom field VM code
General Questions / please remove this spam
« Last post by hazael on November 29, 2023, 11:45:28 AM »
please remove this spam
Installation, Migration & Upgrade / danger Error installing component
« Last post by idor on November 29, 2023, 08:54:25 AM »
Hi all After updating a joomla site from 3 to 4
(Joomla! Version 4.4.0 , PHP Version 8.2.13)

When I try to install Virtuemart (com_virtuemart. the installation doesn't complete and I get this:
Joomla\CMS\Filesystem\Folder::delete: Path is not a folder. Path: [ROOT]/administrator/components/com_virtuemart_allinone/libraries
Joomla\CMS\Filesystem\Folder::delete: Path is not a folder. Path: [ROOT]/administrator/components/com_virtuemart_allinone/plugins
Joomla\CMS\Filesystem\Folder::delete: Path is not a folder. Path: [ROOT]/administrator/components/com_virtuemart_allinone/modules
Joomla\CMS\Filesystem\Folder::delete: Path is not a folder. Path: [ROOT]/administrator/components/com_virtuemart_allinone/modulesBE
Joomla\Filesystem\File::delete: Failed deleting inaccessible file admin.virtuemart_allinone.php

Error installing component

Also there is an update of TcPdf Library

   Administrator    Component    1.0.5    1.2.2

and I get this:
This extension does not provide a checksum for validation of the integrity of the downloaded file.
Joomla\Filesystem\File::delete: Failed deleting inaccessible file admin.tcpdf.php
Before updating ensure that the update is compatible with your Joomla! installation.
You are strongly advised to make a backup of your site's files and database before you start updating.
Error updating component.
I set errors to show and log in the settings..  do you know where I would go to find them.

One other thing is when I get that error page   and hit refresh  I get a pop up to Resend Data?  hit yes and it takes me to the cart where it should go...

I use the VP One Page Checkout...   you think maybe he would know whats going on?  I'm gunna see if I can direct him here..
VirtueMart triggers the "plgVmConfirmedOrder" event after saving the order in the "Pending" state. It passes two arguments to the event. The first is in the cart object, and the second is the order object. Therefore, you can not stop order creation when this event is called.

To check if the cart object has valid data and trigger an error before the order is saved, you must use the "plgVmOnCheckoutCheckDataShipment" event.


Code: [Select]

public function plgVmOnCheckoutCheckDataShipment($cart) {
// Do data validations here
$isValid false;

// If data is invalid
if (!$isValid) {
// Show the error message.
JFactory::getApplication()->enqueueMessage('Please fill up the required data.''error');

// Return false to stop order processing
return false;

// Return true to allow order processing
return true;

Thank you! This is great advice and help. Thanks again.
I believe it is intentional. However, it would be better if an extra parameter could be added in VirtueMart Configuration to add the additional queries to inherit categories of the parent to the child products while filtering tax & calculation rules, shipment methods and payment methods. It is very much possible.
Weird because this was working since forever. Only in this new version this happens right now. And honestly, this is screwing up my shop. Do you know where this functionality is written? So I can change the code?
Pages: 1 2 [3] 4 5 ... 10