我试图找到一种方法来整合自己的网站,使用的Symfony我计费系统编码, WHMCS

我想的第一件事就是创建一个新的symfony模块调用WHMCS和模块中,我用ob_start / require_once / ob_get_contents中检索的页面,但它一直导致一个空白页,没有在日志或者任何地方的任何错误其他。由于这将是一个噩梦般的导航反正,我放弃了这个想法。

我的第二个想法是采取 WHMCS钩系统的优点。到目前为止,它的工作,除了一两件事。我不知道如何调用我的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的书,我只是找不到我需要使用的代码。

有帮助吗?

解决方案

在动作方法,使用:

$output = $this->getController()->getPresentationFor("module", "action");

这将使得指定的模块和动作进$output的输出;看到 http://www.symfony-project.org/api/1_2/sfController #method_getpresentationfor 获得细节

其他提示

尝试使用卷曲

$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是参数的阵列,以发送 此外可以发送跨域AJAX请求(如果您使用jQuery你只需设置$.ajax选项dataTypejsonp),并且将只加载动作的内容部分(不包括样式表和Javascript角)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top