【问题标题】:How to get the content of an article via a webservice on Joomla 2.5如何通过 Joomla 2.5 上的网络服务获取文章的内容
【发布时间】:2013-07-26 13:58:42
【问题描述】:

我需要获取我的 Joomla 网站上的一篇文章的内容。为了做到这一点,我打算编写一个简单的 PHP Web 服务来获取我文章的内容 (HTML)。但我就是不知道该怎么做。

我是 Joomla 的新手,从事网络开发和网络服务。我只想获取我文章的内容,以便在我的 ruby​​ on rails 网站上显示它。谁能解释我如何做到这一点?

【问题讨论】:

  • 据我所知,Joomla2.5 并没有提供简单的解决方案来做到这一点,因此您必须编写大量自定义代码才能做到这一点。远远超出我预期的任何人会在 StackOverflow 上为您写的内容。

标签: web-services joomla2.5


【解决方案1】:

好吧,这里至少有一个小贡献可以帮助您开始:可以使用“?id={您要检索的文章的 ID}”调用附加的代码,它会在屏幕上显示整个对象。 下一步:挑选您感兴趣的作品并将这些作品归还...

    <?php

    define('_JEXEC', 1);
    define('DS', DIRECTORY_SEPARATOR);

    $username="*** insert username ***";
    $password = "*** password here ***";

    if (!defined('_JDEFINES')) {
        define('JPATH_BASE', dirname(__FILE__));
        require_once JPATH_BASE.'/includes/defines.php';
    }

    require_once JPATH_BASE.'/includes/framework.php';

    // Mark afterLoad in the profiler.
    JDEBUG ? $_PROFILER->mark('afterLoad') : null;

    // Instantiate the application.
    $app = JFactory::getApplication('site');

    // Initialise the application.
    $app->initialise();
    $app ->login(
         array('username'=>$username,    
               'password'=>$password), 
         array('remember' => true)); 
    $dbo = JFactory::getDBO();

    $id=$_GET["id"];
    $art = JTable::getInstance('Content');
    $art->load($id);

    echo "<pre>";
    var_dump($art);
    echo"</pre>";

?>

【讨论】:

  • 是的,感谢您的快速回答,但我需要在 Joomla 上进行身份验证才能获取文章。我如何在我的 web 服务中使用 php 执行此操作?
  • 非常感谢,我开始了解 joomla 如何在 Web 浏览器之外操作网站。但是,当我登录时,我总是在页面上登录。我想在文章页面上。我可以通过登录页面来访问我的文章吗?
  • 您是否可以发布您编写的完整 .php 文件?
  • 我实际上使用的是你的,我只是添加了一些 xpath 代码(为了获取我文章的内容),实际上是评论:)
  • 对不起,我不明白你的问题。 (a) 无需登录即可阅读内容(即使是“特殊”文章也可以通过这种方法在未登录的情况下检索)和 (b) 当我执行此代码时,我绝不会带到登录页面。您是否将 .php 文件放在 Joomla 安装的根目录中(index.pgp 也位于其中)?
猜你喜欢
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
相关资源
最近更新 更多