【问题标题】:Migrating from Joomla 2.5 to 3x Generating Errors从 Joomla 2.5 迁移到 3x 生成错误
【发布时间】:2013-09-01 09:51:46
【问题描述】:

尝试将一些在 Joomla 2.5.14 中运行良好的自定义组件迁移到 Joomla 3.1.5,但出现一些错误,例如 - 在 Joomla 后端中找不到 404 组件和前端中的其他错误

是否有任何从 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

第三次错误

  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();
    ?>

【问题讨论】:

    标签: joomla joomla2.5 joomla3.1


    【解决方案1】:

    添加下面一行

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

    来自docs

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

    Similar Question

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多