2017-02-12 5 views
0

Я использую модульные расширения - HMCV в codeigniter. Внутри моей папки модулей у меня есть модуль с именем template, customer, common. Каждый из них имеет следующие папки controllers, models, views и language и внутри language У меня есть english папка.Невозможно загрузить требуемый языковой файл: Codeigniter HMVC

Мой template.php выглядит следующим образом

<?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 

    class Template extends Frontend_controller { 

public function __construct(){ 

    parent::__construct(); 
} 

public function informational_pages($data){ 

    $header['text_title'] = $data['text_title']; 
    $header['meta_description'] = $data['meta_description']; 
    $header['meta_robots'] = $data['meta_robots']; 
    $header['meta_keywords'] = $data['meta_keywords']; 
    $header['active'] = $data['active']; 

    $data['header'] = Modules::run('common/load_header', $header); 
    $data['sign_in'] = Modules::run('customer/sign_in'); 
    $data['sign_up'] = Modules::run('customer/sign_up'); 
    $data['reviews'] = Modules::run('common/load_reviews');  
    $data['side_bar_widgets'] = Modules::run('common/load_side_bar_widgets'); 
    $data['footer'] = Modules::run('common/load_footer'); 

    $this->load->view('informational_pages', $data); 

    }//end method informational_pages 

}//end class 

Это где я звоню модули, которые будут использоваться с этим шаблоном. Я звоню customer/sign_in и customer/sign_up, чтобы загрузить знаки sign_in и sign_up на каждой странице, так как у меня есть sign_in и sign_up ссылки в заголовке (navbar).

Мой Customer.php выглядит следующим образом

<?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 

class Customer extends Frontend_controller { 

public function __construct(){ 

parent::__construct(); 

    $this->load->model('customer_model'); 
    $this->load->library('form_validation'); 

} 

public function forgot_password(){ 

     $this->lang->load('forgot_password', 'english'); 

     $view_data['text_heading'] = $this->lang->line('text_heading'); 
     $view_data['entry_email'] = $this->lang->line('entry_email'); 
     $view_data['button_submit'] = $this->lang->line('button_submit'); 
     $view_data['action'] = base_url().'customer/forgot_password'; 
     $loading['id_loading'] = $this->lang->line('id_loading'); 
     $view_data['loading'] = Modules::run('/common/load_loading_gif', $loading); 

     $data['text_title'] = $this->lang->line('text_title'); 
     $data['meta_description'] = $this->lang->line('meta_description'); 
     $data['meta_robots'] = $this->lang->line('meta_robots'); 
     $data['meta_keywords'] = $this->lang->line('meta_keywords'); 
     $data['active'] = ''; 
     $data['view_file'] = 'forgot_password'; 
     $data['view_data'] = $view_data; 
     $data['module'] = 'customer'; 
     echo Modules::run('template/informational_pages', $data); 

}//end method forgot_password 

    public function sign_in(){ 

     $this->lang->load('sign_in', 'english'); 

     $data['text_sign_in'] = $this->lang->line('text_sign_in'); 
     $data['text_remember_me'] = $this->lang->line('text_remember_me'); 
     $data['text_sign_up_here'] = $this->lang->line('text_sign_up_here'); 
     $data['text_forgot_password'] = $this->lang->line('text_forgot_password'); 
     $data['entry_email'] = $this->lang->line('entry_email'); 
     $data['entry_password'] = $this->lang->line('entry_password'); 
     $data['button_sign_in'] = $this->lang->line('button_sign_in'); 
     $data['action'] = base_url().'customer/sign_in'; 
     $loading['id_loading'] = $this->lang->line('id_loading'); 

     $data['loading'] = Modules::run('/common/load_loading_gif', $loading); 

     $this->load->view('sign_in', $data); 


    }//end method sign_in 


    }//end class 

Контроллеры расширения Frontend_controller, который проходит в MX_Controller core/MY_Controller

Когда я бегу клиента/forgot_password я получаю Не удалось загрузить требуемый файл языка : язык/английский/sign_in_lang.php сообщение об ошибке

Примечание: sign_in_lang.php в customer/language/english так как это forgot_password_lang.php

Примечание: В моих config.php меня $config['language'] = 'english';

ответ

0

Загрузите lang файлы, как это ..

$this->lang->load('customer/forgot_password'); 

И

$this->lang->load('customer/sign_in'); 
+0

Nop e он, похоже, не работает либо – facilitator

+0

работает отлично здесь. Загрузите внутри '__construct()'. Конструирование вашего контроллера. –