Joomla分类添加第二张图片插件失效问题求助
Joomla分类添加第二张图片插件故障排查
默认情况下,Joomla分类仅支持添加一张图片,我想给分类插入第二张图片,于是制作了一个扩展category.xml的插件,但插件无法正常工作。
插件文件如下:
categorydrawing.xml
<?xml version="1.0" encoding="utf-8"?> <extension type="plugin" group="content" method="upgrade"> <name>plg_category_drawing_image</name> <description>为分类添加绘图图片</description> <files> <filename plugin="categorydrawing">categorydrawing.php</filename> <folder>params</folder> </files> </extension>
categorydrawing.php
<?php // 禁止直接访问 defined ('_JEXEC') or die; class plgContentExample extends JPlugin { /** * 实例化时加载语言文件 * 仅支持Joomla 3.1及以上版本,若要兼容3.0需重写构造函数 * * @var boolean * @since <1.0> */ protected $autoloadLanguage = true; /** * 准备表单并添加自定义字段 * * @param JForm $form 待修改的表单 * @param mixed $data 表单关联数据 * * @return boolean * * @since <1.0> */ function onContentPrepareForm($form, $data) { $app = JFactory::getApplication(); $option = $app->input->get('option'); switch($option) { case 'com_categories' : if ($app->isClient('administrator')) { JForm::addFormPath(__DIR__ . '/forms'); $form->loadFile('category', false); } return true; } return true; } } ?>
故障修复方案
1. 修正插件类名
插件类名必须与插件标识、文件名保持一致,将plgContentExample改为plgContentCategorydrawing:
class plgContentCategorydrawing extends JPlugin { // 其余代码保持不变 }
2. 补全表单文件及路径
- 在插件目录下创建
forms文件夹,新建category.xml文件定义第二张图片字段:
<?xml version="1.0" encoding="utf-8"?> <form> <fields name="params"> <fieldset name="drawing_image" label="绘图图片"> <field name="drawing_image" type="media" label="选择绘图图片" description="为分类添加第二张图片" directory="categories" /> </fieldset> </fields> </form>
- 在插件xml文件中添加
forms文件夹声明:
<files> <filename plugin="categorydrawing">categorydrawing.php</filename> <folder>params</folder> <folder>forms</folder> </files>
3. 检查插件状态
确保插件在Joomla后台已安装并启用。
内容的提问来源于stack exchange,提问作者zhang
相关产品推荐
相关产品推荐

