Если это понадобится кому-то кроме меня, то решение такое:
в файле administrator\components\com_virtuemart\html\shop.product_details.php в самом конце находим строку:
$template = preg_replace("/{vm_lang:([^}]*)}/ie", "\$VM_LANG->\\1", $template);
для того, что бы на странице свойств товара заработали все актикные мамботы после этой строки нужно вставить:
// start - enable "content type" plugin parsing
global $_MAMBOTS;
$_MAMBOTS->loadBotGroup( 'content' );
$row->text = $template;
$results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );
$template = $row->text;
// end - enable "content type" plugin parsing
это всё,
если нужно, что бы мамботы работали на каких-то других страницах виртуя, то соответственно нужно сделать, что-то похожее в файлах, отвечающих за их отображение.
если нужно, что бы работали только те мамботы, которые я хочу включить (например в моём случае виртуй отказывался работать при включённом dynamicImage), то вместо предыдущего кода нужно вставить что-то типа:
// start - enable "content type" plugin parsing
global $_MAMBOTS;
$_MAMBOTS->loadBotGroup( 'allvideo' );
$row->text = $template;
$results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );
$template = $row->text;
// end - enable "content type" plugin parsing
после этого открыть \includes\joomla.php
найти там вот этот код:
case 'content':
if (!defined( '_JOS_CONTENT_MAMBOTS' )) {
/** ensure that query is only called once */
define( '_JOS_CONTENT_MAMBOTS', 1 );
$query = "SELECT folder, element, published, params"
. "\n FROM #__mambots"
. "\n WHERE access <= " . (int) $gid
. "\n AND folder = 'content'"
. "\n ORDER BY ordering"
;
$database->setQuery( $query );
// load query into class variable _content_mambots
if (!($this->_content_mambots = $database->loadObjectList())) {
//echo "Error loading Mambots: " . $database->getErrorMsg();
return false;
}
}
// pull bots to be processed from class variable
$bots = $this->_content_mambots;
break;
и сразу после него добавить:
case 'allvideo':
if (!defined( '_JOS_CONTENT_MAMBOTS' )) {
/** ensure that query is only called once */
define( '_JOS_CONTENT_MAMBOTS', 1 );
$query = "SELECT folder, element, published, params"
. "\n FROM #__mambots"
. "\n WHERE access <= " . (int) $gid
. "\n AND element = 'plugin_jw_allvideos'"
. "\n ORDER BY ordering"
;
$database->setQuery( $query );
// load query into class variable _content_mambots
if (!($this->_content_mambots = $database->loadObjectList())) {
//echo "Error loading Mambots: " . $database->getErrorMsg();
return false;
}
}
// pull bots to be processed from class variable
$bots = $this->_content_mambots;
break;
это включит в product_details только plugin_jw_allvideos или то, что вы укажете.