【问题标题】:joomla 2.5 ajax apijoomla 2.5 ajax api
【发布时间】:2012-09-23 02:14:31
【问题描述】:

我想为我的 joomla 页面设置一些小的 ajax 支持,详细说明:我想通过 ajax 将日志消息从前端发送到后端并将它们存储在数据库中。

在drupal中,这可以通过在模块内添加路径和回调来完成,那么如何在joomla 2.5中实现,以便有一个像这样的url:

http://www.domain.com/log 导致函数调用?

你好..

【问题讨论】:

  • 导致一个组件......不是有什么东西负担不起吗?
  • @philipp 我已经通过创建一个独立工作的 ajax 帮助文件来做到这一点,但是如果你想要最好的解决方案,你最好为它创建一个组件
  • 这正是想要避免的,但似乎没有其他办法......另一方面,为日志创建视图更容易......

标签: ajax joomla2.5


【解决方案1】:

正确的方法是创建一个组件来处理调用,但在大多数情况下,对于一个模块来说似乎有点矫枉过正。 另一种方法是创建一个使用 Joomla 库的独立 php 文件。然后可以轻松地从您喜欢的任何地方调用此文件。它就像 Joomla 的迷你版,具有所有库都可用的优势:

define( 'DS', DIRECTORY_SEPARATOR );
if (!defined('JPATH_BASE')){
    define('JPATH_BASE', '..'.DS.'..'.DS.'..');
}
define('JPATH_LIBRARIES', JPATH_BASE . DS . 'libraries');
require_once JPATH_LIBRARIES . DS . 'import.php';
$var = JRequest::getVar('my_var');

要访问 DB-object,您需要手动设置 DB-object 的选项,因为该文件不会访问配置文件(您当然可以对此进行编程)。

$option = array(); //prevent problems  
$option['driver']   = 'mysql';            // Database driver name 
$option['host']     = 'db.myhost.com';    // Database host name 
$option['user']     = 'myuser';       // User for database authentication 
$option['password'] = 'mypass';   // Password for database authentication 
$option['database'] = 'bigdatabase';      // Database name 
$option['prefix']   = 'abc_';             // Database prefix (may be empty)  
$db = & JDatabase::getInstance( $option );

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2014-07-10
    • 2013-04-07
    • 2014-04-09
    • 2013-03-28
    • 2013-03-11
    相关资源
    最近更新 更多