![](/img/trans.png)
[英]Different urls generated with JRoute::_() in different pages - Joomla! 3
[英]joomla component with different pages
我正在为我的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>
如何在第二页上使用它,以便可以选择第二页将其分配给菜单?
谢谢。
我将使用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语句显示相应的页面。
您需要在同一位置再创建一个与default.xml相同的文件。 其名称也将是布局名称。 例如,其名称为blog.xml。 当您创建菜单时,它将自动在URL中添加layout=blog
。
由于不使用MVC,因此可以检查get值中的layout变量,并可以相应地工作。
而且,如果您使用MVC模式,则只需要在视图中设置布局并创建必须以布局名称开头的tmpl文件。 例如:默认情况下,tmpl文件和博客布局将像
default.php => blog.php
default_edit.php => blog_edit.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.