Jak přidat modul do šablony Virtuemart

Systémové upozornění
Hlavní informace
jak-pridat-modul-do-sablony-virtuemart

Když přidáte do php šablony Virtuemartu pozici modulu jako to děláte v index.php, nebude to fungovat...

Tento známý kus php tedy nic neudělá:

<?php if ($this->countModules('vm-module')) { ?>
    <jdoc:include type="modules" name="vm-module" />
<?php } ?>

Správný postup

V componnets/com_virtuemart/views najděte šablonu a zkopírujte jí do vase_sablona/html/view dle postupu pro template overrides. Následně umístěte na vybrané místo tento kus php:

<?php
    $modules = JModuleHelper::getModules("vm-module");
    $document  = JFactory::getDocument();
    $renderer  = $document->loadRenderer('module');
    $attribs   = array();
    $attribs['style'] = 'xhtml';
        
    foreach($modules as $mod) {
      echo JModuleHelper::renderModule($mod, $attribs);
    }
?>

Řádek $attribs['style'] = 'xhtml'; si pak upravte dle toho, co chcete použít za šablonu modulu a název modulu (v mém případě vm-module) si také upravte. Funguje to ve Virtuemart 2 a Joomla 2.5, ale pravděpodobně to bude fungovat i ve vyšších verzích. Hotovo :-)