繁体   English   中英

与组件链接的Joomla菜单,错误的默认链接地址

[英]Joomla menu linked with component, wrong default link address

我正在构建一个名为event的joomla组件,并设置了一个链接到该组件的名为event的菜单。 当我单击菜单链接时,它不会定向到默认事件列表页面,而是定向到事件注册页面。 我不知道怎么了。

这是controller.php

<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla controller library
jimport('joomla.application.component.controller');


class EventController extends JControllerLegacy
{
    function display() { 
            $this->listing();
    }

    function listing() {


             JRequest::setVar( 'view', 'listing' );
             JRequest::setVar( 'layout', 'default' );
             parent::display(); 
    }

    function edit() {

             JRequest::setVar( 'view', 'edit' );
             JRequest::setVar( 'layout', 'default' );
             parent::display(); 

    }

    function save() {
            $model= & JModelLegacy::getInstance('Event','EventModel');
            $model->save_event();
    }

    function register() {

             JRequest::setVar( 'view', 'register' );
             JRequest::setVar( 'layout', 'default' );
             parent::display(); 

    }
    function register_save() {
            $model= & JModelLegacy::getInstance('Event','EventModel');
            $model->register_event();
    }



}//end 

菜单链接是

http://www.example.com/Joomla_3.2.1/index.php?option=com_event&view=register&Itemid=481

代替

http://www.example.com/Joomla_3.2.1/index.php?option=com_event

默认情况下显示列表页面。

您应该为listing视图创建清单。 在Joomla! 通常,我们将菜单项映射到视图。 在router.php中,您可以选择取消设置不需要且不希望显示URL的任何参数。

组件控制器中的任务通常用于组件内调用,执行后应重新路由到视图。 应该在视图上调用组件路由器,以便为视图显示漂亮的SEF url。 注意:仅当您将参数传递给视图时,才需要router.php,例如,请参见com_content article视图,该视图接收一个id参数。 如果没有参数,则无需自定义router.php,因为Joomla将生成包括视图和布局的URL。

要将清单添加到视图布局,例如/views/listing/tmpl/default.php ,只需创建一个xml文件default.xml 您需要为要在用户创建新菜单项时提供的任何视图布局创建清单。 简单地添加XML清单将使新的布局在菜单项配置中可用。

在该文件中,您可以使用<fieldset name="request">包装器在字段周围设置额外的请求参数。

链接是由Joomla生成的,而不是由组件生成的。 您仅负责处理部分参数,因此option和Itemid将由Joomla处理,您应在router.php(位于组件根目录中,即/components/com_listings/router.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM