从Joomla 2.5迁移到3x生成错误

时间:2013-08-29 05:25:23

标签: joomla joomla2.5 joomla3.1

尝试将一些在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();
    ?>

1 个答案:

答案 0 :(得分:1)

添加以下行

defined( '_JEXEC' ) or die( 'Restricted access' );
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);

来自docs

  

DS常量已被删除。如果你真的需要它,你可以使用   而是DIRECTORY_SEPARATOR。

Similar Question