将Wordpress与Symfony集成

我有一个用Symfony 1.2构建的网站。我正在尝试将Wordpress 2.8.4集成到它中以支持我的博客。我遵循http://www.theodo.fr/blog/2009/03/integrate-wordpress-into-symfony/的说明,其中包括http://www.theodo.fr/blog/2009/03/integrate-wordpress-into-symfony/comment-page-1/#comment-573评论中的2个步骤。我的actions.class.php文件看起来像这样:将Wordpress与Symfony集成

<?php 

class sfWordpressActions extends sfActions

{

public function executeIndex(sfWebRequest $request)

{

// Don't load symfony's I18N

$standard_helpers = sfConfig::get('sf_standard_helpers');

$standard_helpers = array_diff($standard_helpers, array('I18N'));

sfConfig::set('sf_standard_helpers', $standard_helpers);

define('WP_USE_THEMES', true);

chdir(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'wordpress');

global $wpdb;

ob_start();

require_once('wp-blog-header.php');

$this->blog = ob_get_contents();

if (function_exists('is_feed') && is_feed())

{

ob_end_flush();

throw new sfStopException();

}

else

{

ob_end_clean();

}

}

}

?>

我indexSuccess.php的仅仅是

This is a test 

<?php echo $blog ?>

我的WP-博客 - 的header.php是

<?php 

/**

* Loads the WordPress environment and template.

*

* @package WordPress

*/

if (!isset($wp_did_header)) {

$wp_did_header = true;

require_once(dirname(__FILE__) . '/wp-load.php');

// @HACK FABRICE

// All variables defined here are considered global by Wordpress

$local_global_vars = get_defined_vars();

foreach($local_global_vars as $local_name => $local_value)

{

$GLOBALS[$local_name] = $local_value;

}

// Don't create new global variables ourselves, and do not overwrite other global variables, for example $name...

unset($local_name, $local_value, $local_global_vars);

// @HACK FABRICE

wp();

// @HACK Fabrice

global $posts;

// @HACK Fabrice

require_once(ABSPATH . WPINC . '/template-loader.php');

}

这里的我的问题:

事实上,当我进入页面时,我什么也没有得到。我的Symfony标题,没有Wordpress内容,没有任何东西。当我注释掉“require_once('wp-blog-header.php'');”在actions.class.php中,一切正常,但没有WordPress的内容。这让我相信Symfony在包含Wordpress内容的过程中正在死去。这可能如何解决?

回答:

我已经编写了关于theodo.fr的有用文章的后续指南,该文章适用于最新版本的WordPress,并且有升级步骤:http://blog.codeclarity.com/2009/12/02/integrating-symfony-and-wordpress/。我相信你的冲突是由Symfony和WordPress定义的esc_js函数。如果你在步骤4中运行我的命令,你应该很好地使用最新版本。希望有所帮助。

回答:

我试了一会儿,但无法让它在2.8.4中工作。我没有,但是,得到的只是一切与WordPress 2.7.1工作使用下面的链接和一些修补:

Step 1: Description of hacks necessary to make WordPress work inside Symfony.

Step 2: Share user information between Symfony and Wordpress

More code for step 2

Help setting up session database

以上是 将Wordpress与Symfony集成 的全部内容, 来源链接: utcz.com/qa/260766.html

回到顶部