joomla 组件不适用于我的主机帐户
Posted
技术标签:
【中文标题】joomla 组件不适用于我的主机帐户【英文标题】:joomla component does not work on my hosting account 【发布时间】:2011-06-23 21:34:19 【问题描述】:我开发了一个自定义 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();
和画廊项目视图
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);
任何想法,为什么会发生这种情况?
提前致谢:)
【问题讨论】:
当你说它不起作用时,请你说得更具体一点。您收到任何错误消息吗? 没有错误尼克,它只是重定向到主视图有两个表单(添加画廊,添加项目)当点击添加项目时它会添加画廊表单 【参考方案1】:我已经解决了这个问题
使用
class GalGallerifficViewGalleryitems
而不是
class GalGallerifficViewGalleryItems
为此,您还需要更改
public function getModel($name = 'galleryitems', $prefix = 'GalGallerifficModel')
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
在控制器文件中。
【讨论】:
【参考方案2】:问题是控制器、模型、视图名称...
class GalGallerifficViewGalleryItems
此命名在 wamp 服务器上运行良好,但在上传到主机帐户 (apache) 时却不能 它应该遵循骆驼命名
class GalGallerifficViewGalleryitems
希望对其他开发者有所帮助:)
【讨论】:
以上是关于joomla 组件不适用于我的主机帐户的主要内容,如果未能解决你的问题,请参考以下文章