0

このチュートリアルでsfFacebookConnectPluginを使用してFBアプリケーションのデモを作成しようとしていますが、些細な問題がありますが、それでも修正できません(1.4を使用するiam symfonyの初心者)。私はターミナルコマンドでこのプラグインをインストールしました:

  • sfDoctrineGuardPlugin
  • sfFacebookConnectPlugin

私はそれらをアクティブにしました:

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
      if (function_exists('date_default_timezone_set')) {
        date_default_timezone_set(@date_default_timezone_get());
      }
    $this->enablePlugins('sfDoctrinePlugin');
    $this->enablePlugins('sfBehatPlugin');
    $this->enablePlugins('sfDoctrineGuardPlugin');
    $this->enablePlugins('sfFacebookConnectPlugin');
  }
}

しかし、iamが私のレイアウトで使用している場合:

<?php use_helper('sfFacebookConnect')?>

このエラーが発生しました:

Unable to load "sfFacebookConnectHelper.php" helper
in: SF_ROOT_DIR/apps/frontend/modules/main/lib/helper,
SF_ROOT_DIR/apps/frontend/lib/helper,
SF_ROOT_DIR/lib/helper,
SF_SYMFONY_LIB_DIR/helper.

ヘルパーが/home/palmic/www/behattest/plugins/lib/helper/sfFacebookConnectHelper.phpに存在している間

symfonyにそこからロードするように指示するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

問題はプラグイン自体にあり、ヘルパーと他のlibクラスはplugins / <plugin-name> / libディレクトリにある必要があるため、プラグインヘルパーは次の場所にある必要があります。

plugins/<plugin-name>/lib/helper

plugins/libにはありません。

于 2010-12-04T11:20:27.963 に答える
1

SF_ROOT_DIR/lib/helper一時的な修正として(プラグインを作成した開発者がヘルパーを移動するまで)、次のコードを含む独自のsfFacebookConnectHelperファイルを作成できます。

<?php
require_once dirname(__FILE__) . '/../../plugins/sfFacebookConnectPlugin/lib/sfFacebookConnectHelper.php';

そのパスは間違っている可能性があるので、ヘルパーがいる場所を指すだけです。

その後もコードで使用でき<?php use_helper('sfFacebookConnect')?>、実際のヘルパーが正しいフォルダーに移動したら、このファイルを削除するだけです。

また、小さなヒント。ProjectConfigurationファイルを繰り返し呼び出す代わりに、次の$this->enablePlugins()操作を実行できます。

$this->enablePlugins(array(
  'sfDoctrinePlugin',
  'sfBehatPlugin',
  'sfDoctrineGuardPlugin',
  'sfFacebookConnectPlugin'
));
于 2010-12-04T21:47:14.303 に答える