簡體   English   中英

具有不同頁面的joomla組件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM