【问题标题】:First attempt php Joomla! plugin第一次尝试php Joomla!插入
【发布时间】:2016-03-17 09:40:27
【问题描述】:

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

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 知识并最终能够构建其他人可以使用的模板。我已经研究出了如何组装和 hack 模板,只需对已经存在的内容进行样式设置,这将是完全可以接受的,但我不确定最终用户需要更改多少以及他们将更改的选项需要。这确实需要在后端构建。

【问题讨论】:

    标签: php xml joomla frontend joomla3.0


    【解决方案1】:

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

    如果是这样,第一步是添加参数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 语句中使用了“已启用”参数:

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

    如果我改用

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

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

    这也适用于模块。

    【讨论】:

    • 感谢您的帮助!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-07-01
    • 2016-12-15
    • 1970-01-01
    • 2013-10-07
    • 2020-07-13
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多