2010-02-26 165 views
0

我试图找到一种方法来整合我的网站,使用Symfony与我的结算系统编码,WHMCS如何将symfony网站与whmcs集成

我试过是创造一个新的symfony模块调用WHMCS和模块中,我用ob_start/require_once/ob_get_contents中检索的页面,但它一直导致一个空白页的第一件事,没有任何错误的日志或其他地方。既然这将成为导航噩梦,我放弃了这个想法。

我的第二个想法是利用WHMCS hooks system。到目前为止,除了一件事外它工作。我不知道如何调用我的layout.php文件。这里是我当前的代码:

function getSymfonyLayout() 
{ 
    require_once($_SERVER['DOCUMENT_ROOT'].'/../config/ProjectConfiguration.class.php'); 
    $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true); 
    $context = sfContext::createInstance($configuration); 
    $context->getRequest()->setRelativeUrlRoot(''); 
    $context->getInstance()->getConfiguration()->loadHelpers('Partial'); 
    echo get_partial("global/header"); 
} 

add_hook("ClientAreaPage",1,"getSymfonyLayout"); 

我在这里的问题是,虽然标题做负载,没有元,没有CSS,JavaScript的没有。这些设置保存在我的view.yml文件中,部分文件不会加载该文件。

我需要找到一种方法,像做echo get_layout("layout");echo get_methodaction("whmcs", "index");

这也可能是一些愚蠢的,但我已经准备直通维基,论坛和我的symfony的书,我只是找不到我需要的代码使用。

回答

3

尝试使用卷曲

$url = 'your symfony url'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
$data = curl_exec($ch); 
echo $data; 

上面的代码发送一个卷曲的请求的url $url

$query_string是你要张贴到网页,如果需要

数据
$query_string = ""; 
foreach ($postfields AS $k => $v) 
    $query_string .= "$k=" . urlencode($v) . "&"; 

$query_string = trim($query_string, '&'); 

其中$postfields是要发送的参数数组 Addit ionally您可以发送跨域Ajax请求(如果你使用jQuery,你只需设置$.ajax选项dataTypejsonp),并且将只加载动作的内容部分(不包括样式表和JavaScript的)

+0

刚试过帮助 :) – 2012-11-29 13:15:53