Mam problem z integracją tego pluginu.
Opisze wam wszystkie kroki w jakich postępuje
Instaluje plugin [pojawia się błąd Deprecated: Function set_magic_quotes_runtime() is deprecated ale jest to błąd php 5.3.0], plugin zostaje pomyślnie zainstalowany, odnośniki pojawiają się we wszystkich plikach.
Zgodnie z instrukcją zamieszczoną tu: http://www.symfony-project.org/plugins/dsExtDirectPlugin
mój app.yml po modyfikacjach wygląda tak
# You can find more information about this file on the symfony website: # <a href="http://www.symfony-project.org/reference/1_4/en/11-App" target="_blank">http://www.symfony-project.org/reference/1_4/en/11-App</a> # default values all: ds_ext_direct_plugin:
mój factories.yml tak
# You can find more information about this file on the symfony website: # <a href="http://www.symfony-project.org/reference/1_4/en/05-Factories" target="_blank">http://www.symfony-project.org/reference/1_4/en/05-Factories</a> prod: logger: class: sfNoLogger param: level: err loggers: ~ test: storage: class: sfSessionTestStorage param: session_path: %SF_TEST_CACHE_DIR%/sessions response: class: sfWebResponse param: send_http_headers: false mailer: param: delivery_strategy: none dev: mailer: param: delivery_strategy: none all: routing: class: sfPatternRouting param: generate_shortest_url: true extra_parameters_as_query_string: true view_cache_manager: class: sfViewCacheManager param: cache_key_use_vary_headers: true cache_key_use_host_name: true [b]extdirect: controller: class: dsExtDirectController[/b]
Wykonuje polecenie generate:app main i doctrine: build -all
Na końcu
doctrine:generate-module main media media
Wszystko jest ok!
Dodajemy odwołanie do naszego ext_api w pliku action.class [pogrubione]
<?php /** * media actions. * @package extplugin * @extdirect-enable * @extdirect-len 1 * @subpackage media * @author Your name here * @version SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $ */ class mediaActions extends sfActions { public function executeIndex(sfWebRequest $request) { $this->medias = Doctrine::getTable('Media') ->createQuery('a') ->execute(); } public function executeNew(sfWebRequest $request) { $this->form = new MediaForm(); } public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); $this->form = new MediaForm(); $this->processForm($request, $this->form); $this->setTemplate('new'); } public function executeEdit(sfWebRequest $request) { $this->form = new MediaForm($media); } public function executeUpdate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT)); $this->form = new MediaForm($media); $this->processForm($request, $this->form); $this->setTemplate('edit'); } public function executeDelete(sfWebRequest $request) { $request->checkCSRFProtection(); $media->delete(); $this->redirect('media/index'); } [b] public function executeMultiply() { $num = $this->getRequestParameter('number'); $this->result = $num * 8; } else { $this->result = false; } return sfView::SUCCESS; }[/b] protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $media = $form->save(); $this->redirect('media/edit?id='.$media->getId()); } } }
Teraz pola użyć naszego nowego polecenia, które generuje extJS dla aplikacji
extdirect:generate-api main
W wyniku pojawia się pusty plik [nie dokładnie pusty]
extdirect_api.yml
# DO NOT MODIFY # Generated by extdirect:generate-api task { }
Moje pytanie brzmi dlaczego jest on pusty, czy nie powinien wygenerować powiązań między symfony a pluginem?
Pozdrawiam