Joomla:修改类别的插件

发布于 2024-11-10 19:04:15 字数 196 浏览 3 评论 0原文

我正在尝试为 Joomla 制作一个插件,模仿您对菜单项中的内容类别所做的所有更改。因此,添加、删除和编辑特定文章中的类别名称也会对菜单项进行相同的更改。

内容插件具有 onBeforeContentSaveonAfterDisplayContent 等事件,允许您处理该数据。如何对类别执行同样的操作?

I am trying to make a plugin for Joomla that mimics all the changes you do on content categories in a menu item. So adding, deleting and editing the name of a category in a specific article will also make the same changes on a menu item.

A content plugin has events such as onBeforeContentSave and onAfterDisplayContent that allow you to process that data. How do I do the same thing for categories?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑咖 2024-11-17 19:04:16

不幸的是,没有 onCategorySave 事件。我能想到的最好方法是创建一个 system 插件并检查 taskoption 请求变量中的 save 值com_categories。你的插件看起来像这样:

<?php

defined('_JEXEC') or die('Restricted access');

jimport('joomla.plugin.plugin');


class plgSystemCategorysave extends JPlugin
{
    function onAfterInitialise()
    {
        if (!JFactory::getApplication()->isAdmin()) {
                return; // Dont run in frontend
        }

        $option = JRequest::getCmd('option', '');
        $task = JRequest::getCmd('task', '');

        if ($option == 'com_categories' && $task == 'save') {
            // your processing code here
        }
    }
}

Unfortunately, there isn't an onCategorySave event. The best approach I can think of would be to create a system plugin and check the task and option request variables for values of save and com_categories. Your plugin would look something like this:

<?php

defined('_JEXEC') or die('Restricted access');

jimport('joomla.plugin.plugin');


class plgSystemCategorysave extends JPlugin
{
    function onAfterInitialise()
    {
        if (!JFactory::getApplication()->isAdmin()) {
                return; // Dont run in frontend
        }

        $option = JRequest::getCmd('option', '');
        $task = JRequest::getCmd('task', '');

        if ($option == 'com_categories' && $task == 'save') {
            // your processing code here
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文