Nová verze Joomla 5.1.4
Dnes byla uvolněna nová verze Joomla 5.1.4, společně s Joomla 4.4.8. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
Preco nespusti moj plugin?
28. lis 2024 17:41 - 28. lis 2024 17:46 #149922
Caute, chcel by som spravit jednoduchy plugin, ktory spusti script na upravu category layout page, ale akosi mi dany script nechce nacitat.
Plugin uz mam nahrany v joomle a je enabled. Ked nedam napr zatvorku v kode tak mi to vyhodi na stranke chybu, ale inak script ani style nenacita.
Pouzivam joomlu 4.x a aj VM
Vedeli by ste poradit v com moze byt problem? Diky moc vopred
Plugin uz mam nahrany v joomle a je enabled. Ked nedam napr zatvorku v kode tak mi to vyhodi na stranke chybu, ale inak script ani style nenacita.
Pouzivam joomlu 4.x a aj VM
Vedeli by ste poradit v com moze byt problem? Diky moc vopred
Code:
?php
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Log\Log;
defined('_JEXEC') or die;
class plgVmCustomCategoryLayout extends JPlugin
{
/**
* This function is triggered when VirtueMart renders the category view
*/
public function onVmSiteCategoryView($html)
{
// Log message to confirm plugin execution
Log::add('Category Layout plugin is called', Log::INFO, 'vmcustom');
// Get the Web Asset Manager instance
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
// Register the JavaScript file
$wa->registerScript(
'plg-vmcustom-categorylayout-js', // Unique name for the script
Uri::root() . 'plugins/vmcustom/categorylayout/assets/', // Path to the script
[], // Dependencies (leave empty if none)
['type' => 'module'], // Optional attributes (, module type for modern JS)
['defer' => true] // Load script asynchronously
);
// Register the CSS file
$wa->registerStyle(
'plg-vmcustom-categorylayout-css', // Unique name for the style
Uri::root() . 'plugins/vmcustom/categorylayout/assets/' // Path to the CSS file
);
// Use the registered JavaScript and CSS files
$wa->useScript('plg-vmcustom-categorylayout-js');
$wa->useStyle('plg-vmcustom-categorylayout-css');
// Modify the HTML output
$html = preg_replace('/<div id="category"/', '<div id="category" class="custom-category-layout">', $html);
return $html;
}
28. lis 2024 21:14 - 28. lis 2024 21:14 #149923
I'm sorry, my responses are limited...you must ask the right questions.
Odpověď od Bong
Moderátor
Zapněte si alespoň logování chyb, nebo rovnou využijte
n3t Debug, by Pavel Poles - Joomla Extension Directory
Případně vyzkoušejte AI, ta totiž říká:
Případně vyzkoušejte AI, ta totiž říká:
- Cesta k souborům: Ujistěte se, že cesta k JavaScript a CSS souborům je správná. Měla by obsahovat název souboru.
- Změna atributů: Atributy type a defer by měly být součástí pole atributů, nikoli samostatné pole.
- Kontrola názvu funkce: Ujistěte se, že název funkce onVmSiteCategoryView je správný a že je správně volána v rámci VirtueMart.
- Logování: Zkontrolujte, zda se logovací zpráva skutečně zapisuje do logu. Můžete zkontrolovat logovací soubor v administrator/logs.
I'm sorry, my responses are limited...you must ask the right questions.
28. lis 2024 23:00 #149925
Odpověď od Cony
Moderátor
- jste si jistý, že vůbec existuje událost onVmSiteCategoryView? Nikde jsem ji nenašel...
- pokud ano, nahrávají se při jejím volání pluginy vmcustom?
- u toho přidání skriptu a stylu Vám chybí samotný název souboru, tohle je jen cesta, ne soubor css nebo js
- ten plugin má jen změnit třídu toho div prvku a přidat skript a styl? Nebylo by jednodušší udělat override šablony a plugin vůbec neřešit?
- pokud ano, nahrávají se při jejím volání pluginy vmcustom?
- u toho přidání skriptu a stylu Vám chybí samotný název souboru, tohle je jen cesta, ne soubor css nebo js
- ten plugin má jen změnit třídu toho div prvku a přidat skript a styl? Nebylo by jednodušší udělat override šablony a plugin vůbec neřešit?