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/sfWebBrowserPlugin3. stworzyłem sobie moduł np. content
<?php
/**
* content actions.
*
* @package partytime
* @subpackage content
* @author Your name here
* @version SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
*/
class contentActions extends sfActions
{
/**
* Executes index action
*
*/
public function executeIndex()
{
$this->forward('default', 'module');
}
public function executeAktualnosci()
{
$arrRequest = $this->getRequest()->getParameterHolder()->getAll(); // pobranie wszystkich parametrow z adresu url
$strRequest = 'index.php?';
foreach ( $arrRequest as $strName => $strValue ){
$strRequest .= '&'.$strName.'='.$strValue;
}
$b = new sfWebBrowser();
$b->get('http://localhost/joomla/'.$strRequest);//
$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. */
}
}
?>
aktualnosciSuccess.php
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=50Mi 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).