将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