我开发了一个自定义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);
}
}
任何想法,为什么会这样?
提前感谢:)
答案 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;
}
在控制器文件中。