Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

Preco nespusti moj plugin?

28. lis 2024 17:41 - 28. lis 2024 17:46 #149922
Preco nespusti moj plugin? od Pololotr
Uživatel
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
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
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á:

  1. 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.
  2. Změna atributů: Atributy type a defer by měly být součástí pole atributů, nikoli samostatné pole.
  3. 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. 
  4. 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?

Powered by Fórum