www.arhetstudio.ru

Joomla

Во внешнем файле Joomla получить языковой перевод (файл)

Возникла такая мелкая задача, загрузка языкового файла Joomla к внешнему файлу. Подцепляем.

$lang =& JFactory::getLanguage();
$lang->load('lib_joomla', JPATH_ROOT , 'ru-RU', true);

Вместо lib_joomla указываем нужный файл.

Внешний файл Joomla: Error: Failed to start application

Создал я внешний файл (external file) для Joomla.

<?php

header('Content-Type: text/html; charset=utf-8');

define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__) );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');

JFactory::getApplication('site')->initialise();

Все как положено. Ничего криминального.

Error: Failed to start application: Failed to start the session because headers have already been sent by

Жутко ей не нравится JFactory. Удаляешь строку JFactory::getApplication('site')->initialise все работает. Причем еще сволочь срабатывает на JFactory::getUser. При JFactory::getDbo ошибки не выдает.

Мозг сломал. Думал баг какой-то в самой версии Joomla. Решение оказалось весьма банальным. Файл был UTF-8 с кодировкой BOM. Сохранить файл в кодировке в UTF-8 без BOM. Будьте аккуратны =)