joomla组件不适用于我的主机帐户

时间:2011-02-09 04:16:57

标签: php joomla components

我开发了一个自定义joomla 1.5组件,它在本地工作正常(wamp服务器,php 5.3.5)和工具栏功能添加/编辑和删除不适用于我的主机帐户(apache,php 5.2.16)

我有两个工具栏,当我点击第二个工具栏时,它会重定向到第一个工具栏

这是我的代码

Controller.php这样

class GalGallerifficController extends JController
{

/**
 * Method to display the view
 *
 * @access    public
 */
 /**
 * constructor (registers additional tasks to methods)
 * @return void
 */
function __construct()
{
        parent::__construct();

        // Register Extra tasks
        $this->registerTask( 'add'  , 'edit' );
}

/**
 * display the edit form
 * @return void
 */
function edit()
{
        JRequest::setVar( 'view', 'gallery' );
        JRequest::setVar( 'layout', 'form'  );
        JRequest::setVar('hidemainmenu', 1);

        parent::display();
}
 /**
 * remove record(s)
 * @return void
 */
function remove()
{
        $model = $this->getModel('gallery');
        if(!$model->delete()) {
            $msg = JText::_( 'Error: One or More Gallery(s) Could not be Deleted' );
        } else {
            $msg = JText::_( 'Gallery(s) Deleted' );
        }
        $this->setRedirect( 'index.php?option=com_galleriffic', $msg );
}
}

和第二个控制器/ galleryitems.php

class GalGallerifficControllerGalleryItems extends JController
{
function __construct()
{
        parent::__construct();

        // Register Extra tasks
        $this->registerTask( 'add'  , 'edit' );
}
/**
 * display the edit form
 * @return void
 */
function edit()
{
        JRequest::setVar( 'view', 'galleryitem' );
        JRequest::setVar( 'layout', 'form'  );
        JRequest::setVar('hidemainmenu', 1);
        parent::display();
}
 /**
 * remove record(s)
 * @return void
 */
function remove()
{
    $model = $this->getModel('gallery');
    if(!$model->delete()) {
        $msg = JText::_( 'Error: One or More Gallery(s) Could not be Deleted' );
    } else {
        $msg = JText::_( 'Gallery(s) Deleted' );
    }

    $this->setRedirect( 'index.php?option=com_galleriffic', $msg );
}
function display()
{
    parent::display();
}
}

和galleryitems视图

class GalGallerifficViewGalleryItems extends JView
{
    function display($tpl = null)
    {
        JToolBarHelper::title( JText::_( 'Galleriffic Gallery Items' ), 'generic.png' );
        JToolBarHelper::deleteList();
        JToolBarHelper::editListX();
        JToolBarHelper::addNewX();

        // Get data from the model
        $items =& $this->get( 'Data');
        $this->assignRef( 'items', $items );
        parent::display($tpl);
    }
}

任何想法,为什么会这样?

提前感谢:)

2 个答案:

答案 0 :(得分:0)

问题是控制器,模型,视图名称......

class GalGallerifficViewGalleryItems

这个命名在wamp服务器上工作正常但是当上传到主机帐户(apache)时却没有 它应该遵循骆驼命名

class GalGallerifficViewGalleryitems

我希望它能帮助其他开发者:)

答案 1 :(得分:0)

我已经通过

解决了这个问题 使用

class GalGallerifficViewGalleryitems

而不是

class GalGallerifficViewGalleryItems

为此,您还需要更改

public function getModel($name = 'galleryitems', $prefix = 'GalGallerifficModel')
{
    $model = parent::getModel($name, $prefix, array('ignore_request' => true));
    return $model;
}

在控制器文件中。