2014-01-09 4 views
2

Я пытаюсь получить доступ к методам joomla из файла php на том же сервере.Доступ к помощникам joomla из внешнего php-файла

$shop_directory = '/var/www/components/com_shop'; 
$base_directory = '/var/www'; 

define('_JEXEC', 1); 
define('JPATH_BASE', $base_directory); 
define('JPATH_COMPONENT', $shop_directory); 
define('DS', '/'); 
require_once(JPATH_COMPONENT.DS.'helpers'.DS.'helpers.php'); 
require_once(JPATH_COMPONENT.DS.'helpers'.DS.'dbo.php'); 
require_once(JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'factory.php'); 

Когда я пытаюсь вставить данные в базу данных, ничего не происходит

$db = JFactory::getDbo('database_name'); 
$query = "INSERT INTO `payment_info` VALUES ( 
        '', 
        '".$order_id."', 
        '".$customer_id."');"; 
$db->setQuery($query); 
$db->query(); 

Thx

ответ

2

Попробуйте это,

define('_JEXEC', 1); 
define('JPATH_BASE', dirname(__FILE__));//this is when we are in the root 
define('DS', DIRECTORY_SEPARATOR); 

require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 

$db = JFactory::getDbo();//Db object do not require database name 
$query = "INSERT INTO `payment_info` VALUES ( 

        '".$order_id."', 
        '".$customer_id."')"; 
$db->setQuery($query); 
$db->query(); 

Надежда свои работы ..

+0

благодарственное вы за свою помощь, но результата нет :( – Mazeltov

+0

define ('JPATH_BASE', dirname (__ FILE__)); правильно настройте свой путь –

+1

Путь, который вы должны установить, - установка Joomla, например: эта страница php находится под корнем, а установка Joomla также находится в корне. Тогда точно так же, как выше, код другой, вам нужно настроить путь в соответствии с установкой Joomla. Он будет работать –