2014-11-21 133 views
-2

(!) Fatal error: require(): Failed opening required '' /mvc_controller.php on line 265WordPress的致命錯誤:要求():打開失敗需要

我,儘管在論壇試圖這麼多的建議,stackexchange等得到這個上面的錯誤

我使用WP開發插件在WordPress 4.0.1 MVC,它還封裝了使用WP MVC內置的ORM概念。我找不到解決方案。

下面是代碼: (公共控制器)

/app/controllers/geozone_rules_controller.php

<?php 

class GeozoneRulesController extends MvcPublicController { 

    var $after = array('set_geozonerules'); 

     public function set_geozonerules() { 
      $this->load_model('GeozoneRule');   
      $geozonerules = $this->GeozoneRule->find(); 
      $this->set('geozonerules', $geozonerules); 
     } 

     // Overwrite the default index() method to include the 'is_public' => true condition 
     public function index() { 

     $objects = $this->GeozoneRule->find(array(
            'joins'  => array('Geozone', 'Country', 'Zone'), 
            'includes' => array('Geozone', 'Country', 'Zone'), 
            'selects' => array('Geozone.id, Geozone.geozone_name', 
                array('Country.id, Country.country_name', 
                array('Zone.id', 'Zone.zone_name', 
                array('GeozoneRule.id', 'GeozoneRule.ordering') 
                ) 
              ))) 
            ); 
     $this->set('objects', $objects); 

     // pagination 
     $this->params['page'] = empty($this->params['page']) ? 1 : $this->params['page']; 
     $this->params['conditions'] = array('is_public' => true); 
     $collection = $this->model->paginate($this->params); 
     $this->set('objects', $collection['objects']); 
     $this->set_pagination($collection); 

     echo '<a href="admin.php?page=mvc_geozone_rules-add">Add New Geozone Rule</a>'; 

    } 

    // GeozoneRule selects only GeozoneRule names and ids by default; to select all fields from GeozoneRule, 
    // we'll overwrite the default show() method 
    public function show() { 

     $object = $this->model->find_by_id($this->params['id'], array(
      'includes' => array(
          'Geozone', 
          'Country', 
          'Zone', 
          'GeozoneRule' => array(
               'selects' => 'GeozoneRule.*' 
               ) 
          ) 
          )); 

     if (!empty($object)) { 
      $this->set('object', $object); 
      $this->render_view('show', array('layout' => 'public')); 
     } 
    } 
} 

?> 

型號:

<?php 

class GeozoneRule extends MvcModel { 

    var $table = '{prefix}w2store_geozonerules'; 
    var $primary_key = 'id'; 
    var $display_field = 'id'; 
    var $default_order = 'sort_name'; 
    var $includes = array('Geozone', 'Country', 'Zone'); 

    var $has_and_belongs_to_many = array(
         'GeozoneRule' => array(
             'join_table' => array('{prefix}w2store_geozones', 
                  'fields' => array('id', 'geozone_name')), 
                 array('{prefix}w2store_countries', 
                  'fields' => array('id', 'country_name')), 
                 array('{prefix}w2store_zones', 
                  'fields' => array('id', 'zone_name')), 
                  'fields' => array('id', 'ordering') 
                  ) 
             ); 

    public function after_find($object) { 
     if (isset($object->geozonerules)) { 
      $geozonerule_names = array(); 
      foreach($object->geozonerules as $geozonerule) { 
       $geozonerule_names[] = $geozonerule->name; 
      } 
     } 

    // print_r ($object); 
    // exit; 
    } 

    public function after_save($object) { 
     $this->update_sort_name($object); 
    } 

    public function update_sort_name($object) { 

     $sort_name = $object->geozonerule_name; 
     $this->update($object->__id, array('sort_name' => $sort_name)); 
    } 


} 

?> 

現在的錯誤我得到了:

Warning: require(): Filename cannot be empty in /mvc_controller.php 

on line 265 Call Stack Time Memory Function Location . . 11 0.0659 3870616

任何可能的解決方案都會有很大的幫助。非常感謝。

+1

您顯示了除了重要部分之外的所有代碼:265行上的'mvc_controller.php' – 2014-11-21 13:22:08

+0

行#265 mvc_controller.php:\t \t需要$ filepath; – 2014-11-21 13:50:22

+0

和$ filepath是什麼? – 2014-11-21 14:01:11

回答

0

問題解決。簡單的錯誤引起了大量的爭論。

在views/admin /文件夾中,名稱爲「geozonerules」的GeozoneRule模型的文件夾已重命名爲「geozone_rules」。現在沒問題。

文件夾和文件的命名需要特別注意。

謝謝大家。

相關問題