第一次尝试php Joomla!.plugin


First attempt php Joomla! plugin

PHP 和插件构建的新手。我是一个前端的人,但需要学习在Joomla中构建模板。我有一个小的,它使您能够在ContentAfterTitle函数中插入和更改一些文本。

class plgContentmyplugin extends JPlugin
{
public function onContentAfterTitle($context, $article, $params,  $limitstart)
    {
        if ($this->params->get('alt-text')) {
            return $this->params->get('alt-text');
        } else {
            return "<p>Hello World!</p>";
        }

现在我明白XML决定了管理控制面板中的后端选项。然后使用 php 显示它。

我希望能够扩展这个插件,主要用于学习目的。我有一些XML显示选项来更改字体颜色和大小。我只是有点不确定 php 以及我应该调用哪个函数才能实现这一目标。我应该使用其他参数之一吗?例如$context还是$article?任何帮助将不胜感激。

<field name="font-size" type="list" default="12" description="What size font should the message use?" label="Font size">
                <option value="8">8px</option>
                <option value="12">12px</option>
                 <option value="16">16px</option>
            </field>

同样,我在这里的目的是扩展我的php知识,并最终能够构建其他人可以使用的模板。我已经弄清楚如何通过设置已经存在的样式来组装和破解模板,这是完全可以接受的,但我不确定最终用户需要更改多少以及他们需要的选项。这确实需要在后端构建。

如果我

从您的问题中正确理解,您想将参数添加到您的插件后端并使用它在插件输出中代表的任何内容?

如果是这样,第一步是添加参数 XML,即:

<field type="radio" name="isenabled" label="Is enabled?" class="btn-group btn-group-yesno" default="1">
                <option value="1">JYes</option>
                <option value="0">JNo</option>
            </field>

对于大多数参数,您的字段将位于"基本"字段集中。有关Joomla字段类型的更多信息:https://docs.joomla.org/Standard_form_field_types

然后,在您的插件模板文件中,您只需以您想要的方式获取参数即可。在我的示例中,我在 if 语句中使用了我的"isenabled"参数:

if ($this->params->get("isenabled")) { ... }

如果我改用

echo $this->params->get("isenabled);

我只会取回参数在后端设置的值;在这种情况下,是或否。

这也适用于模块。