Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][joomla] Integracja frameworka z CMS
Forum PHP.pl > Forum > PHP > Frameworki
kaniagandzowski
Mam stworzony projekt w symfony 1.1 ale brakuje mi jeszcze CMS. Niestety dla wspomnianej wersji symfony 1.1 nie ma jeszcze dopracowanych pluginów CMS.

Myślałem o wykorzystaniu już sprawdzonych CMS Joomli 1.5. Istnieją pluginy dla symfony 1.0 integrujące go z CMS Joomli sfJoomla15BridgePlugin lecz z dołączonej dokumentacji nie potrafię wywnioskować jak tego dokonać.
CMS służyłby do wprowadzania akrykułów, no i może wykorzystałbym jeszcze pare innych komponentów Joomli.

Ma ktoś doświadczenie z podobnym problemem?

Wie ktoś jak wykorzystać wspomniany plugin do integracji Symfony i Joomli?
Krótko ujmująć potrzebuje w wybranej akcji symfony odpalić komponent joomli.
Z góry dzięki za pomoc.
Cysiaczek
Ja nie wiem, ale dołączam się do prośby, bo chętnie dowiem się jak to działa (i dodatkowo, czy warto).
kaniagandzowski
Wymiękam, nie wiem jak to rozwiązać ten problem. Siedziałem kilka dni i nic.

Nawet skontaktowałem się z autorem tego pluginu z prośbą o udostępnienie przykładu z jego strony www(uprzednio strona z przykładem nie działała - błąd 404 ).

Mimo wglądu do przykładu to kompletnie nie wiem jak to zrobić aby działało w symfony 1.1. dla joomli 1.5. Przykład na stronie http://snippets.strangebuzz.com/snippet/sy...e-en-deprecated tyczy się symfony 1.0 dla joomli 1.0.12.

Tak więc wpadłem na inny pomysł. Chciał bym usłyszeć opinie na temat mojego rozwiązania. Co sądzicie o tym. W sumie spełnia moje zadanie. I nawet o dziwo dobrze to mi działa.

A mianowicie zrobiłem tak

1. Zainstalowałem standardowo joomle 1.5 i skonfigurowałem tak aby można było wywołać pod adresem np. http://localhost/joomla. Do tego powyrzucałem nie potrzebne ozdoby z szablonu tak aby ładnie się wpasował wygląd generowany przez symfony. To co nie potrzebowałem wyciąłem.
2. dodałem do symfony plugin sfWebBrowserPlugin http://www.symfony-project.org/plugins/sfWebBrowserPlugin

3. stworzyłem sobie moduł np. content
  1. <?php
  2.  
  3. /**
  4.  * content actions.
  5.  *
  6.  * @package    partytime
  7.  * @subpackage content
  8.  * @author     Your name here
  9.  * @version    SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
  10.  */
  11. class contentActions extends sfActions
  12. {
  13.  /**
  14.    * Executes index action
  15.    *
  16.    */
  17.  public function executeIndex()
  18.  {
  19.    $this->forward('default', 'module');
  20.  }
  21.  
  22.    
  23.  public function executeAktualnosci()
  24.  {
  25.    $arrRequest = $this->getRequest()->getParameterHolder()->getAll(); // pobranie wszystkich parametrow z adresu url
  26.  
  27.      $strRequest = 'index.php?';
  28.      foreach ( $arrRequest as $strName => $strValue ){
  29.          $strRequest .= '&'.$strName.'='.$strValue;
  30.      }
  31.      
  32.      $b = new sfWebBrowser();
  33.    $b->get('http://localhost/joomla/'.$strRequest);//
  34.  
  35.      $this->res = ereg_replace('/joomla/index.php', 'http://localhost/PartyTime.pl/web/frontend_dev.php/content/aktualnosci/', $b->getResponseText()  ); /*zamieniam adresy url na adresy wskazujace na symfony a dokladnie na content/aktualnosci/ aby po kliknięciu w linka wywołał metode  executeAktualnosci() która to pózniej wywoła stronę joomli z opdowiednimi przekazanymi w adresie parametrami.
  36.   */
  37.  
  38.  }
  39. }
  40. ?>

aktualnosciSuccess.php
  1. <?php echo $res ?>


Zasada działania metody executeAktualnosci :

- Zbiera wszystkie parametry z adresu url,
- wywołuje stronę joomli i zapisuje stronę www (kod html) do zmiennej, gdzie później funckja ereg_replace zmienia wszystkie adresy url wskazujące bezpośrednio na joomle http://localhost/joomla na http://localhost/symfony/content/aktualnosci/
Tak aby każdy link kierował na symfony.

przykład url. http://localhost/PartyTime.pl/web/frontend...s&Itemid=50


Mi bardzo ładnie działa. Moim celem było tylko wyświetlanie artykułów wraz modułami (np. moduł wyświetlający najczęściej czytane artykuły).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.