Symfony 프레임 워크에 2 가지 응용 프로그램이 있습니다 : 백엔드와 프론트 엔드.여러 앱에서 사용할 수있는 템플릿에 가장 적합한 장소는 무엇입니까?
두 앱에서 사용중인 템플릿을 사용할 수 있습니까?
그렇다면 템플릿을 넣을 수있는 가장 좋은 장소는 무엇입니까?
Symfony 프레임 워크에 2 가지 응용 프로그램이 있습니다 : 백엔드와 프론트 엔드.여러 앱에서 사용할 수있는 템플릿에 가장 적합한 장소는 무엇입니까?
두 앱에서 사용중인 템플릿을 사용할 수 있습니까?
그렇다면 템플릿을 넣을 수있는 가장 좋은 장소는 무엇입니까?
내가 과거에 이것을 극복 할 수 있었던 유일한 방법은 공유 된 부분을위한 플러그인을 만드는 것이 었습니다.
IE하십시오 모듈 폴더를 생성, TemplatesPlugin이 내
라는 플러그인 아래의 폴더를 만들고 그 안에, 일반 모듈의 폴더 구조를 만들 수 있습니다. 템플릿 경로의
예 :
sf_root/plugins/TemplatesPlugin/modules/book/pageSuccess.php
sf_root/plugins/TemplatesPlugin/modules/book/_title.php
플러그인을 확인이 설정에서 활성화되어/당신이 enableAllPluginsExcept를 사용하는 경우 ProjectConfiguration.class.php은 (는 것, 그렇지 않으면 플러그인의 배열에 추가해야 이미 거기에 있어야합니다).
그러면 예를 들어, 다른 템플릿으로 이러한 템플릿에 액세스 할 수 있습니다
include_partial('book/title', array('title'=>'hello'));
을이 해킹의 비트를 느낀다 동안, 꽤 잘 작동합니다.
아직 심포니 전문가가 아닙니다. ("심포니에 대한 확실한 안내서"를 이미 읽었습니다.) 실수를 할 수 있습니다.
공식 문서에 다른 응용 프로그램의 공통 템플릿에 대한 언급이 없습니다. 단일 응용 프로그램 내 공통 템플릿 에 가장 적합한 디렉토리는입니다. apps/templates /.
누군가가 답을 알고있을 수도 있습니다. 읽는 것이 재미있을 것입니다. 행운을 비네.
플러그인을 사용하는 것보다 간단한 방법이 있습니다. this post을보십시오.
그는 단지 apps/appName/config/appNameConfigurations.class.php
에서 응용 프로그램 구성을 확장하고 있습니다 :
class appNameConfiguration extends sfApplicationConfiguration {
public function configure() {
sfConfig::set('sf_app_template_dir', sfConfig::get('sf_root_dir') . '/templates');
}
}
이러한 접근 방식은 나에게 청소기 보인다. 심포니가 템플릿을 찾거나 그냥 설정하는 경로를 확장 할 수 있는지 여부는 알 수 없습니다.
플러그인의 모듈에있는 파일의 이름이 고유해야한다는 것을 알게되었습니다. (예) 책이 프로젝트에 이미 존재하고 플러그인에서 만들면 기존 모듈 책 (백엔드 또는 프론트 엔드에 있음)에서 먼저 페이지를 검색 한 다음 플러그인 폴더에서 페이지를 검색하려고 시도합니다. 충돌이 일어나지 않도록하려면 플러그인에서 고유 한 모듈 이름도 사용하십시오. – Gerbrand
예, 좋은 지적입니다. 또한 강력한 기능 일 수도 있습니다. 플러그인에서 하나의 템플릿을 오버 라이드하거나 앱의 전체 플러그인을 복제하거나 플러그인 파일을 편집 할 필요가 없습니다. – benlumley