具有不同页面的joomla组件

时间:2014-09-06 10:00:15

标签: php joomla components

我正在为我的joomla网站创建一个组件(没有MVC),我希望有2个可以显示的php页面。

所以我在网站文件夹中有myprog.php和myprog2.php。为了能够选择myprog.php将其分配给菜单,我在文件夹/ site / views / myprog / tmpl /

中创建了一个default.xml文件。

它包含:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="COM_MYPROG_DEFAULT_TITLE">
                <message>
                        <![CDATA[COM_MYPROG_DEFAULT_DESC]]>
                </message>
        </layout>
</metadata>

如何在第二页上显示此内容,以便我可以选择第二页将其指定给菜单?

感谢。

2 个答案:

答案 0 :(得分:1)

我会用MVC :-) 如果你坚持, 这里有一篇关于如何在菜单实例创建中添加参数的文章: http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!2.5_-_Part_06#site.2Fviews.2Fhelloworld.2Ftmpl.2Fdefault.xml

它包含:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
                <message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
        </layout>
        <fields
                name="request"
                addfieldpath="/administrator/components/com_helloworld/models/fields"
        >
                <fieldset name="request">
                        <field
                                name="id"
                                type="helloworld"
                                label="COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL"
                                description="COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC"
                        />
                </fieldset>
        </fields>
</metadata>

我假设您可以字段更改为收音机框。 您可能会在以下位置看到joomla可用字段类型: http://docs.joomla.org/Standard_form_field_types (你不需要创建你的onw字段类型 - 使用无线电)

我会使用收音机选项: http://docs.joomla.org/Radio_form_field_type

我想(没有测试)我会那样:

<field name="pagetoshow" type="radio" default="0" label="Select an option" description="">
  <option value="0">Page this</option>
  <option value="1">Page that</option>
</field>

最后你可以使用

$jinput = JFactory::getApplication()->input;
$pagetoshow = $jinput->get('pagetoshow', 1, 'INT' );
在view.html.php中使用

并使用if语句显示相应的页面。

答案 1 :(得分:0)

您需要在同一位置再创建一个与default.xml相同的文件。它的名字也是布局名称。例如,它的名字是blog.xml。当您创建此菜单时,它会自动在网址中添加layout=blog

由于您没有使用MVC,因此可以在get值中检查布局变量,并且可以相应地工作。

如果你使用MVC模式,那么你只需要在视图中设置布局并创建必须以布局名称开头的tmpl文件。 例如:默认情况下的tmpl文件和博客布局就像

default.php => blog.php
default_edit.php => blog_edit.php