Witam,

Mam dość nietypowy problem.

Używam duetu sfGuardUser i sfGuardUserProfile. Chciałem użyć pluginu sfPropelActAsCommentableBehaviorPlugin podpinając go pod sfGuardUserProfile. Problemem jest to, że ów plugin używa metody $object->getPrimaryKey(), co skutecznie uniemożliwia mi implementację, bo sfGuardUserProfile identyfikator użytkownika zwraca z pola będącego kluczem obcym poprzez metodę sfGuardUserProfile::getUserId(), a sfGuardUserProfile::getPrimaryId() zwraca sfGuardUserProfile::getId(). Reasumując. Chcę podpiąć ten plugin komentarzy, ale jako identyfikatoya użyć klucza obcego sfGuardUserProfile::getUserId(). Dodam jeszcze, że nie chcę podpinać tego pluginu bezpośrednio pod sfGuardUser

1. Metoda polegałaby na przebudowie modelu sfGuardUserProfile tak, aby pole ID było jednocześnie kluczem obcym i głównym. Niestety, nie wiem jaki to może mieć wpływ na późniejsze zachowanie się innych pluginów związanych z sfGuardUserProfile.

2. Metoda polegająca na przepisaniu kodu pluginu sfPropelActAsCommentableBehaviorPlugin tak, aby możliwe było ustawienie dowolnej metody jako metody zwracającej identyfikator komentowanego obiektu.

3. Metoda - zhackowanie metody sfGuardUserProfile::getPrimaryKey() tak, aby zwracała w pewnych okolicznościach USER_ID, zamiast ID

Który pomysł najlepszy? Może jakiś inny? Może ktoś już coś takiego przechodził?

Pozdrawiam i z góry dziękuję za ewentualne odpowiedzi smile.gif


--edit
Na razie przepisałem plugin dadając do niego opcje wyboru pola-klucza smile.gif