将独立的Drupal页面调用到第二个PHP脚本中

时间:2017-02-16 17:01:26

标签: php drupal phpword

简而言之,我尝试使用PHPWord和从Drupal站点/数据库中提取的独立Drupal脚本将数据从Drupal输出到Word。但是,独立的Drupal脚本与PHPWord冲突,因此可以解决...

我创建了一个独立的Drupal页面来执行EntityFieldQuery以返回多个节点。这是该剧本的精髓......

<?php
    $drupal_root = $_SERVER['DOCUMENT_ROOT'];
    chdir($drupal_root);
    define('DRUPAL_ROOT', getcwd());
    require_once './includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    drupal_flush_all_caches();
    drupal_page_is_cacheable(FALSE);

    $reference = 'OURREFERENCE'

    $query = new EntityFieldQuery();

    $result = $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', 'CONTENT_TYPE')               
        ->fieldCondition('field_reference','value', $reference, '=')
        ->execute();      

    if(count($result) > 0){     
        $nids = array_keys($result['node']);
        $nodes = node_load_multiple($nids); 
    }else{
        $output = 'Error creating the word document';
    }

    return $nodes
?>

我试图将此PHP脚本的输出包含在另一个PHP脚本中,如下所示:

<?php
    include("competition_data.php");
?>

然而,因为它包含它只是将代码添加到第二页并将其作为该页面的一部分执行,而是我想执行它并将节点数组返回到第二个脚本。

我还在Stack上的其他一些问题后尝试了EXEC和SHELL_EXEC。

任何帮助都将不胜感激。

其他信息 我遇到的问题是由包含文件引起的冲突。我试图将整个脚本放入一个独立的PHP脚本中,包括Drupal连接。然而,这导致了PHPWord和Drupal的module.inc之间的冲突。因此,我的下一个逻辑步骤是分离这两个部分 - 一个查询Drupal并输出JSON的脚本,然后我能够进入第二个PHP脚本在PHPWord方面工作。在我的例子中是一个预定义的单词模板,其中我在文本中替换现在Json字符串中保存的变量的变量。对不起,我把json留在了上面,因为我只是想传达一下包含问题。所以简而言之,我想在第二个文件中调用第一个PHP脚本 - 但它需要执行并返回其输出,而不是作为第二个文件的添加运行。

0 个答案:

没有答案