尝试将一些在Joomla 2.5.14中运行良好的自定义组件迁移到Joomla 3.1.5,但是会出现一些错误,例如Joomla Backend&前端的其他错误
Jooma 2.5到3x系列是否有任何迁移指南,需要在自定义组件中进行哪些更改
网站的前端部分 第一个错误
Notice: Use of undefined constant DS - assumed 'DS' in forms.php
第二次错误
Warning: require_once(com_formsDScontroller.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in forms.php
第3次错误
Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'com_formsDScontroller.php' (include_path='.;C:\php\pear') in forms.php
显示forms.php的所有错误都是
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( JPATH_COMPONENT.DS.'controller.php' );
if ($controller = JRequest::getWord('controller')) {
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
if (file_exists($path)) {
require_once $path;
} else {
$controller = '';
}
}
$classname = 'FormsController'.$controller;
$controller = new $classname();
$controller->execute( JRequest::getVar( 'layout' ) );
$controller->redirect();
?>
答案 0 :(得分:1)
添加以下行
defined( '_JEXEC' ) or die( 'Restricted access' );
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
来自docs
DS常量已被删除。如果你真的需要它,你可以使用 而是DIRECTORY_SEPARATOR。