2014-09-06 41 views
0

我正在创建一个组件(没有MVC)为我的joomla网站,我想有2个PHP页面,我可以显示。joomla组件与不同的页面

所以我在站点文件夹myprog.php和myprog2.php。为了能够选择myprog.php将其分配到一个菜单,我已经在文件夹/网站上创建一个文件default.xml中/视图/ MYPROG/TMPL/

而且它包含:

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

我怎样才能让我的第二页,这样我可以选择第二页,将其分配给菜单?

谢谢。

回答

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语句显示适当的页面。

+0

感谢您的回答,我会按照你的第一个答案,并尝试去代替MVC。 – Richard 2014-09-06 15:09:11

0

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

因为你不使用MVC,那么你可以检查获取值的布局变量,并可以相应地工作。

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

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