Я использую модульные расширения - 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';
Nop e он, похоже, не работает либо – facilitator
работает отлично здесь. Загрузите внутри '__construct()'. Конструирование вашего контроллера. –