I am developing a view for the Joomla 4 component. I am trying to connect the style and script files through the WebAssetManager.
use Joomla\CMS\Factory;
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
$wa->registerScript('com_component.corejs', 'com_component/assets/js/component.js');
if ($wa->assetExists('script', 'com_component.corejs')) {
var_dump('Script "com_component.corejs" exists!');
}
$wa->useScript('com_component.corejs');
$wa->registerStyle('com_component.corecss', 'com_component/assets/css/component.css', [], ['data-foo' => 'some attribute'], []);
$wa->useStyle('com_component.corecss');
The assetExists check is performed, but none of the files are included in the <head>
of the document.
The json file (/media/com_component/joomla.asset.json) contains an asset with my script.
What could be the problem?
Sorry for my English
I misunderstood the Joomla4 docks. Files of any assets must be located along the path:
media/com_component/..
Plus, having looked into the internal components, I corrected the connection. In the end, everything worked :)